Class Notes
Notes will be placed here.
A note on my notes
These are for my benefit. They tell me what to talk about in class. They are by no means a substitute for:
- Attending class.
- Reading the book
- Taking your own notes.
You may find them helpful however for organizing your thoughts.
- Chapter 1 Overview of Programming
- New class conditions.
- Chapter 2 C++ Syntax and Semantics
- Chapter 3 Numeric Types
- Chapter 5 Conditions, Logical Expressions, and Selection Control Structures
- Chapter 6 Looping
- Chapter 8 Functions
- Chapter 9 Scope, Lifetime and More on Functions
Class Recordings
The syllabus for this course contains the following topics
- Problem Solving and Algorithm Development
- Strategies for Problem Solving
- Problem decomposition (divide and Conquer)
- Solution by analogy
- Solving a special case of a general problem
- Generalizing a specific solution
- Problem Analysis
- Understanding the problem
- Identifying the input data
- Describing the output representation
- Algorithm Representation
- Pseudocode
- Graphical Techniques
- Algorithm Verification
- Desk checking techniques
- Test data
- Program Development - Methods and Style
- Design
- Procedural abstraction
- Data abstraction
- Top-down design and step wise refinement
- Information hiding
- Top-down vs bottom-up design
- Coding
- Use of structured control statements.
- Programming style
- Proper indentation
- Choice of appropriate names
- Program Correctness
- Generation of test data
- Debugging techniques
- Output statements
- Use of stubs and drivers.
- Top-down vs bottom-up testing
- Documentation
- Self documenting code
- Internal program comments
- Data Types
- Scalar Data Types
- Primitive data types
- Integer
- Float and double
- Boolean
- Character
- Arithmetic, Boolean and relational operations
- Structures Data Types
- Strings
- Streams
- Program Structures
- Control Structures
- Sequential structure
- Iterative structures
- Conditional execution structures
- Subprograms
- Functions
- Parameters
- Scope of identifiers