Course Description
Ever hang your head in shame after your Python program wasn't as fast as your friend's C program? Ever wish you could use objects without having to use Java? Join us for this fun introduction to C and C++! We will take you through a tour that will start with writing simple C programs, go deep into the caves of C memory manipulation, resurface with an introduction to using C++ classes, dive deeper into advanced C++ class use and the C++ Standard Template Libraries. We'll wrap up by teaching you some tricks of the trade that you may need for tech interviews.
We see this as a "C/C++ empowerment" course: we want you to come away understanding
1. why you would want to use C over another language (control over memory, probably for performance reasons),
2. why you would want to use C++ rather than C (objects), and
3. how to be useful in C and C++.
Lecture Notes
Lectures 1-3 were given by Jean Yang; lectures 4-6 were given by Eunsuk Kang.
SES # | TOPICS | LECTURE NOTES | SUPPORTING FILES |
1 | Motivation for using C/C++; discussion of where C and C++ sit in the abstraction hierarchy; writing our first C programs | (PDF) | |
2 | The logistics of memory manipulation in C (pointers, structs) | (PDF) | (ZIP) (This ZIP file contains: 1 .c file and 1 .h file.) |
3 | More advanced memory manipulation in C. We'll show double linked-list insert in place, inserting into a linked list using a double pointer, corner cases of using memory (when we actually need heap allocation), etc. | (PDF) | |
4 | Introduction to C++; encapsulation: classes, namespaces, constructors and destructors; memory management in C++ (new, delete); operator overloading and standard input/output | (PDF) | (ZIP) (This Zip file contains: 3 .cc files and 2 .h files.) |
5 | Inheritance and polymorphism; templates; standard library containers | (PDF) | (ZIP) (This ZIP file contains: 4 .cc files and 3 .h files.) |
6 | Tricks of the trade. Things people might see in interviews, etc. Review and discussion of the covered topics, Q&A. | (PDF) | |
No comments:
Post a Comment