CS197C Syllabus


Course Description

General information about the course can be found here.

This course is a brief introduction to the C++ programming language for students with a good working knowledge of Java. Students are expected to have edlab accounts.

More specifically, We will be covering most of the features of the C++ language. Some of the topics we will cover include C++ datatypes, object-oriented features, libraries (the STL), memory management, and some advanced topics.

Important Note: Although this course is only one credit and only meets for eight weeks, it is more on the order of a "boot-camp" course rather than a "seminar" course, and as such will be difficult for the unprepared. This is much more a property of the course material rather than my teaching style - learning C++ consists of not only learning a new programming language, but learning a programming language with a huge number of features and a programming model that is lower-level (i.e., closer to the machine) than many of you may be used to. You will also have to learn to use a number of tools such as make and gdb that you may not have been exposed to - some of these will be vital if you are to successfully complete the assignments.


Pre-requisites

CS121 and CS187 or permission of instructor. More specifically, I expect you to have programmed in some language like C, or Java. You should also have some exposure to some data structures and algorithms in order to able to solve the assignments.

Grading


Policies and Procedures


Schedule

Class #DateTopics
1Jan 30, 2008Introduction, Compilers/Debuggers, Basics
2Feb 6, 2008 Data types + Functions
3Feb 13, 2008Pointers + References
4Feb 20, 2008Classes Basics
5Feb 27, 2008Advanced Class topics - Overloading + Inheritance
6Mar 4, 2008 Pointers Again
7Mar 26, 2008Standard Template Library (vectors+queues+stacks+maps)
8April 2, 2008 C++ Advanced topics + Conclusion

Nilanjan Banerjee