16.216: ECE Application Programming

Instructor: Dr. Michael Geiger

Fall 2011

 

Course Schedule

This schedule contains a tentative schedule of topics we will cover throughout the term; this schedule is subject to change. As the semester progresses, I will update the schedule to show the actual dates on which we cover material, as well as provide links to the lecture slides and programming assignments. Note that most lectures are associated with some section(s) of the textbook, which I suggest you read prior to class.
 

Please note that several days are denoted as "PE#"—in these classes, we will do an in-class programming exercise. While students will be able to participate even if they do not have a computer, I suggest anyone with a laptop bring it to class on these days.
 

Please note that the exam dates are fixed—the first exam will be held on Wednesday, October 5 in class, the second exam will be held on Wednesday, November 9 in class, and the third exam will be held Tuesday, December 20, from 6:30-9:30 PM in Ball 210.

 

Week Date (Mon.) Lecture Topics Handouts Echo360 Recordings Reading Assignments

1

9/2 (F)

 1. Course introduction/overview; C programming cycle

 

   F: None  Program 1 (due 9/9)

2

9/5

 No Monday lecture--Labor Day

 2. Basic C program structure

 3. Data in C: Number systems, data types, constants

 Lec. 2 questions

 Lec. 3 questions

 

 W: 2.1-2.3, 2.8

 F: 2.6-2.7, 7.1-7.3

 
3 9/12

 4. Variables; basic numeric output

 5. Input/output: printf() and scanf()

 6. Operators

 Lec. 4 questions

 Lec. 5 questions

 Lec. 6 questions

 

 M: 2.4-2.5

 W: 3.1-3.2

 F: 4.1-4.5, 20.1

 Program 2

 (due 9/19)

4 9/19

 7. Bitwise operator examples

 8. Output formatting

 9. PE1 (Formatting and debugging)

 Lec. 7 questions

 Lec. 8 questions

 Lec. 8

 Lec. 9

 M: None

 W: 3.1, 5.1-5.2

 F: None

 Program 3

 (due 9/26)

5 9/26

 10. Conditional statements: if

 11. Conditional statements: switch

 12. PE2 (Conditional statements) (lecture slides)

 Lec. 10 questions

 Lec. 11 questions

 Lec. 12 questions

 Lec. 10

 Lec. 11

 Lec. 12

 M: 5.1-5.2

 W: 5.3

 F: None

 Program 4

 (due 10/7)

6 10/3

 13. Exam 1 Preview

 Wednesday, 10/5: EXAM 1 (Solution)

 14. Exam 1 Review

 

 Lec. 13

 Lec. 14

 None

 

7 10/10

 No Monday lecture--Columbus Day

 15. Loops: while

 16. Loops: do-while; break

 Lec. 15 questions

 Lec. 16 questions

 Lec. 15

 Lec. 16

 W: 6.1-6.2

 F: None

 

8 10/17

 17. Loops: for, continue

 18. PE3 (Loops)

 19. PE3 continued

 Lec. 17 questions

 Lec. 17

 Lec. 18

 Lec. 19

 M: 6.3-6.5

 W: None

 F: None

 Program 5

 (due date 10/25)

9 10/24

 20. Functions: arguments, return values

 21. Function examples

 22. Pointers; pointer arguments

 Lec. 20 questions

 Lec. 21 questions

 Lec. 20

 Lec. 21

 Lec. 22

 M: 9.1-9.4

 W: None

 F: 11.1-11.5

 
10 10/31

 No Monday lecture--Classes cancelled

 23. Pointer argument examples; PE4 (Functions) (slides)

 24. PE4 continued

 

 Lec. 23

 Lec. 24

 M: None

 W: None

 F: None

 

11 11/7

 25. Exam 2 Preview

 Wednesday 11/9: EXAM 2 (Solution)

 No Friday lecture--Veterans Day

 Extra problems:

 > loops (solution, stars.c)

 > functions/  pointers (solution)

 Lec. 25

 None

 

12 11/14

 26. Exam 2 Review

 Tuesday, 11/15: Last day to withdraw

 27. One dimensional arrays

 28. Working with arrays--functions, pointers

 Lec. 27 questions

 Lec. 28 questions

 Lec. 26

 Lec. 27

 Lec. 28

 M: None

 W: 8.1

 F: None

 Program 6

 (due 11/21)

13 11/21

 29. Character arrays and strings

 No Wednesday, Friday lecture--Thanksgiving

 Lec. 29 questions

 Lec. 29

 M: 13.1-13.6

 W: None

 Program 7

 (due 12/2)

14 11/28

 30. PE5 (Arrays and strings) (slides)

 31. Two-dimensional arrays

 32. File I/O

 Lec. 30 questions

 Lec. 31 questions

 Lec. 32 questions

 Lec. 30

 Lec. 31

 Lec. 32

 M: None

 W: 8.2, 12.4

 F: 22.1-22.3

 Program 8

 (due 12/9)

15 12/5

 33. Structures

 34. Structures (cont.)

 35. General review/in-class "office hours"

 Lec. 33 questions

 Lec. 34 questions

 Lec. 33

 Lec. 34

 M: 16.1-16.3

 W: None

 F: None

 
16 12/12

 36. Exam 3 Preview

 Classes end Monday, 12/12

 

 Lec. 36

 None

 
  12/20

 Tuesday 12/20, 6:30-9:30 PM, Ball 210: EXAM 3 (Solution)

 Q&A session Monday, 12/19, 11:30 AM-1:30 PM, Ball 326

 Practice problems: 1-D arrays/pointer arithmetic/strings (solution), 2-D arrays (solution)