CSE 232: Programming Skills Workshop

Professor: Chris Gill
Office Hours: Lopata 400 (CEC Unix Lab) Wed 3:30-5:30pm, or Bryan 506 by appointment
Contact Info: phone: (314) 935-7538 e-mail: cdgill@cse.wustl.edu

Fall 2007

This page is available through: http://classes.cec.wustl.edu/~cse232/
and through: http://www.cse.wustl.edu/~cdgill/courses/cse232/


Course Description

This course is intended to give an overview of, and hands-on experience with, practical implementation and debugging skills to help beginning C++ programmers. Topics for discussion and practice exercises will include compilation and linking, debugging, memory management, pointers and references, and using code libraries provided with C++.


Times and Locations

All meetings of this course will be held in the Lopata 400 Linux Lab, from 7 to 9:30 pm each of the four Tuesdays in September, 2007.


Discussions/Lectures

The discussions/lectures will consist of a cycle of presentation, a hands-on exercise, and discussion and follow up questions. Each of the four sessions will focus on a particular theme in C++ programming, and each session will build on material covered in the previous sessions. Slides from the presentations, and other relevant materials, will be linked to this web page in the section below, as we progress through the four sessions of the course.

Date Topic Slides and Other Materials
Tue, Sep 4 Using the C++ programming environment in Linux  

Presentation slides:
C++_unix_environment.ppt

Source code files: hello.cc and listargs.cc

Script files: build_hello.sh and build_listargs.sh

Makefile
Tue, Sep 11 Moving information into, within, and out of C++ programs   Presentation slides:
C++_io_manipulation.ppt

Example code:
io_exercise0.cc
io_exercise1.cc
io_exercise2.cc
io_exercise3.cc
io_exercise4.cc
io_exercise5.cc
Tue, Sep 18 Debugging tools and techniques   Presentation slides:
C++_debugging_in_Eclipse

Example code:
Makefile

(for the first part of the lab)
prefix_adder.h
prefix_adder.cc


(for the second part of the lab)
bad_prefix_adder.cc


Tue, Sep 25 Memory access and management in C++   Presentation slides: C++_pointers_and_references.ppt

Example code: array_exercise0.cc
array_exercise1.cc
array_exercise2.cc
array_exercise3.cc
array_exercise4.cc


Texts and Other Resources

There will not be a required text for this course, but if you're looking for one that strikes a good compromise between completeness and readability, the text for CSE 332 is worth considering:

Other information sources:


Grading

Grading in this course will be based entirely on attendance at, and active participation in, the four course meetings. If you are unable to attend one of the sessions for any reason, please contact the professor as soon as possible to arrange to make up the exercises, and to get help with any questions, for that session.