Computing with C# and the .NET Framework
Table of Contents
1. Computing with C#
1.1 Introduction to Computing
1.2 The .NET Framework
1.3 Overview of C#
1.4 The Elements of a C# Program
1.5 Compiling and Running C# Programs
1.6 Developing a C# Program
2. C# Progamming Basics
2.1 Variables
2.2 Assignment
2.3 Input and Output
2.4 Arithmetic Expressions
2.5 Methods and Parameters
3. Software Engineering with Control Structures
3.1 Relational Operators and Expressions
3.2 If and If-Else Statements
3.3 The Type Double
3.4 Program Design with the While Loop
3.5 Debugging
4. More Control Structures and Types
4.1 The AND, OR, and NOT Operators
4.2 Nested-Ifs and the Switch Statement
4.3 The For and Do Loops
4.4 Additional Primitive Types and Enumerations
4.5 Using the Math Library
4.6 Solving Problems with C#: Iterative Development
5. Getting Started with Object-Oriented Programming
5.1 The Object Concept
5.2 Introduction to Object-Oriented Design
5.3 Classes in C#
5.4 Using C# Objects
5.5 Class Variables and Methods
5.6 The QuickFood Example
6. Working with Objects
6.1 The String Class
6.2 String Operations
6.3 Object Composition
6.4 Interfaces
6.5 Random Numbers and Simulation
7. Arrays
7.1 Using Arrays
7.2 Creating, Inputting, and Copying an Array
7.3 Arrays of Objects and a Simulation
7.4 Multidimensional Arrays
7.5 Solving Problems with Java: Insertion Sort
8. Event-Driven Programming
8.1 Paint Events
8.2 Drawing Shapes
8.3 Drawing Text
8.4 Using Color
8.5 Mouse and Key Events
8.6 Solving Problems with C#: The Tangram Puzzle
9. User Interfaces
9.1 Controls and Event-Handling
9.2 Using Controls
9.3 Using Visual Studio .NET
9.4 Checkbox and Choice
9.5 A GUI for Insertion Sorting
10. Inheritance
10.1 Derived Classes
10.2 Polymorhphism
10.3 Abstract Classes
10.4 Modifiers and Access
10.5 Object-Oriented Design
11. Exception Handling and Input/Output
11.1 Exception Handling
11.2 Text Input and Output
11.3 Binary Input and Output
11.4 Menus and File Dialogs
12. Data Structures
12.1 Recursion
12.2 Linked Lists
12.3 Stacks and Queues
12.4 Collections: ArrayList
12.5 Collections: Hashtable and SortedList
12.6 Comparisons and Ordering
13. Threads and Animation
13.1 Introduction to Threads
13.2 Animation
13.3 Images
13.4 Concurrent Programming
14. Networking
14.1 Requests and Responses
14.2 Clients and Servers
14.3 Browsers and Web Servers
14.4 Remoting
15. Using a Database
15.1 Database Tables and SQL Queries
15.2 Connecting to a Database
15.3 Retrieving Information
15.4 Database Information and Aggregate Functions
15.5 Stored Procedures and Transactions
15.6 A GUI for Database Queries
16. ASP.NET
16.1 HTML
16.2 Web Server Controls and Code Behind
16.3 Three-tiered Architectures
16.4 Session Tracking
17. XML and Web Services
17.1 XML and Information
17.2 DOM (Document Object Model) Processing
17.3 XSLT (Extensible Stylesheet Language for Transformations)
17.4 Web Services
Appendices
A. Binary and Hexadecimal Numbers
B. Bitwise and Shift Operators
C. Operator Precedence Rules
D. The ASCII Character Set
E. Simple Types
Answers To Selected Exercises