did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780321267160

C# Software Solutions : Foundations of Program Design

by
  • ISBN13:

    9780321267160

  • ISBN10:

    0321267168

  • Edition: CD
  • Format: Paperback
  • Copyright: 2006-03-16
  • Publisher: Addison-Wesley

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $141.20 Save up to $35.30
  • Buy Used
    $105.90
    Add to Cart Free Shipping Icon Free Shipping

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Supplemental Materials

What is included with this book?

Summary

Lewis provides the most up-to-date introduction to the C# programming language. Takes an object oriented approach by covering C# for a beginning programmer. It provides both text-based and GUI-based examples to demonstrate computing concepts. It uses UML: Unified Modeling Language throughout to illustrate program designs. MARKET: For readers who want to learn how to program using the C# language.

Author Biography

John Lewis is an Associate Professor of Computer Science at Villanova University. Prof. Lewis is a member of the Association for Computing Machinery (ACM), the IEEE Computer Society, and Sigma Xi, the scientific research society. He has won numerous teaching awards, and is active in the ACM's Special Interest Group on Computer Science Education (SIGCSE).

Table of Contents

Preface v
Introduction
1(52)
Computer Processing
2(6)
Software Categories
3(1)
Digital Computers
4(2)
Binary Numbers
6(2)
Hardware Components
8(8)
Computer Architecture
8(3)
Input/Output Devices
11(1)
Main Memory and Secondary Memory
11(4)
The Central Processing Unit
15(1)
Networks
16(6)
Network Connections
17(1)
Local-Area Networks and Wide-Area Networks
18(1)
The Internet
18(2)
The World Wide Web
20(1)
Uniform Resource Locators
21(1)
The C# Programming Language
22(7)
A C# Program
23(2)
Debugging: Starting and Single Stepping Through the Program
25(1)
Program Structure
25(2)
Comments
27(1)
Identifiers and Reserved Words
28(1)
C# Identifiers
29(3)
White Space
30(2)
Program Development
32(7)
Programming Language Levels
32(2)
Editors, Compilers, and Interpreters
34(2)
Development Environments
36(1)
Syntax and Semantics
37(1)
Errors
38(1)
Object-Oriented Programming
39(14)
Problem Solving
39(1)
Object-Oriented Software Principles
40(13)
Data and Expressions
53(54)
Character Strings
54(6)
The Write and WriteLine Methods
54(2)
String Concatenation
56(2)
Escape Sequences
58(2)
Variables and Assignment
60(5)
Variables
60(2)
The Assignment Statement
62(2)
Constants
64(1)
Primitive Data Types
65(4)
Integers and Floating Points
65(1)
Signed and Unsigned Integers
66(1)
The Decimal Data Type
67(1)
Characters
67(2)
Booleans
69(1)
Expressions
69(7)
Arithmetic Operators
69(1)
Operator Precedence
70(4)
Increment and Decrement Operators
74(1)
Assignment Operators
75(1)
Data Conversion
76(3)
Conversion Techniques
78(1)
Interactive Programs
79(4)
Debugging: Breakpoints and Viewing Contents of Variables
82(1)
Windows-Based Applications
83(2)
Event-Based Programming
83(2)
Handling Events
85(1)
Graphical User Interface (GUI)
85(1)
The Graphics Model
85(4)
Coordinate Systems
86(2)
Representing Color
88(1)
Your First GUI Program
89(6)
Adding to the Program
92(2)
Analysis of the Einstein Application
94(1)
Drawing Shapes
95(12)
The Graphics Class
95(12)
Using Classes and Objects
107(50)
Creating Objects
108(5)
Overview of Strings
108(3)
Aliases
111(2)
String and StringBuilder Class Details
113(6)
.NET Architecture and Base Class Libraries
119(3)
Base Class Libraries
120(1)
The using Declaration
120(2)
The Random Class
122(2)
The Math Class
124(3)
Formatting Output
127(9)
Standard Numeric Formatting
127(4)
Custom Numeric Formatting
131(2)
Composite Formatting
133(3)
Enumerated Types
136(3)
Components and Containers
139(7)
Forms
139(2)
Loading Forms
141(1)
Creating New Forms
142(1)
Accessing Forms Controls in the Form Designer
143(1)
Placing Controls on the Form
144(1)
Displaying and Closing the Copyright Form
145(1)
Displaying the Copyright Form and Using the Load Event
146(1)
Drawing Lines and Pen Styles
146(5)
Enumerations in Visual Studio
147(1)
Pen Example Program
148(3)
Client Rectangle and Setting Screen Height
151(1)
Images
151(6)
Label Demo Program
152(5)
Writing Classes
157(50)
Anatomy of a Class
158(9)
Adding Classes to a Project
158(7)
Instance Data
165(1)
UML Class Diagrams
166(1)
Encapsulation
167(2)
Visibility Modifiers
167(2)
Accessors and Mutators
169(1)
Anatomy of a Method
169(8)
The return Statement
170(1)
Parameters
171(1)
Local Data
172(1)
Bank Account Example
173(4)
Properties
177(2)
Coding Standards
179(1)
Constructors Revisited
179(3)
Debugging: Viewing Contents of Object Variables
180(2)
Debugging: Step Into, Step Out, and Step Over
182(1)
Using Classes for Graphical Images
182(5)
Brushes
187(2)
Hatch Brushes
187(1)
Gradient Brushes
188(1)
Graphical User Interfaces
189(2)
Buttons
191(5)
Finding Code in Your Source File
193(1)
Adding Event Handlers Manually
194(1)
Accept and Cancel Buttons
195(1)
Text Fields
196(4)
Cursor Control and Selecting Portions of Text Boxes in Code
198(1)
Multiline Text Boxes
199(1)
Control Characters in Text Boxes
200(1)
Setting Tab Stops
200(7)
Conditionals and Loops
207(78)
Boolean Expressions
208(4)
Equality and Relational Operators
209(1)
Logical Operators
210(2)
The if Statement
212(13)
The if-else Statement
214(1)
if Statement
215(4)
Using Block Statements
219(2)
The Conditional Operator
221(1)
Nested if Statements
222(3)
Comparing Data
225(2)
Comparing Floats
225(1)
Comparing Characters
225(1)
Comparing Objects
226(1)
The switch Statement
227(3)
The while Statement
230(10)
Infinite Loops
235(1)
Nested Loops
236(3)
Other Loop Controls
239(1)
The do Statement
240(2)
The for Statement
242(5)
The foreach Statement and An Introduction to Arrays
247(5)
Simple File I/O
248(2)
Comparing Loops
250(1)
Debugging: The Watch Window
251(1)
Debugging: The Command Window
251(1)
Drawing with Loops and Conditionals
252(3)
Determining Event Sources
255(2)
Dialog Boxes
257(6)
Using Dialog Box Results
261(1)
MessageBox: The System-Supplied Dialog Box
261(2)
More Button Components
263(22)
Check Boxes
263(3)
Radio Buttons
266(3)
TextBox Validations
269(3)
Infinite Loops in Event Handlers
272(13)
Object-Oreinted Design
285(70)
Software Development Activities
286(1)
Identifying Classes and Objects
287(2)
Assigning Responsibilities
288(1)
Static Class Members
289(3)
Static Variables
289(1)
Static Methods
289(3)
Class Relationships
292(13)
Dependency
293(1)
Dependencies Among Objects of the Same Class
293(6)
Aggregation
299(2)
The this Reference
301(4)
Interfaces
305(7)
The IComparable Interface
311(1)
Method Design
312(11)
Method Decomposition
312(5)
Method Parameters Revisited
317(4)
The ref keyword
321(1)
The out keyword
322(1)
Method Overloading
323(2)
Operator Overloads in Classes
325(8)
Creating Class Libraries
326(7)
Object Browser
333(1)
Testing
334(6)
Reviews
335(1)
Defect Testing
335(2)
Debugging: Module-Level Testing and Changing Program Order
337(1)
Debugging: Tracing Problems and the Output Window
337(3)
GUI Design
340(1)
Panels and Picture Boxes
341(6)
Panels
342(1)
Picture Boxes
342(1)
Drawing on Controls
342(5)
Tab Controls
347(8)
Arrays
355(68)
Array Elements
356(1)
Declaring and Using Arrays
357(9)
Bounds Checking
359(5)
Initializer Lists
364(1)
Arrays as Parameters
365(1)
Arrays of Objects
366(9)
Command-Line Arguments
375(2)
Variable-Length Parameter Lists
377(4)
Two-Dimensional Arrays
381(5)
Multidimensional Arrays
384(2)
The ArrayList Class
386(5)
Specifying an ArrayList Element Type
386(4)
ArrayList Efficiency
390(1)
The foreach Loop
391(1)
Polygons and Polylines
392(6)
The Point and PointF Classes
392(1)
The Size and SizeF Classes
393(1)
The Rectangle and RectangleF Classes
393(1)
Using ArrayList for Size, Point, and Rectangle
393(1)
Drawing with Point, PointF, Rectangle, RectangleF, and Arrays
394(4)
Mouse Events
398(8)
Key Events
406(4)
Form Special Events
410(13)
Inheritance
423(50)
Creating Subclasses
424(9)
The protected Modifier
428(1)
The base Reference
429(4)
Multiple Inheritance
433(1)
Overriding Methods
433(4)
Shadowing Variables
436(1)
Class Hierarchies
437(5)
The Object Class
438(1)
Abstract Classes
439(2)
Interface Hierarchies
441(1)
Visibility
442(3)
Designing for Inheritance
445(1)
Restricting Inheritance
446(1)
The Component Class Hierarchy
446(2)
Overriding Event Handlers
448(4)
Extending GUI Components
452(8)
The Timer Class
460(13)
Polymorphism
473(50)
Late Binding
474(1)
Polymorphism Via Inheritance
474(12)
Polymorphism Via Interfaces
486(2)
Sorting
488(8)
Selection Sort
488(6)
Insertion Sort
494(1)
Comparing Sorts
495(1)
Searching
496(6)
Linear Search
497(3)
Binary Search
500(1)
Comparing Searches
501(1)
Designing for Polymorphism
502(1)
System Supplied Dialog Boxes
503(8)
Open File Dialog Box (OpenFileDialog)
507(1)
Save File Dialog Box (SaveFileDialog)
508(1)
Folder Browser Dialog Box (FolderBrawserDialog)
508(1)
Color Dialog Box (ColorDialog)
509(1)
Font Dialog Box (FontDialog)
509(1)
Page Setup Dialog Box (PageSetupDialog)
510(1)
Print Dialog Box (PrintDialog)
510(1)
Sliders and Up-Down Counters
511(3)
System Registry Operations
514(9)
Exceptions
523(70)
Exception Handling
524(1)
Uncaught Exceptions
524(3)
The try-catch Statement
527(3)
The finally Clause
530(1)
Exceptions Propagation
530(3)
The Exception Class Hierarchy
533(5)
I/O Exceptions
538(4)
Generating Custom Events
542(10)
Creating the Delegate
542(1)
Defining the Event
543(1)
Generating the Event
543(1)
Handling the Event
543(1)
Reviewing Event Processing
544(8)
Tool Tips and Mnemonics
552(4)
Tool Tips
552(1)
Mnemonics
553(1)
Disabling Components
554(2)
List Boxes and Combo Boxes
556(5)
Miscellaneous Controls Example
557(4)
Calendar Controls
561(3)
Status Bar
564(2)
Menus
566(10)
Serialization
576(1)
Scroll Panels
577(2)
Scrolling Text Boxes
579(3)
Split Panes
582(5)
Other Sample Programs
587(6)
Recursion
593(40)
Recursive Thinking
594(2)
Infinite Recursion
594(1)
Recursion in Math
595(1)
Recursive Programming
596(3)
Recursion vs. Iteration
598(1)
Direct vs. Indirect Recursion
599(1)
Using Recursion
599(10)
Traversing a Maze
599(5)
The Towers of Hanoi
604(5)
Recursion in Graphics
609(10)
Tiled Pictures
609(3)
Fractals
612(7)
Printing
619(14)
The Print Document (PrintDocument)
619(1)
Printer Settings (PrinterSettings)
620(1)
Using the Preview Dialog (PrintPreviewDialog)
620(1)
The Printed Page
621(1)
The PrintPage Event Handler
621(1)
A Print Example
622(11)
Collections and Data Structures
633(32)
Collections and Data Structures
634(1)
Separating Interface from Implementation
634(1)
Dynamic Representations
634(8)
Dynamic Structures
635(1)
A Dynamically Linked List
635(5)
Other Dynamic List Representations
640(2)
Linear Data Structures
642(5)
Queues
642(2)
Stacks
644(3)
Nonlinear Data Structures
647(3)
Trees
647(1)
Graphs
647(3)
C# Collection Classes
650(4)
Adding Custom Indexers to a Class
654(11)
Appendix A Number Systems 665(8)
Appendix B The Unicode Character Set 673(4)
Appendix C Coding Standards, Software Engineering and Related Topics 677(8)
Appendix D Visual Studio Installation Guide 685(10)
Appendices E through G are available at www.aw.com/cssupport under ``Author: Lewis.''
Index 695

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program