16.216: ECE Application Programming

Instructor: Dr. Michael Geiger

Spring 2014

 

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, February 19 in class, the second exam will be held on Wednesday, April 2 in class, and the third exam will be held Friday, May 9, from 8:00-11:00 AM.

 

Week Date (Mon.) Lecture Topics Handouts

Echo360 Recordings

Reading Assignments

1

1/20

 No Monday lecture--Martin Luther King Day

 1. Course introduction/overview; basic C program structure

 2. Data in C: data types, constants

 Syllabus

 Program grading guidelines

 Lec. 1 questions

 Lec. 2 questions

 Lecture 1

 Lecture 2

 W: 2.1-2.3, 2.8

 F: 7.1-7.3

 Program 1

 (due 1/27)

2

1/27

 3. Variables

 4. Operators; variable I/O with printf() and scanf()

 5. PE1 (Flowcharts, debugging basics)

 Lec. 3 questions

 Lec. 4 questions

 Lec. 5 questions

 Lecture 3

 Lecture 4

 Lecture 5

 M: 2.4, 2.6-2.7

 W: 2.5, 3.1-3.2

 F: None

 Program 2

 (due 2/5)

3 2/3

 6. printf() formatting

 No Wed. lecture--university closed due to snow

 7. Conditional statements: if

 Lec. 6 questions

 Lec. 7 questions

 Lecture 6

 Lecture 7

 M: None

 F: 5.1-5.2

 Program 3

 (due 2/14)

4 2/10

 8. Conditional statements: switch

 9. Loops: while, do-while

 10. PE2 (Conditionals; while loops)

 Lec. 8 questions

 Lec. 9 questions

 Lec. 10 questions

 Code from PE2

 Lecture 8

 Lecture 9

 Lecture 10

 M: 5.3

 W: 6.1-6.2

 F: 6.3-6.4

 
5 2/17

 No Monday lecture--Presidents Day

 11. Exam 1 Preview (Tuesday, 2/18)

 Wednesday, 2/19: EXAM 1

 12. Exam 1 Review

 

 Lecture 11

 Lecture 12

 No new reading  Program 4

 (due 2/28)

6 2/24

 13. Loops: for (Finish PE2)

 14. Functions

 15. Functions (continued)

 Lec. 13 questions

 Lec. 14 questions

 Lec. 15 questions

 Lecture 13

 Lecture 14

 Lecture 15

 M: 6.3-6.4

 W: 9.1-9.4

 F: None

 Program 5

 (due 3/10)

7 3/3

 16. Pointers; pointer arguments

 No Wednesday lecture--class cancelled

 17. PE3 (Functions)

 Lec. 16 questions

 Lec. 17 questions

 Code from PE3

 Lecture 16

 Lecture 17

 M: 11.1-11.5

 F: None

 

8 3/10

 18. One dimensional arrays

 19. Two dimensional arrays; arrays and functions

 20. Character arrays and strings

 Lec. 18 questions

 Lec. 19 questions

 Lec. 20 questions

 Lecture 18

 Lecture 19

 Lecture 20

 M: 8.1

 W: 8.2, 12.1-12.4

 F: 13.1-13.6

 Program 6

 (due 3/26)

9 3/17

 No classes--Spring Break

   

 

 
10 3/24

 21. Character arrays and strings (continued)

 22. String examples

 23. File I/O

 Lec. 21 questions

 Lec. 22 questions

 Lec. 23 questions

 Lecture 21

 Lecture 22

 Lecture 23

 M: 13.1-13.6

 W: None

 F: 22.1-22.3

 Program 7

 (due 4/9)

 Program 7 starter file

11 3/31

 24. Exam 2 Preview

 Wednesday, 4/2: EXAM 2

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

 Lec. 25 questions

 Lecture 24

 Lecture 25

 M: None

 F: 22.4-22.5

 
12 4/7

 26. Exam 2 Review

 27. PE4: I/O

 Wednesday, 4/9--last day to withdraw

 28. Binary and hexadecimal values

 Lec. 27 questions

 Code from PE4

 Lec. 28 questions

 Lecture 26

 Lecture 27

 Lecture 28

 M: None

 W: None

 F: 20.1

 Program 8

 (due 4/16)

 Program 8 files

13 4/14

 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: 16.1-16.3

 W: None

 F: 17.1-17.4

 Program 9

 (due 4/23)

 Program 9 files

14 4/21

 No Monday lecture--Patriots' Day

 32. Dynamic memory allocation (continued)

 33. Dynamically allocated data structures

 Lec. 32 questions

 Lec. 33 questions

 Lecture 32

 Lecture 33

 W: 17.1-17.4

 F: 17.5-17.6

 Program 10

 (due 4/30)

 Program 10 files

15 4/28

 34. Dynamically allocated data structures (continued)

 No Wednesday lecture--in-class office hours

 35. Exam 3 Preview

 Classes end Friday, 5/2

 Lec. 34 questions

 Code from Lec. 33 & 34:

 Main program

 LLnode.h

 LLnode.c (soln)

 Lecture 34

 Lecture 35

 No new reading

 
  5/9

 Q & A session: Thursday, 5/8, 9:00-11:00 AM, Ball 323

 EXAM 3: Friday, 5/9, 8:00-11:00 AM

 Course evaluation form--must be completed before exam