6.S096 | January IAP 2014 | Undergraduate

Effective Programming in C and C++

Lecture Notes

1 Introduction to C: Welcome to the Memory Jungle (PDF) Lecture 1 Examples (ZIP) (This Zip folder contains: 7 .c files and 1 file): diagnostic, hello, loop1, loop2, pointer, prime, printstr
2 Subtleties of C: Data Structures and Floating-Point Arithmetic (PDF) Lecture 2 Examples (ZIP) (This Zip folder contains: 7 .c files): align, alloc, badsize, limited, sizeof, struct, tree

Assembly (PDF)

Courtesy of Daniel Kang. Used with permission.

Secure Programming in C (PDF - 1.2MB)

Courtesy of Lef Ioannidis. Used with permission.

4 Style and Structure: Transition from C to C++ (PDF) Lecture 4 Examples (ZIP) (This Zip folder contains: 1 .cpp and 1 file): vector
5 Object-Oriented C++: Abstraction, Inheritance, STL (PDF) Lecture 5 Examples (ZIP) (This Zip folder contains 6: .cpp and 1 file): badswitch, isa, shape, stlqueue, stlvector, vector
6 Design Patterns: Higher-Level Program Design (PDF) Lecture 6 Examples (ZIP) (This Zip folder contains 6: .cpp, 1 .h and 1 file): composite, ptrs, shared_resources, strategy, vector, vector_unique
7 Introduction to Projects: Unit Testing, Third-Party Libraries, Code Review (PDF)  
8 Project Environments: Iterators, N-Body Problem, Setup (PDF) Vector Math Header (H)
9 Visualization: OpenGL, Makefiles, Large Projects (PDF)  
10 Course Recap, Interviews, Advanced Topics: Grab Bag & Perspective (PDF)  

Course Info

As Taught In
January IAP 2014
Learning Resource Types
Problem Sets with Solutions
Lecture Notes
Programming Assignments with Examples