16.216: ECE Application Programming

Instructor: Dr. Michael Geiger

Spring 2012

 

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 the exam dates are fixed—the first exam will be held on Friday, 2/24 in class, the second exam will be held on Wednesday, April 4 in class, and the third exam will be held Tuesday, 5/15, 8:00-11:00 AM.

 

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

1

1/23

 1. Course introduction/overview

 2. Basic C program structure

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

 Lec. 2 questions

 Lec. 3 questions

 Lec. 3

 M: None

 W: 2.1-2.3, 2.8

 F: 2.4, 2.6-2.7, 7.1-7.3

 Program 1

 (due 1/30)

2

1/30

 4. More on variables; using printf() with variables

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

 6. PE1 (Flowcharts, debugging basics) (Solution)

 Lec. 4 questions

 Lec. 5 questions

 Lec. 6 questions

 Lec. 4

 Lec. 5

 Lec. 6

 M: 2.5, 3.1

 W: 3.1-3.2

 F: None

 Program 2

 (due 2/6)

3 2/6

 7. Operators

 8. Bitwise operator examples

 9. Output formatting

 Lec. 7 questions

 Lec. 8 questions

 Lec. 9 questions

 Lec. 7

 Lec. 8

 Lec. 9

 M: 4.1-4.5, 20.1

 W: None

 F: 3.1

 Program 3

 (due 2/15)

4 2/13

 10. Output formatting (cont.)

 11. Conditional statements: if

 12. PE2 (Conditionals, formatting) (Solution)

 Lec. 10 questions

 Lec. 11 questions

 Lec. 12 questions

 Lec. 10

 Lec. 11

 Lec. 12

 M: 3.1

 W: 5.1-5.3

 F: None

 Program 4

 (due 2/27)

5 2/20

 No Monday lecture--Presidents Day

 13. Exam 1 Preview

 Friday, 2/24: EXAM 1 (Solution)

   Lec. 13  No new reading  
6 2/27

 14. Conditional statements: switch

 15. Exam 1 Review

 16. Loops: while

 Lec. 14 questions

 Lec. 16 questions

 Lec. 14

 Lec. 15

 Lec. 16

 M: None

 W: None

 F: 6.1

 

7 3/5

 17. Loops: do-while

 18. Loops: for, break and continue

 19. PE3 (Loops) (Solution)

 Lec. 17 questions

 Lec. 18 questions

 Lec. 19 questions

 Lec. 17

 Lec. 18

 Lec. 19

 M: 6.2-6.4

 W: None

 F: None

 

8 3/12

 Spring Break--no classes

       
9 3/19

 20. PE3 continued

 21. Functions: arguments, return statements

 22. Pointers; pointer arguments

 Lec. 21 questions

 Lec. 22 questions

 Lec. 20

 Lec. 21

 Lec. 22

 M: None

 W: 9.1-9.4

 F: 11.1-11.5

 Program 5

 (due 3/26)

 Extra credit guidelines

10 3/26

 23. More on pointers

 24. PE4 (Functions and pointers)

 25. Finish PE4

 Lec. 23 questions

 Lec. 24 questions

 Lec. 25 questions

 Lec. 23

 Lec. 24

 Lec. 25

 No new reading

 

11 4/2

 26. Exam 2 Preview

 Wednesday, 4/4: EXAM 2 (Solution)

 27. Exam 2 Review

 Practice probs:

 Loops (soln, stars.c)

Functions/pointers (soln)

 Lec. 26

 Lec. 27

 No new reading

 Program 6

 (due 4/11)

12 4/9

 28. One-dimensional arrays

 Tuesday, 4/10: Last day to withdraw

 29. Arrays, pointers, and functions

 30. Character arrays and strings

 Lec. 28 questions

 Lec. 29 questions

 Lec. 30 questions

 Lec. 28

 Lec. 29

 Lec. 30

 M: 8.1

 W: None

 F: 13.1-13.6

 Program 7

 (due 4/20)

13 4/16

 No Monday lecture--Patriots' Day

 31. PE5 (1D arrays, strings)

 32. Two-dimensional arrays

 Lec. 31 questions

 Lec. 32 questions

 Lec. 31

 Lec. 32

 W: None

 F: 8.2

 

14 4/23

 33. File I/O

 34. Unformatted I/O

 No Friday lecture--University Day

 Lec. 33 questions

 Lec. 34 questions

 Lec. 33

 Lec. 34

 M: 22.1-22.3

 W: TBD

 Program 8

 (due 4/30)

 Starter file

15 4/30

 35. I/O examples

 36. Structures

 37. Structures (cont.)

 Lec. 35/36 questions

 Lec. 37 questions

 Lec. 35

 Lec. 36

 Lec. 37

 M: None

 W: 16.1-16.3

 F: None

 Program 9

 (due 5/7)

 schedule.txt

16 5/7

 38. Exam 3 Preview

 Classes end Monday, 5/7

 

 Lec. 38

 None

 
  5/14

 Monday, 5/14: Exam review session 11:30-1:30, Ball 314

 Tuesday, 5/15, 8:00-11:00 AM: EXAM 3

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

 Course evaluation--must be completed before the start of the exam