Instructor:
Bruce A. Draper
Office: 442 CSB
Office Hours: T: 10:50 - 11:50
Email: draper@cs.colostate.edu
GTA:
Noah John
Office: 120 Lab
Office Hours: Tues: 2pm-4pm, Wed: 11am-1pm
Email: njohn@rams.colostate.edu
GTA:
Jake Lee
Office: 235 CSB
Office Hours: R: 11:00 - 12:00 and 1:00 - 2:00
Email: lemin@cs.colostate.edu
Lecture Time and Place:
9:30-10:45, TTh, Wagar 232

CS253 is the final course in the programming sequence that includes CS160, CS161, CS200 and CS270. One goal of CS253 is to teach C++, since the previous courses in the curriculum are in Java (160/161/200) or C (270). The more significant goal, however, is to complete the process of training a professional programmer. When this course is complete, you should have a better understanding of (1) the strengths, weaknesses and roles of different languages (at least along the C,C++,Java spectrum); (2) the role a compiler plays in converting high level code to source code, and how you as a programmer can influence it; (3) when and where memory is allocated; (4) when and how memory can be reclaimed; (5) how functions are dispatched; (6) how to write efficient code; and (7) how to exploit templates well. In addition, the recitations (which are a mandatory and important part of the course) give hands-on experience with tools used for software development in Linux, including make, gdb, svn and valgrind.

News:
Grades for Assignment #3 have been posted.
Results of regrading for Assignments 1 & 2 are now posted in RamCT. If you have questions, see Prof. Draper.
Test files and output have been posted for Assignment #3 on the assignments page.

The Course Logo is from Wikimedia Commons and is an out of copyright picture by Neville W. Cayley (1887-1950).