16.216: ECE Application Programming

Instructor: Dr. Michael Geiger

Fall 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 Wednesday, October 3 in class, the second exam will be held on Wednesday, November 7 in class, and the third exam will be held on Tuesday, December 18. Students in the 12:00-12:50 section will take the exam from 8:00-11:00 AM; students in the 1:00-1:50 section will take the exam from 3:00-6:00 PM. Both exams will be held in your regular lecture room.

 

Week Date (Mon.) Lecture Topics Handouts

Echo360 Recordings

(Sec. 201 / 202)

Reading Assignments

1

9/3

 No Monday lecture--Labor Day

 1. Course introduction/overview; C programming cycle

 2. Basic C program structure; data in C

 Lec. 2 questions

 Lec. 1: 201 (202 didn't record correctly)

 Lec. 2: 201 / 202

 W: None

 F: 2.1-2.3, 2.8

 Program 1

 (due 9/10)

2

9/10

 3. Variables (+ using printf() with variables)

 4. Input with scanf(); printf() formatting

 5. PE1 (Flowcharts, debugging basics)

 Lec. 3 questions

 Lec. 4 questions

 Lec. 5 questions

 Lec. 3: 201 / 202

 Lec. 4: 201 / 202

 Lec. 5: 201 / 202

 M: 2.4, 2.6-2.7, 3.1, 7.1-7.3

 W: 2.5, 3.2

 F: None

 Program 2

 (due 9/17)

3 9/17

 6. Operators

 7. Bitwise operators

 8. Conditional statements: if

 Lec. 6 questions

 Lec. 7 questions

 Lec. 8 questions

 Lec. 6: 201 / 202

 Lec. 7: 201 / 202

 Lec. 8: 201 / 202

 M: 4.1-4.5

 W: 20.1

 F: 5.1-5.2

 Program 3

 (due 9/28)

4 9/24

 9. Conditional statements: switch

 10. Loops: while, do-while

 11. PE2 (Conditionals, loops)

 Lec. 9 questions

 Lec. 10 questions

 Lec. 11 questions

 Lec. 9: 201 / 202

 Lec. 10: 201 / 202

 Lec. 11: 201 / 202

 M: 5.3

 W: 6.1-6.2

 F: None

 

5 10/1

 12. Exam 1 Preview

 Wednesday, 10/3: EXAM 1 (Solution)

 13. Exam 1 Review

 

 Lec. 12: 201 / 202

 Lec. 13: 201 / 202

 No new reading

 

6 10/8

 No Monday lecture--Columbus Day

 14. Loops: for

 15. Function intro

 Lec. 14 questions

 Lec. 15 questions

 Lec. 14: 201 / 202

 Lec. 15: 201 / 202

 W: 6.3-6.4

 F: 9.1-9.4

 Program 4

 (due 10/17)

7 10/15

 16. Function examples; pointers

 17. Pointer arguments; function/pointer examples

 18. PE3 (Functions)

 Lec. 16 questions

 Lec. 17 questions

 Lec. 18 questions

 Lec. 16: 201 / 202

 Lec. 17: 201 / 202

 Lec. 18: 201 / 202

 M: 11.1-11.5

 W: None

 F: None

 Program 5

 (due 10/26) 

8 10/22

 19. Math library; One dimensional arrays

 20. Two dimensional arrays; arrays and functions

 21. Two dimensional arrays and functions

 Lec. 19 questions

 Lec. 20 questions

 Lec. 21 questions

 Lec. 19: 201 / 202

 Lec. 20: 201 / 202

 Lec. 21: 201 / 202

 M: 23.3, 8.1

 W: 8.2, 12.1-12.4

 F: None

 Program 6

 (due 11/2)

9 10/29

 No Monday lecture--University closed due to storm

 22. Character arrays and strings

 23. PE4 (Arrays and strings)

 Lec. 22 questions

 (same as Lec. 21)

 Lec. 22: 201 / 202

 Lec. 23: 201 / 202

 W: 13.1-13.6

 F: None

 

10 11/5

 24. Exam 2 Preview

 Wednesday, 11/7: EXAM 2 (Solution)

 25. Exam 2 Review

 

 Lec. 24: 201 / 202

 Lec. 25: 201 / 202

 No new reading

 Program 7

 (due 11/19)

 Program 7 starter file

11 11/12

 No Monday lecture--Veterans Day

 26. File I/O

 Wednesday, 11/14: Last day to withdraw

 27. Unformatted I/O

 Lec. 26 questions

 Lec. 27 questions

 Lec. 26: 201 / 202

 Lec. 27: 201 / 202

 W: 22.1-22.3

 F: 22.4-22.5

 

12 11/19

 28. PE5 (File I/O)

 No Wednesday, Friday lecture--Thanksgiving Break

 Lec. 28 questions  Lec. 28: 201 / 202

 No new reading

 Program 8

 (due 11/28)

 Program 8 test files

 (Inputs/outputs for test cases)

13 11/26

 29. Structures

 30. Structures (continued)

 31. Dynamic memory allocation

 Lec. 29 questions

 Lec. 30 questions

 Lec. 31 questions

 Lec. 29: 201 / 202

 Lec. 30: 201 / 202

 Lec. 31: 201 / 202

 M: 16.1-16.3

 W: No new reading

 F: 17.1-17.4

 Program 9

 (due 12/5)

 schedule.txt

14 12/3

 32. Dynamic memory allocation (continued)

 33. PE6: Dynamic allocation and data structures

 Friday, 12/5: In-class office hours

 Lec. 32 questions

 Lec. 33 questions

 Lec. 32: 201 / 202

 Lec. 33: 201 / 202

 M: 17.5-17.6

 W: No new reading

 Program 10

 (due 12/10)

 Program 10 files

 (Source/header files, zipped VS projects)

15 12/10

 34. Exam 3 Preview

 Classes end Monday, 12/10

   Lec. 34: 201 / 202

 No new reading

 
  12/17

 EXAM 3 REVIEW SESSION: MONDAY, 12/17, 11:30-1:00, BALL 206

 

 EXAM 3 (Solution)

 Section 201 (12:00-12:50): Tuesday, 12/18, 8:00-11:00 AM, Kitson 301

 Section 202 (1:00-1:50): Tuesday, 12/18, 3:00-6:00 PM, Ball 328

 Course evaluation form--must be completed before you will exam