Lecture |
Video and Slides |
1
|
Video 1.1:
Overview
|
- Introduction, course overview
- Introduction to computers and programming
- Course administration, set up
|
Video 1.2:
Introduction to Linux
|
- Getting started
- Logging into EECS servers
- Linux system environment
- Linux system commands, text editing
|
Video 1.3:
Introduction to C
|
- Introduction to programming in C
- History of C
- Our first C program
- Example HelloWorld.c
- Structure of a C program (keywords int, void, return)
- Compilation (gcc) and execution
- String constants, escape sequences
|
|
2
|
Video 2.1:
General program structure
|
- Review quiz
- Program structure
- Input, computation, output
- Example Addition.c
|
Video 2.2:
Arithmetic in C
|
- Basic types in C
- Integer types (char, short, int, long, signed, unsigned)
- Floating point types (float, double)
- Arithmetic operations
- Operators, evaluation order
- Arithmetic example, cosine approximation
- Example Cosine.c
|
Video 2.3:
Types in C
|
- Review quiz
- Type conversion, explicit, implicit
- Types in expressions
- Arithmetic computation
- Example Arithmetic.c
|
|
3
|
Video 3.1:
Conditional execution
|
- Review quiz
- Comparison of values
- Relational, logical, and conditional operators
- Conditional statements, if statement
- Conditional programming
- Example Comparison.c
|
Video 3.2:
Counting and repetition
|
- Keywords in C
- Counters, augmented assignment operators
- Counting by increment and decrement operators
- Repetion statements, while loop
- Counter-controlled repetition, example Average.c
- Sentinel-controlled repetition, example Average2.c
|
Video 3.3:
Review
|
- Review quiz: Introduction to C
- Basic types, operators
- Expressions, statements
|
|
4
|
|
5
|
Video 5.1:
Structured programming
|
- Think before you program!
- Structured programming, control flow charts
- Repetition statements, while loop
- Repetition statements, do-while loop
- Repetition statements, for loop
- Program development
- Example Interest.c
|
Video 5.2:
Structured programming, Debugging
|
- Structured jump statements
- break statement in switch statement
- break and continue statement in while loop
- break and continue statement in do-while loop
- break and continue statement in for loop
- Arbitrary jump statements, goto statement
- Debugging
- Source level debugger gdb
- Example Interest2.c
|
Video 5.3:
Introduction to functions
|
- Function concepts and terms
- Function declaration, definition, and call
- Simple functions, example Square.c
- Hierarchy of functions, example Cylinder.c
|
|
6
|
|
7
|
|
8
|
Video 8.1:
Recursion
|
|
Video 8.2:
Data structures
|
- Structures, struct type
- Structure declaration and definition
- Structure instantiation and initialization
- Structure member access operator
- Unions, union type
- Union declaration and definition
- Union instantiation and initialization
- Union member access operator
- Enumerators, enum type
- Enumerator declaration and definition
- Type definitions, typedef type
- Example student records Students.c
|
|
9
|
Video 9.1:
Computer organization
|
- Basic computer architecture, components
- Binary data representation
- Bits, bytes, and words
- Data in memory, memory size (sizeof) and format
- Number systems: binary, octal, decimal, and hexadecimal numbers
- Memory organization, segmentation
- Objects in main memory
- Example Objects.c
|
Video 9.2:
Pointers
|
- Introduction to pointers
- Pointer definition, initialization, and assignment
- Pointer dereferencing operators
- Pointer arithmetic, increment and decrement
- Pointer comparison
|
Video 9.3:
Pointers and string operations
|
- String operations using pointers
- Pointer and array type equivalence
- Passing pointers to functions
- Type qualifier const
- Standard library functions for strings
- Standard string manipulation functions
- Example bubble sort revisted, BubbleSort2.c
|
|
10
|
|