The last column indicates the chapters/sections of the textbook that are
relevant to the lecture material. It is recommended that you read the
text before watching the lecture.
| Lecture |
Topic |
Slides |
Reading |
| Lecture 1: Overview [16:00] | Welcome to lecture
series, course goals, expected background, resources. |
PDF PPT |
Chapter 1 |
| Lecture 2: Problems, Algorithms and Programs [35:00] |
Problems, algorithms, and programs.
Problem solving and program design.
Compiling and running a C program.
Errors and debugging. |
PDF PPT |
Chapter 1, 2 |
| Lecture 3: Variables, Values and Types [38:00] |
Variables and declarations. Identifiers and reserved words.
Types. Expressions and assignment statements. |
PDF PPT |
Chapter 2 |
| Homework 0 Due |
| Lecture 4: Arithmetic Expressions [37:00] |
Arithmetic expressions.
Integer and floating-point (double) types
Unary and binary operators. Type conversions.
|
PDF PPT |
Chapter 2 |
| Lecture 5: Input & Output [33:00] |
Output: printf.
Input: scanf.
Basic formatting codes.
|
PDF PPT |
Chapter 2 |
| Lecture: Style [18:30] |
People oriented programming. Sytle guidelines. Comments.
Code appearance. Clarity.
Symbolic constants.
|
PDF PPT |
Chapter 2 |
| Lecture 6: Conditionals [34:00] |
Conditional execution.
if statement.
Conditional expressions.
Relational and logical operators.
|
PDF PPT |
Chapter 4 |
| Homework 1 Due |
Lecture 7: Functions [19:00] |
Functions and control flow. Reuse of repeated operations.
Mechanics of using functions. Pre-written functions.
|
PDF PPT |
Chapter 3 |
| Lecture 8: Function Parameters [51:00] |
Function parameters and arguments.
Return values, return types, and the return statement.
Local variables.
| PDF PPT |
Chapter 3 |
| Midterm 1 |
| Homework 2a Due |
Lecture 9: Iteration [51:00] |
Iteration - repetitive execution.
Loops and nested loops.
while statements.
for statements. |
PDF PPT |
Chapter 5 |
| Lecture 10: Loop Development [24:00] |
Getting from problem statement to working code.
Systematic loop design and development.
Recognizing and reusing code patterns
|
PDF
PPT |
Chapter 5 |
| Homework 2b Due |
Lecture 11: Complex Conditionals [28:00] |
Complex conditions.
Boolean operators.
Negating a condition.
Truth tables.
DeMorgan's laws.
|
PDF PPT |
Chapter 4 |
| Lecture 12: Functions & Design [25:00] |
Design process.
Functional decomposition.
Top down vs. bottom up design.
Graphics primitives.
|
PDF PPT |
Chapter 6 |
| Lecture: Switch Statement [12:00] |
The switch statement.
Choosing between if and switch.
|
PDF PPT |
Chapter 4.8 |
| Homework 3a Due |
Lecture: Structuring Program Files [12:00] |
Organization of program files. Declarations. Function prototypes.
Library functions.
|
PDF PPT |
Chapter 3 |
| Lecture 13: Pointer Parameters [48:00] |
Function parameters.
Call by value.
Pointer parameters and call by reference.
Pointer types,
Address and dereference operators.
|
PDF PPT |
Chapter 6 |
| Homework 3b Due |
Lecture 14: Arrays [44:00] |
Data structures. Named collections. Subscripts.
Array mechanics. Bounds checking. Parallel arrays.
Arrays as parameters.
|
PDF PPT |
Chapter 8 |
| Midterm 2 |
Lecture 15: Linear & Binary Search [40:30] |
Searching an array.
Linear search.
Binary search.
Comparing algorithm performance.
|
PDF PPT |
Chapter 8 |
| Lecture 16: Sorting [24:00] |
Sorting defined.
Algorithms for sorting.
Selection Sort algorithm.
Efficiency of Selection Sort.
|
PDF PPT |
Chapter 8 |
| Homework 4a Due |
Lecture 17: Multidimensional Arrays [38:00] |
2-D arrays.
2-D arrays as parameters. Nested loops.
Layout of 2-D arrays in memory.
|
PDF PPT |
Chapter 8.7 |
| Lecture 18: Structures [35:30] |
Data structures.
Heterogenous structures.
struct type definitions.
Field selection.
Structures as parameters.
|
PDF PPT |
Chapter 11 |
| Lecture 19: Strings [35:00] |
String constants.
Null-terminated array representation.
String library.
String initializers.
Arrays of strings.
|
PDF PPT |
Chapter 9 |
| Homework 4b Due |
Lecture: File Input/Output [19:30] |
External disk files.
Opening files for reading/writing.
File variables.
File I/O.
Closing Files.
|
PDF PPT |
Chapter 12 |
| Lecture 20: Nested Data Structures [27:00] |
Data representation in C.
Arrays of structs.
structs containing arrays.
Sorting an array of structs.
|
PDF PPT |
Chapter 11 |
| Lecture: Recursion [23:00] |
Recursive definitions and functions.
Base and recursive cases.
|
PDF PPT |
Chapter 10 |
| Lecture: Recursive Binary Search [16:30] |
Binary Search.
Recursive Algorithm.
Iteration vs. Recursion.
|
PDF PPT |
Chapter 10 |
| Homework 5 Due |
Lecture 21: Course Wrap-up and Review [7:30] |
Contents of a second programming course. C++ and Java. Building and
understanding software.
|
PDF PPT |
|
| Final Exam |