CPSC 225: Intermediate Programming
Spring 2005


Stina Bridgeman
Lansing 312, x3614

Course Description

This course continues the study of programming begun in CPSC 124. We switch to C++, a language widely used by professional programmers. C++ is similar to Java in many ways, but is a more complex language and offers many low-level features (such as direct manipulation of the computer's memory) that Java does not. C++ also removes some of the automatic checks and "safety belts" that Java provides.

The goal of this course is to build on your skills as a programmer, by reviewing and extending object-oriented programming concepts from CPSC 124 (including classes, inheritance, and polymorphism) and by adding new language features (including pointers, reference parameters, operator overloading, and templates), new algorithmic techniques (recursion), and new data structures (including linked lists, stacks, queues, trees, and the standard template library). Continued attention will also be given to "how to think like a programmer" - that is, the fundamental logical thinking and problem-solving skills which are independent of the particular language being used.

Office Hours

M 3-4pm, T 1-2pm, W 3-4:30pm, F 9:30-10:30am
or by appointment (schedule)

Class Hours and Meeting Place

MWF 1:55-2:50pm, Lansing 300

Course Links


[4/28] Review information for the final exam has been posted.

[4/12] Solutions for exam #2 have been posted.

[3/31] Review information for exam #2 has been posted.

[3/27] There will be no class on Friday, 4/22. I'll be at a conference.

[3/27] The file pqlistnode.cc was left out of the batch of files provided for you for homework #7. I've now added it to the rest of the files in the /classes directory - if you have already copied the files, make sure you copy pqlistnode.cc separately. You'll need it if you write a tester for your priority queue (which you probably really ought to do).

[3/26] The maze solver part of homework #7 has been turned into a bonus. You can do some or all of the parts (more parts = more points, of course).

[3/2] Information about the final project has been posted on the syllabus page.

[2/28] Homework #6 has been posted on the syllabus page.

[2/25] A small fix has been made in the gcd definition in homework #5. Depending on how you implemented it, you may not have had a problem with the old definition.

[2/21] Homework #5 has been posted on the syllabus page.

[2/21] Solutions for exam #1 have been posted on the syllabus page.

[2/11] A review session for the exam will be held at 6:45pm on Tuesday 2/15.

[2/11] Review information for exam #1 has been posted.

[2/7] Two changes to homework #3 - the deadline has been extended to Wednesday 2/16, and the smart brain is now a bonus (instead of being required). There will, however, still be a new homework assigned on 2/9 and also due 2/16, so don't treat this extension as an excuse to forget about tetris for a week.

[2/5] Some answers to clarification questions for homework #3 have been posted - look for the "clarifications" section at the end up the homework handout.

[1/31] Yet another homework #2 correction: It turns out that there are two mistakes in the book's windchill formula. *sigh* The first is that both exponents should be .16. The second is that the formula given is for a wind speed in km/hr NOT m/sec.

So...if you want to fix your program you can either convert the windspeed to kph instead of m/sec and then use the formula as given in the book (with both exponents .16), or you can use the correct m/sec formula: 13.12+.6215*t-13.95*v.16+.486*t*v.16 You can check your results using the table at http://www.nws.noaa.gov/om/windchill/index.shtml - you should get something close with your program.

If you don't want to correct your program and just apply the formula as given in the book using m/sec windspeed, that is fine too.

[1/30] Office hours change this week - Tuesday's office hours will be 1:30-2:30pm, and Wednesday's hours will be 4-5pm.

[1/28] ...and now the homework #2 handout has the right miles to meters conversion.

[1/28] Homework #2 correction: your program for #1 should have the user enter the wind speed in miles per hour (not meters per second), as well as the temperature in Fahrenheit instead of Celsius. The homework handout has been updated with this information, and with the conversion from miles to meters.

[1/24] Homework #2 has been posted on the syllabus page.

[1/24] Solutions to the two quizzes so far have been posted (see the link above). Additional solutions will be added as more quizzes occur.

[1/3] Welcome to CPSC 225! You should take a few minutes to familiarize yourself with the course website, since all important information will be posted here. Check back often for new information.

Valid HTML 4.01!