Computer Science 249a: Fall 2014
Overview | Details | Materials | Assignments | Exams | Policies
This course examines object-oriented programming techniques and issues, emphasizing programming as modeling and simulation. Covers the role of programming conventions, style, restrictions and patterns to leverage object-oriented programming programming-in-the-large.
The objectives of the course are to
Students will design and implement a simulation in C++ in several stages, applying the techniques covered in the course. There will be a closed-book midterm and a final exam.
For more background information, see the email sent out to advertise the course last year.
We won't be posting solutions to the midterms, as all of the needed information can be found in the class readings. If you have a question, you are welcome to email the TAs or come to office hours.
We won't be posting solutions to the finals, as all of the needed information can be found in the class readings. If you have a question, you are welcome to email the TAs or come to office hours.
We expect the programming assignments to be done individually or in small groups of two. This may seem odd since the techniques and approaches covered in this course are useful for large team projects. However, we want to ensure a relatively uniform experience for all students, i.e. to avoid the usual situation in team projects where one student does the bulk of the work and the others make only a minor contribution.
Of course you are permitted and encouraged to discuss design strategies with one another, but there should be no sharing of code or header files, and all assistance (other than from the TA or instructor) must be cited. See this link for more detailed explanation of what is permitted and what is not.
You may work on the assignments on any Unix machine with a modern C++ compiler and debugger. But since we will evaluate your assignment on one of the myth machines we strongly recommend that you test your code on one of these machines, which can be accessed via ssh at myth.stanford.edu
You should receive an additional 100 MB of disk quota on your afs drive within two days after registering for the course in Axess. Email us if the extra quota proves insufficient.
It should go without saying, but because computer science project courses have a long and ugly history of honor code violations, we will say it anyway:
The Stanford honor code applies to all work done in this course. All work you submit must be your own. Suspected violations of the honor code will be investigated and referred to the Board on Judicial Affairs.
Honor code violations are a serious matter, and being found guilty of one can ruin your academic career. Review the honor code. If you ever find yourself uncertain about how it applies to your situation, ask. Asking what you might think is a silly question is better than risking your career.
No incompletes will be given in this course, so make sure you determine before the drop deadline whether you can complete it satisfactorily.