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
Miscellaneous Handouts
- Zoom Meeting Information
 - Course Syllabus
 - Next Steps after First Lecture
 - Linux, Git, C/C++ Cheat Sheet
 
Lecture Handouts
- Course Overview (results from activities)
 - Topic 1: Introduction to C (notes)
 - Topic 2: C Recursion
 - Topic 3: C Types (problems)
 - Topic 4: C Pointers (problems)
 - Topic 5: C Arrays (problems)
 - Topic 6: C Dynamic Allocation (problems)
 - Topic 7: Lists and Vectors (problems)
 - Topic 8: Complexity Analysis (update, problems)
 - Topic 9: Sorting Algorithms (update, problems)
 - Topic 10: Abstract Data Types
 - Topic 12: Transition to C++
 - Topic 13: Object-Oriented Programming (update, problems)
 - Topic 14: Generic Programming (problems)
 - Topic 15: Functional Programming
 - Topic 16: Concurrent Programming
 - Topic 17: Trees
 - Topic 18: Tables
 - Topic 19: Graphs
 
Section Handouts
- Section 1: Linux Development Environment
 - Section 2: Compiling and Running C Programs
 - Section 3: C Build and Test Frameworks
 - Section 4: C Debugging, Testing, Formatting
 - Section 5: C Profiling for Performance and Memory Usage
 - Section 6: C Problem-Based Learning (solutions)
 - Section 7: Sorting Lab (PA2 discussion)
 - Section 8: Object-Oriented Programming Lab (PA3 discussion)
 - Section 9: Dynamic Polymorphism Lab
 - Section 10: C++ Problem-Based Learning (solutions)
 - Section 11: Static Polymorphism Lab (PA4 discussion)
 
Programming Assignment Handouts
- Programming Assignment Logistics
 - Test and Debug Strategy
 - Coding Conventions
 - PA1: Math Functions
 - PA2: List and Vector Data Structures
 - PA3: Sorting Algorithms
 - PA4: Handwriting Recognition System – Linear vs. Binary Search
 - PA5: Handwriting Recognition System – Tree vs. Table Search
 
In-Class Paper Quiz Handouts
- Quiz 1: Introduction to C (solution)
 - Quiz 2: C Pointers (solution)
 - Quiz 3: C Dynamic Allocation (solution)
 - Quiz 4: Complexity Analysis (solution)
 - Quiz 5: Complexity Analysis (solution)
 - Quiz 6: Object Oriented Programming (solution)
 - Quiz 7: Generic Programming (solution)
 - Quiz 8: Generic Programming (solution)