16.216: ECE Application Programming

Instructor: Dr. Michael Geiger

Fall 2013

 

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 2 in class, the second exam will be held on Wednesday, November 6 in class, and the third exam will be held on Wednesday, December 18, from 8:00-11:00 AM.

 

Week Date (Mon.) Lecture Topics Handouts

Echo360 Recordings

Reading Assignments

1

9/2

 No Monday lecture--Labor Day

 1. Course introduction/overview; basic C program structure

 2. Data in C: data types, constants, variables

 Syllabus

 Program grading guidelines

 Lec. 1 questions

 Lec. 2 questions

 Lecture 1

 Lecture 2

 W: 2.1-2.4, 2.8

 F: 7.1-7.3

 Program 1

 (due 9/9)

2

9/9

 3. Variables; operators; variable output with printf()

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

 5. PE1 (Flowcharts, debugging basics)

 Lec. 3 questions

 Lec. 4 questions

 Lec. 5 questions

 Lecture 3

 Lecture 4

 Lecture 5

 M: 2.5, 3.1-3.2

 W: 2.6-2.7, 3.1-3.2

 F: None

 Program 2

 (due 9/16)

3 9/16

 6. Conditional statements: if

 7. Conditional statements: if (examples), switch

 8. Loops: while, do-while

 Lec. 6 questions

 Lec. 7 questions

 Lec. 8 questions

 Code referenced in Lecture 8:

 while2 | while3

 Lecture 6

 Lecture 7

 Lecture 8

 M: 5.1-5.2

 W: 5.3

 F: 6.1-6.2

 Program 3

 (due 9/25)

4 9/23

 9. Loops: for

 10. PE2 (Loops)

 11. PE2 continued

 Lec. 9 questions

 Lec. 10/11 questions

 Code from PE2

 Lecture 9

 Lecture 10

 Lecture 11 (no slides--projectors broken)

 M: 6.3-6.4

 W: None

 F: None

 Program 4

 (due 10/7)

5 9/30

 12. Exam 1 Preview

 Wednesday, 10/2: EXAM 1

 13. Exam 1 Review

 

 Lecture 12

 Lecture 13

 No new reading

 

6 10/7

 14. Functions

 15. Functions (continued); pointers

 16. More on pointer arguments

 Lec. 14 questions

 Lec. 15 questions

 Lec. 16 questions

 Lecture 14

 Lecture 15

 Lecture 16

 M: 9.1-9.4

 W: 11.1-11.5

 F: None

 Program 5

 (due 10/16)

7 10/14

 No Monday lecture--Columbus Day

 17. PE3 (Functions)

 18. One dimensional arrays

 Lec. 17 questions

 Code from PE3

 Lec. 18 questions

 Lecture 17

 Lecture 18

 W: None

 F: 8.1

 

8 10/21

 19. Two dimensional arrays; arrays and functions

 20. Arrays and functions (continued)

 21. Character arrays and strings (continued)

 Lec. 19 questions

 Lec. 20 questions

 Lec. 21 questions

 Lecture 19

 Lecture 20

 Lecture 21

 M: 8.2, 12.1-12.4

 W: None

 F: 13.1-13.6

 Program 6

 (due 10/28)

9 10/28

 22. Character arrays and strings (continued)

 23. File I/O

 24. General I/O (character, line functions)

 Lec. 22 questions

 Code from Lec. 22

 Lec. 23 questions

 Lec. 24 questions

 Lecture 22

 Lecture 23

 Lecture 24

 M: None

 W: 22.1-22.3

 F: 22.4-22.5

 Program 7

 (due 11/13)

 Program 7 starter file

10 11/4

 25. Exam 2 Preview

 Wednesday, 11/6: EXAM 2

 26. Exam 2 Review

 

 Lecture 25

 Lecture 26

 No new reading

 

11 11/11

 No Monday lecture--Veterans Day

 27. PE4 (File I/O)

 Wednesday, 11/13: Last day to withdraw

 28. Binary and hexadecimal values

 Lec. 27 questions

 Code from Lec. 27

 Lec. 28 questions

 Lecture 27

 Lecture 28

 W: 22.4-22.5

 F: None

 Program 8

 (due 11/22)

 Program 8 files

12 11/18

 29. Bitwise operators

 30. Structures

 31. Structures (continued); dynamic memory allocation

 Lec. 29 questions

 Lec. 30 questions

 Lec. 31 questions

 Lecture 29

 Lecture 30

 Lecture 31

 M: 20.1

 W: 16.1-16.3

 F: None

 Program 9

 (due 12/2)

 Program 9 files

13 11/25

 32. Dynamic memory allocation (continued)

 No Wednesday, Friday lecture--Thanksgiving Break

 Lec. 32 questions  Lecture 32

 M: 17.1-17.4

 

14 12/2

 33. Dynamically allocated data structures

 34. Dynamically allocated data structures (continued)

 No Friday lecture--in-class office hours

 Lec. 33 & 34 questions

 Code from Lec. 33 & 34:

 Main program

 LLnode.h

 LLnode.c (soln)

 Lecture 33

 Lecture 34

 M: 17.5-17.6

 W: No new reading

 Program 10

 (due 12/11)

 Program 10 files

15 12/9

 No Monday lecture--in-class office hours

 35. Exam 3 Preview

 Classes end Wednesday, 12/11

   Lecture 35

 No new reading

 
  12/18

 EXAM 3 Q&A SESSION: TUESDAY, 12/17, 11:30-1:00 PM, BALL 313

 EXAM 3: Wednesday, 12/18, 8:00-11:00 AM

 Course evaluation form--must be completed before exam