16.216: ECE Application Programming

Instructor: Dr. Michael Geiger

Spring 2015

 

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 18 Monday, February 23 in class, the second exam will be held on Wednesday, April 1 in class, and the third exam will be held Tuesday, May 5, from 11:30 AM to 2:30 PM.

 

Week Date (Mon.) Lecture Topics Handouts

Echo360 Recordings

Reading Assignments

1

1/19

 No Monday lecture--Martin Luther King, Jr. 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.4, 2.8

 F: 2.6-2.7, 7.1-7.3

 Program 1

 (due 1/26)

 Prog. 1 deductions

2

1/26

 3. Variables

 No Wednesday lecture--Snowpocalypse 2015

 4. Operators; variable output with printf() and scanf()

 Lec. 3 questions

 Lec. 4 questions

 Lecture 3 (no audio)

   Lecture on variables from Fall 2014

 Lecture 4

 M: 2.4

 F: 2.5, 3.1-3.2, 4.1-4.2

 Program 2

 (due 2/9)

 Prog. 2 deductions

3 2/2

 No Monday lecture--even more snow

 5. printf() examples; variable input with scanf()

 6. PE1 (Flowcharts, debugging basics)

 Lec. 5 questions

 Lec. 6 questions

 Lecture 5

 Lecture 6

 W: 5.1-5.2

 F: 5.3

 
4 2/9

 No Monday lecture--hey, look, it's snowing again!

 7. Conditional statements: if

 8. Range checking with if statements

 Lec. 7 questions

 Lec. 8 questions

 Lecture 7

 Lecture 8

 W: 5.1-5.2

 F: None

 Program 3

 (due 2/20)

 Prog. 3 deductions

5 2/16

 No Monday lecture--Presidents Day

 9. Switch statements (Tuesday, 2/17)
 10. Loops: while, do-while

 11. Exam 1 Preview

 Lec. 9 questions

 Lec. 10 questions

 While ex. programs (PDF)

   (while2 | while3)

 Lecture 9

 Lecture 10 (does not show slides)

   Lecture on while loops from Fall 2014

 Lecture 11 

 T: 5.3

 W: 6.1-6.2

 F: None

 
6 2/23

 Monday, 2/23: EXAM 1

 12. Loops: for

 13. PE2 (Conditionals and loops)

 Lec. 12 questions
 Lec. 13 questions
 Code from PE2
 Lecture 12
 Lecture 13 

 M: None

 W: 6.3-6.4

 F: None

 Program 4

 (due 3/4)

 Prog. 4 deductions

7 3/2

 14. Exam 1 Review

 15. Functions

 16. Functions (continued)

 Lec. 15 questions
 Lec. 16 questions 
 Lecture 14
 Lecture 15
 Lecture 16

 M:

 W: 9.1-9.4

 F: 11.1-11.5

 Program 5

 (due 3/13)

 Prog. 5 deductions

8 3/9

 17. Pointers; pointer arguments

 18. More on pointers

 19. PE3 (Functions)

 Lec. 17 questions
 Lec. 18 questions
 Lec. 19 questions 
 Lecture 17 (does not show slides)
 
Lecture 18
 Lecture 19 

 M: 8.1-8.2, 12.1-12.4

 W: None

 F: None

 Program 6

 (due 3/30)

 Prog. 6 deductions

9 3/16

 No classes--Spring Break

   

 

 
10 3/23

 20. One dimensional arrays

 21. Two dimensional arrays; arrays and functions

 22. 2D arrays and functions

 Lec. 20 questions
 Lec. 21 questions
 Lec. 22 questions 
 Lecture 20
 Lecture 21
 Lecture 22 

 M: 13.1-13.6

 W: None

 F: None

 
11 3/30

 23. Exam 2 Preview

 Wednesday, 4/1: EXAM 2

 24. Character arrays and strings

 Lec. 24 questions   Lecture 23 
 Lecture 24

 M: None

 W: None

 F: None

 Program 7

 (due 4/13)

 Program 7 starter file

 Prog. 7 deductions 

12 4/6

 25. String examples

 26. Exam 2 Review

 Wednesday, 4/8--last day to withdraw

 27. File I/O

 Lec. 25 questions
 Code from string examples
 Lec. 27 questions
 Lecture 25
 Lecture 26
 Lecture 27
 M: None

 W: None

 F: 22.1-22.5

 
13 4/13

 28. Line and character I/O

 29. PE4: I/O

 30. Bitwise operators

 Lec. 28 questions
 Lec. 29 questions
 Code from PE4
 Lec. 30 questions
 Lecture 28 
 Lecture 29
 Lecture 30

 M: None

 W: 20.1

 F: 17.1-17.4

 Program 8

 (due 4/22)

 Program 8 files

 File I/O for Mac users

 Prog. 8 deductions 

14 4/20

 No Monday lecture--Patriots' Day

 31. Common bitwise operations

 32. Structures, dynamic allocation

 Lec. 31 questions 
 Lec. 32 questions
 Lecture 31
 Lecture 32 

 W: None

 F: 17.5-17.6

 Program 9

 (due 4/29)

 Program 9 files

 Prog. 9 deductions 

15 4/27

 33. Dynamic allocation (continued)

 34. Dynamically allocated data structures

 No Friday lecture--out of town

 Classes end Friday, 5/1

 Lec. 33 questions
 Lec. 34 questions
 Code from Lec. 34:
 Main program
 LLnode.h
 LLnode.c (soln) 
 Lecture 33
 Lecture 34

 Old lectures related to dynamically allocated data structures:
 F14 Lec 34
 F14 Lec 35
 F14 Lec 36
 

 M: None

 W: None

 F: None

 Program 10
 (due 5/6; extra credit program)
 Program 10 files
  5/5

 Monday, 5/4, 11:30-2:30 PM: Exam 3 Review Session in Ball 214

   Exam 3 Preview slides 

 Tuesday, 5/5, 11:30 AM-2:30 PM: EXAM 3

 Course evaluation form--must be completed before exam