Week |
Tuesday |
Thursday |
1
|
June 24
|
Lecture 1: Introduction to C
|
- Course administration, set up
- Computers and Programming
- Client, server, Linux
- Linux system commands
- Programming in C
- Our first C program
|
|
June 26
|
Lecture 2: Arithmetic in C
|
- Program structure
- Input, computation, output
- Basic types
- Arithmetic operators
- Type conversion, explicit, implicit
- Arithmetic expressions
|
|
2
|
July 1
|
Lecture 3: Conditions, counting, and repetition
|
- Relational, logical operators
- Conditional expressions, statements
- Counter operators
- While-loop
- Review, Quiz: Introduction to C
- Basic types, operators
- Expressions, statements
|
|
July 3
|
Lecture 4: Structured programming
|
- Midterm 1: Basic C programming
- Basic types, operators
- Expressions, statements
- Formatting specifiers
- Programming principles
- If-Else statement
- Switch statement
|
|
3
|
July 8
|
Lecture 5: Structured programming
|
- Repetition statements
- While, Do-While, For loops
- Jump statements
- Source level debugging
- Function concepts and terms
- Hierarchy of functions
|
|
July 10
|
Lecture 6: Functions
|
- Function call graph, trace
- Stack, stack frames, debugging
- Scopes, scope rules
- Local variables, debugging
- Math library functions
- Standard library functions
|
|
4
|
July 15
|
Lecture 7: Arrays
|
- Data structure introduction
- Arrays, multi-dimensional arrays
- Pass by value, pass by reference
- Character arrays (strings), BubbleSort
- Review, Quiz: Structured programming
|
|
July 17
|
Lecture 8: Recursion, data structures
|
- Midterm 2: Structured programming
- Functions
- Basic, array data types
- Concept of recursion
- Recursion vs. iteration
- Structures, unions, enumerators
- Type definitions
|
|
5
|
July 22
|
Lecture 9: Data structures, pointers
|
- Data structures
- Data in memory, bits, bytes
- Number formats, bin/oct/dec/hex
- Data objects in memory
- Introduction to pointers
- Pointer operations
- String manipulation
|
|
July 24
|
Lecture 10: File processing, translation units
|
- Standard I/O streams
- File I/O streams
- Compiler components
- Multiple translation units
- Review, Quiz: Recursion, iteration
- Data structures, pointers
- File processing, translation units
|
|
Final
|
|
|