What is CS34?

CS34 is Introduction to Systems Programming. In this half-credit, mandatory S/NC course, you will work in labs to learn concepts of systems programming using C and C++.

Who is teaching CS34?

Professors Tom Doeppner (twd) and Pascal Van Hentenryck (pvh) are teaching this course with the help of an undergraduate TA staff.

Are CS32 and CS34 the same class?

No. CS32 and CS34 are completely separate courses with separate instructors and TA staffs. The courses, however, will work hard to make the workload reasonable (no more than CS32 in previous years, and hopefully less).

What are the prerequisites?

We expect that all students who intend to take CS 34 have had some background in a programming language. Students who have taken CS 15 or CS 17, or some other suitable introductory programming course should be ready to take CS 34. Remember that the focus of this course is procedural programming, not object-oriented. Contrary to BOCA, CS 31 is no longer a prerequisite, though some knowledge of some of the latter concepts in CS 31, such as linking/loading might be useful.

Do I have to take CS34?

CS34 is optional, but HIGHLY recommended. Most upper level systems courses and many potential employers require that you know C and/or C++. Also, systems research projects may require C/C++. CS34 is not a concentration requirement.

What will I learn in CS34?

We will cover explicit memory management, low-level management and traversal of data structures, the effect of machine architecture on portability, and simple interprocess communication. We will cover advanced C++ features, such as templates and the various models of inheritance. In other words, you will learn what is necessary to be an effective C and C++ programmer.

When will CS34 be held?

There will be one lecture per week for CS34, on Wednesdays in the N hour. However, we will only be using the first hour and a half of this time slot; lecture will not be 2.5 hours. In addition to lecture, students must attend two of four lab sessions per week, which will be scheduled closer to the beginning of class.

Questions? Comments? Concerns?

Email cs034tas@cs.brown.edu