X459 - Fundamentals of C++ Programming

Course administration

Course Goal

Present the rules of the C++ extensions of the C language to programmers conversant in C. Introduce principles of object-oriented programming. Present rules of proper language usage and documentation to enable students to produce maintainable, reusable, and efficient programming. Students completing this course should be empowered to use C++ and the object-oriented approach to:

Intended Audience

Programmers familiar with the C programming language who wish to expand their skills to include the object-oriented approach using C++ for producing understandable, maintainable and robust programs from object-oriented building blocks.

Instructional Method

15 classroom lectures and demonstrations. Student participation encouraged and expected. Primary learning done through assignments. Several quizzes will be given through the semester to gauge student progress.

Instructor

Michael Wolfe, BS/MS, Computer Science, Stanford University. Several years experience in teaching computer science and industry experience in project management, C and C++ programming, databases, and Internet programming and technologies. Can be contacted at any time at wolfe@cs.stanford.edu. Will be available Monday nights for questions and will announce availability in lab depending on need.

WWW Support

The home page for the class current is http://www-cs-students.stanford.edu/~wolfe/cpp. From this web site students will be able to download class notes and assignments, read FAQs (frequently asked questions) about support issues, access links to other valuable C++ resources, and communicate with other students. Students are not required to have WWW access to take the class, but this site will help get questions answered quicker and will serve as an additional resource.

Programming Environment

Students may use any programming environment which supports ANSI standard C++, including templates and exceptions. No assignments which necessitate any operating system specific features or windowing or graphics systems will be given, although students will be given enough leeway in programming assignments to make use of these features if motivated.

Textbooks

Herbert Schildt, "C++ from the Ground Up" (required)

Allen I. Holub, "Enough Rope to Shoot Yourself in the Foot" (required)

Scott W. Ambler, "The Object Primer" (optional supplement)

Credit Requirements

Programming assignments 70%

Tests/quizzes 30%