This introductory, 5-day, lecture-and-lab course teaches people with little or no programming experience how to program with the Visual C# 2008 programming language. Topics include introductory object-oriented programming, algorithmic thinking, problem solving, control statements, primitive types, operators, keyboard input, screen output, methods (user-defined and API), arrays and strings. The course offers extensive laboratory experience. Solutions are provided for laboratory exercises. The course includes approximately 60% lecture and 40% laboratory exercises. After taking this course, students will be prepared to take VC#102—Introduction to Visual C# 2008 for Non-Programmers: Part 2.
Our introductory classes emphasize achieving program clarity through the proven software-development techniques. Nonprogrammers learn skills that underlie good programming through dozens of complete, working programs—we call this the live-code approach. This hands-on approach rapidly builds the confidence of new programmers, because all programming concepts are presented in the context in which they will be used.
Prerequisites
- Little or no previous programming experience
- General familiarity with your operating system environment
- Ability to create and edit text files
Introduction
Introduction to the Visual C# 2008 Express IDE
- Covered in the context of all the examples presented
Introduction to C# Applications
- A Simple C# Application: Displaying a Line of Text
- Creating Your Simple Application in Visual C# Express
- Modifying Your Simple C# Application
- Formatting Text with Console.Write and Console.WriteLine
- Another C# Application: Adding Integers
- Decision Making: Equality and Relational Operators
Introduction to Classes and Objects
- Classes, Objects, Methods, Properties and Instance Variables
- Declaring a Class with a Method and Instantiating an Object of a Class
- Declaring a Method with a Parameter
- Instance Variables, Properties and Auto-Implemented Properties
- Software Engineering with Properties and set and get Accessors
- Value Types vs. Reference Types
- Initializing Objects with Constructors
- Floating-Point Numbers and Type decimal
Control Statements: Part 1
- Algorithms
- Pseudocode
- Control Structures
- if Single-Selection Statement
- if…else Double-Selection Statement
- while Repetition Statement
- Formulating Algorithms: Counter-Controlled Repetition
- Formulating Algorithms: Sentinel-Controlled Repetition
- Formulating Algorithms: Nested Control Statements
- Compound Assignment Operators
- Increment and Decrement Operators
- Simple Types
Control Statements: Part 2
- Essentials of Counter-Controlled Repetition
- for Repetition Statement
- Examples Using the for Statement
- do…while Repetition Statement
- switch Multiple-Selection Statement
- break and continue Statements
- Logical Operators
Methods: A Deeper Look
- static Methods, static Variables and Class Math
- Declaring Methods with Multiple Parameters
- Notes on Declaring and Using Methods
- Method Call Stack and Activation Records
- Argument Promotion and Casting
- The Framework Class Library
- Case Study: Random-Number Generation
- Scaling and Shifting Random Numbers
- Random-Number Repeatability for Testing and Debugging
- Case Study: A Game of Chance (Introducing Enumerations)
- Scope of Declarations
- Method Overloading
- Passing Arguments: Pass-by-Value vs. Pass-by-Reference
Arrays
- Declaring and Creating Arrays
- Examples Using Arrays
- Case Study: Card Shuffling and Dealing Simulation
- foreach Statement
- Passing Arrays and Array Elements to Methods
- Passing Arrays by Value and by Reference
- Case Study: Class GradeBook Using an Array to Store Grades
- Multidimensional Arrays
- Case Study: Class GradeBook Using a Rectangular Array
- Variable-Length Argument Lists
- Using Command-Line Arguments
Price
- $12,995 lecture fee for up to 20 students maximum.
- Client purchases the books, at its own expense, directly from Pearson (the publisher) at the discounted Deitel rate.
- Instructor Travel Reimbursement (if travel is required).
Courses in the Visual C# 2008 Curriculum
