Introduction to Computer Science |
(return to course list)
Advanced memory management features of C and C++; the differences between imperative and object-oriented paradigms. The functional paradigm (using LISP) and concurrent programming (using C and C++). Brief survey of other modern languages such as Python, Objective C, and C#.
Prerequisites: Programming and problem solving at the Programming Abstractions level. Prospective students should know a reasonable amount of C++. You should be comfortable with arrays, pointers, references, classes, methods, dynamic memory allocation, recursion, linked lists, binary search trees, hashing, iterators, and function pointers. You should be able to write well-decomposed, easy-to-understand code, and understand the value that comes with good variable names, short function and method implementations, and thoughtful, articulate comments.
Jerry Cain is a lecturer at Stanford University in the Computer Science Department.
Complete Course Material Downloads:Course Handouts: The ZIP file below contains all of the course handouts for this course. If you do not need the complete course, individual documents can be downloaded from the course content pages.
This work is licensed under a Creative Commons Attribution 3.0 United States License.