Cornell University
School of Electrical and Computer Engineering
ECE 2400 / ENGRD 2140
Computer Systems Programming
Fall 2017
Prof. Christopher Batten
206 Upson Hall • Monday, Wednesday, Friday • 10:10–11:00am
home | details | schedule | readings | handouts | resources | sponsors
Miscellaneous Handouts
- Course Syllabus
- Next Steps after First Lecture
- Programming Assignment Assessment Rubric
- Example Outline for PA1 Report
Lecture Handouts
- Course Overview (results from activities)
- Topic 1: Reading C Programs (notes)
- Topic 2: C Recursion
- Topic 3: C Types
- Topic 4: C Pointers
- Topic 5: C Arrays
- Topic 6: C Dynamic Allocation
- Topic 7: C Lists and Vectors (notes)
- Topic 8: Algorithm Analysis
- Topic 9: Abstract Data Types
- Topic 10: Sorting Algorithms
- Topic 12: Transition from C to C++
- Topic 13: C++ Object-Oriented Programming
- Topic 14: C++ Inheritance
- Topic 15: C++ Templates
- Topic 16: C++ Threads
- Topic 17: Trees
- Topic 18: Tables
- Topic 19: POSIX Standard Library
Section Handouts
- Section 1: Using Linux/Git for C/C++ Development
- Section 2: Writing and Compiling C Programs
- Section 3: Building, Testing, and Debugging C Programs
- Section 4: Evaluating C Programs
- Section 5: Assertions, Profiling, Memory Leaks
- Prelim 1 Prep (notes)
- Debug Process Used for Bug Hunt
- Prelim 2 Prep (notes,src)
- Section 10: Dynamic Polymorphism (src)
Programming Assignment Handouts
- PA1: Math Functions
- PA2: List and Vector Data Structures
- PA3: Sorting Algorithms
- PA4: Polymorphic Data Structures and Algorithms
- PA5: Handwriting Recognition System