Course Syllabus, C++ Programming - Intro


This page last updated on: Jan 14, 2002


Contents:


General Information

Course Name

C++ Programming: Introduction Certificate: C++ Prog 711 A EDP: 59133 021

Instructor

Cliff Green

Instructor Contact Info

E-mail: cliffg@codewrangler.net
Phone: 206-363-9852 (7 pm - 9 pm), 425-867-7234 (1 pm - 4 pm)
Web: http://uwteach.codewrangler.net/

Note: I occasionally travel out of town or have work project commitments, so phone call and e-mail replies might take an extra day or two during those periods.

Term

Winter 2002, Jan. 7 - Mar. 25 (note that there are no classes on Jan. 21 and Feb. 18), Mondays 6:00 - 9:00 pm, EE1 003

Textbook and Other C++ Resources

The textbook for this course is: There is an online edition of this book, as well as early drafts of the second volume available for downloading at: http://www.bruceeckel.com/Books.

Two other textbooks which should be in every C++ programmer's library:

Other C++ resources include these recommended books and links: Other C++ Resources

Course Requirements

The minimum requirements for passing the course are:

Description, Prerequisites, and Objectives

This course will have the following main areas of concentration:
  1. Learning the primary syntax, features, and capabilities of C++. This includes discussing the advantages and disadvantages of various features, and when to use them.
  2. Applying basic object-oriented design and programming concepts. To gain the greatest benefits from using C++ as a programming language, a solid understanding of object-oriented design principles is necessary.
  3. Learning how to use C++ class libraries (including the C++ standard library), useful for quickly and effectively developing applications. Besides the C++ standard library, there are many useful libraries such as Boost: http://www.boost.org/
Effective C++ class design and implementation tends to partition C++ programmers into two groups - the application developers who use C++ class libraries to solve application level problems and objectives, and the developers who design and program the class libraries. Using C++ class libraries tends to simplify and speed application-level development compared to traditional C programming methodologies, while designing and implementing the class libraries themselves tend to be harder than the typical C programming approaches. This course will provide the initial design and implementation techniques of class library development, while also concentrating on the benefits and techniques of using C++ libraries from the application level. The intermediate and advanced C++ courses will delve deeper into the more complex aspects of class library design and implementation

A number of software development side-topics will be discussed as time allows, including testing techniques, exception handling strategies, portability issues, design tools, software components, and software development methodologies.

Prerequisites

Familiarity with most of the C language fundamentals and features is expected. There will be minimal review of advanced C topics. Specific prerequisites include: Access to a C++ compiler supporting templates, C++ exceptions, and a recent version of the standard C++ library is required (which includes all modern C++ compilers). All input and output will be character and text based, so a windowing environment is not required.

Objectives


Grading and Assignment Info

80% of the grade will be from the course project and assignments, and 20% from tests. The emphasis of this class is on the project and assignment work, since it is a C++ programming course. There will be two tests, one at mid-term and one final. The tests will be relatively simple and short, aimed at verifying you are the true author of the assignments, and covering the basic concepts from the lectures.

Important -  Other Grading and Assignment Info


Administrative and Legal Info

The following page contains information on classroom closure situations, assignment originality and plagiarism, and disability accomodations: Administrative and Legal Info


This page constructed by Cliff Green, Copyright © 1997-2002.