CS-200 Course Description

Catalog Description

This is the course description as it appears in the Queens College course catalog.

CS-200, C and C++ Programming

2 hours, 2 credits. Prerequisite: CS-103.

Instruction in and general programming using the C and C++ languages. Object-oriented design and UNIX.

More Information

The catalog description tells what we'd like to cover in this course, and you will indeed have an opportunity to learn all four topics (C, C++, object-oriented design, and Unix). To do so, though, you will have to do a lot of self-study outside the class using the resources that we provide you.

What you actually get by taking this course is chance to do a lot of programming exercises in C++ while working in a Unix development environment.

C++ is built on the C language, but it is not just a superset of C. Certain language constructs have different meanings in C and in C++. So, rather than have you learn C, and then have you unlearn parts of it and start learning C++, we will focus entirely on programming in "pure" C++. Along the way, we will point out semantic differences between the two languages, but our focus always will be on coming up to speed with C++.

Object-oriented design can refer both to a way of approaching problems and to the use of specialized tools for documenting solutions to problems. The course will help you to understand the object-oriented view of the world, but it does nothing to introduce you to object-oriented design tools and methodologies. There just isn't enough time for that.

There is a lot of hyperbole associated with object-oriented design and the C++ language. The course tries to be objective in its treatment of these subjects.

The Development Environment

Each student in the course has an account on a Unix timesharing system, qcunix1.acc.qc.edu, which is a Digital Equipment Corporation dual-processor Alpha computer running Digital Unix, a version of Unix System V. Some PCs running Microsoft Windows on campus are equipped with software that allows you to log into qcunix1 using the X Window System. The X Window System will provide you with a graphical user interface to Unix, but your interactions with the system will be primarily command-line oriented in keeping with the traditional form of interaction with Unix systems.

You will learn enough about Unix to manage your files, send and receive mail, use a few of the standard Unix utility programs, and to compile/test your exercises. The compiler and debugger programs you will use are industry standards from the Free Software Foundation (Project GNU): g++ and gdb. You will also have the use of a graphical user interface to gdb, called ddd, which comes from the Technische Universitaet Braunschweig, Germany.

Some students have access to commercial C++ development systems that run under DOS/Windows (Borland, Microsoft, Watcom, etc.) All the work that you do for this course, however, must be developed under Unix using the tools on qcunix1. If you do have access to a DOS/Windows development system, don't use it for this course! You will spend more time converting a DOS/Windows program so that it will run under Unix than if you just wrote it under Unix in the first place. Besides, the exams for the course will test your knowledge of the Unix development environment. If you want to, you can "port" your exercises for this course back to DOS or Windows, but don't try to work the other way around. By the way, a lot of C++ programmers develop applications for Microsoft Windows. This course, however, has nothing to do with developing Windows applications.

Note: It is possible to dial into qcunix1 from off-campus, but the X Window interface is available only from on-campus PCs because of the nature of the communication links to the college.

For More Information

Students who are registered for the course will access course materials at the Home Page for CS-200. Of course, anyone else who is interested can go there too.

Christopher Vickery
Queens College of CUNY
Home Page