CSE 142
Online

Lecture and Activity Schedule

Including lecture slide links, textbook reading, homework and exam dates

The slides are in Adobe Acrobat and MicroSoft PowerPoint format (help viewing the slides).

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