Cornell University
    School of Electrical and Computer Engineering
  
    ECE 2400 / ENGRD 2140
    Computer Systems Programming
    Fall 2021
  
  
    Prof. Christopher Batten
    Monday, Wednesday, Friday • 10:10–11:00am • 219 Phillips Hall
  
home | syllabus | staff | schedule | readings | handouts | resources
Semester Schedule
  Schedule is tentative and subject to change!
| Fri | Aug 27 | Lecture | Course Overview | |
| Fri | Aug 27 | Section | Linux Development Environment | |
| Mon | Aug 30 | Lecture | Topic 1: Introduction to C | |
| Wed | Sep 1 | Lecture | — Topic 1: Continued | |
| Fri | Sep 3 | Lecture | — Topic 1: Continued | inQuiz 1 | 
| Fri | Sep 3 | Section | Compiling and Running C Programs | |
| Mon | Sep 6 | Labor Day – No Lecture | ||
| Wed | Sep 8 | Lecture | Topic 2: C Recursion | |
| Fri | Sep 10 | Lecture | Topic 3: C Types | |
| Fri | Sep 10 | Section | C Build and Test Frameworks | |
| Mon | Sep 13 | Lecture | — Topic 3: Continued | zyQuiz 1 | 
| Wed | Sep 15 | Lecture | Topic 4: C Pointers | |
| Thu | Sep 16 | Due | PA1: Incremental Milestone | |
| Fri | Sep 17 | Lecture | — Topic 4: Continued | inQuiz 2 | 
| Fri | Sep 17 | Section | C Debugging, Testing, Formatting | |
| Mon | Sep 20 | Lecture | Topic 5: C Arrays | zyQuiz 2 | 
| Wed | Sep 22 | Lecture | — Topic 4: Continued | |
| Thu | Sep 23 | Due | PA1: Math Functions | |
| Fri | Sep 24 | Lecture | Topic 6: C Dynamic Allocation | |
| Fri | Sep 24 | Section | C Profiling for Performance and Memory Usage | |
| Mon | Sep 27 | Lecture | Topic 7: Lists and Vectors | zyQuiz 3 | 
| Wed | Sep 29 | Lecture | — Topic 7: Continued | |
| Thu | Sep 30 | Due | PA2: Incremental Milestone | |
| Fri | Oct 1 | Lecture | Topic 8: Complexity Analysis | inQuiz 3 | 
| Fri | Oct 1 | Section | Problem-Based Learning | |
| Mon | Oct 4 | Lecture | — Topic 8: Continued | zyQuiz 4 | 
| Wed | Oct 6 | Lecture | — Topic 8: Continued | |
| Thu | Oct 7 | Due | PA2: List and Vector Data Structures | |
| Fri | Oct 8 | Lecture | Topic 9: Sorting Algorithms | inQuiz 5 | 
| Fri | Oct 8 | No Section | ||
| Mon | Oct 11 | Fall Break -- No Lecture | ||
| Wed | Oct 13 | Lecture | — Topic 9: Continued | |
| Fri | Oct 15 | Lecture | — Topic 9: Continued | in/zyQuiz 4/5 | 
| Fri | Oct 15 | Section | Sorting Lab | |
| Mon | Oct 18 | Lecture | Topic 10: Abstract Data Types | |
| Tue | Oct 19 | Exam | Prelim #1 @ 7:30–9:00pm (219 Phillips Hall) | |
| Wed | Oct 20 | Lecture | Topic 12: Transition to C++ | |
| Thu | Oct 21 | Due | PA3: Incremental Milestone | |
| Fri | Oct 22 | Lecture | — Topic 12: Continued | |
| Fri | Oct 22 | No Section | ||
| Mon | Oct 25 | Lecture | — Topic 12: Continued | |
| Wed | Oct 27 | Lecture | Topic 13: Object-Oriented Programming | |
| Thu | Oct 28 | Due | PA3: Sorting Algorithms | |
| Fri | Oct 29 | Lecture | — Topic 13: Continued | |
| Fri | Oct 29 | Section | Prelim Review | |
| Mon | Nov 1 | Lecture | — Topic 13: Continued | zyQuiz 6 | 
| Wed | Nov 3 | Lecture | — Topic 13: Continued | |
| Fri | Nov 5 | Lecture | — Topic 13: Continued | inQuiz 6 | 
| Fri | Nov 5 | Section | Object-Oriented Programming Lab | |
| Mon | Nov 8 | Lecture | — Topic 13: Continued | |
| Tue | Nov 9 | Due | PA4: Incremental Milestone | |
| Wed | Nov 10 | Lecture | — Topic 13: Continued | |
| Fri | Nov 12 | Lecture | Topic 14: Generic Programming | |
| Fri | Nov 12 | Section | Dynamic Polymorphism Lab | |
| Mon | Nov 15 | Lecture | — Topic 14: Continued | |
| Tue | Nov 16 | Due | PA4: Handwriting Recognition Sys – Linear vs. Binary | |
| Wed | Nov 17 | Lecture | Topic 15: Functional Programming | |
| Fri | Nov 19 | Lecture | — Topic 15: Continued | inQuiz 7 | 
| Fri | Nov 19 | Section | Problem-Based Learning | |
| Mon | Nov 22 | Lecture | Topic 16: Concurrent Programming | |
| Tue | Nov 23 | Exam | Prelim #2 @ 7:30–9:00pm (219 Phillips Hall) | |
| Wed | Nov 24 | Thanksgiving Break – No Lecture | ||
| Fri | Nov 26 | Thanksgiving Break – No Lecture | ||
| Fri | Nov 26 | Thanksgiving Break – No Section | ||
| Mon | Nov 29 | Lecture | — Topic 16: Continued | |
| Tue | Nov 30 | Due | PA5: Incremental Milestone | |
| Wed | Dec 1 | Lecture | Topic 17: Trees | |
| Fri | Dec 3 | Lecture | — Topic 17: Continued | |
| Fri | Dec 3 | Static Polymorphism Lab | ||
| Mon | Dec 6 | Lecture | Topic 18: Tables | |
| Tue | Dec 7 | Due | PA5: Handwriting Recognition Sys – Tree vs. Table | |
| Sat | Dec 11 | Exam | Final @ 2:00–5:00pm (location TBD) | 
inQuiz = in-class paper quiz; zyQuiz = zyBook coding quiz
Weekly Schedule
| Mon | Tue | Wed | Thu | Fri | |
|---|---|---|---|---|---|
| 10:00am | Lecture | Lecture | Lecture | ||
| (219 Phillips) | (219 Phillips) | (219 Phillips) | |||
| 11:00am | |||||
| : | : | : | : | : | : | 
| 2:00pm | |||||
| Section | |||||
| 3:00pm | (225 Upson) | ||||
| 4:00pm | |||||
| Office Hours | |||||
| 5:00pm | (323 Rhodes) | ||||
| 6:00pm | |||||
| 7:00pm | |||||
| Lab/Office | Lab/Office | Lab/Office | Lab/Office | ||
| 8:00pm | Hours | Hours | Hours | Hours | |
| (225 Upson) | (225 Upson) | (225 Upson) | (225 Upson) | ||
| 9:00pm | |||||
| 10:00pm | 
Extra zoom office hours for Prof. Batten are from 7:30–8:30pm on Tuesdays