Programming with C++ - 22C:109:SCB   (Fall 2006)
Class Info
Instructor: Greg Nichols
E-mail: gregory-nichols <at> uiowa <dot> edu   (use e-mail when possible, please!)
Where/When: 6:30PM - 7:50PM, Mondays and Wednesdays; 5:30PM - 8:00PM Tuesdays - 301 MLH
Office Location: IDEA Lab, 317 MLH
Office hours: Monday and Wednesday, 5:15 - 6:30, or by appointment
Class Description
Topics include basic constructs in C++; class specification; multiple inheritance, operator and function name overloading; virtual functions and templates; basic concepts of data abstraction and object-oriented programming in C++. This course is not intended for computer science majors who have C++ experience.
Syllabus
Syllabus in PDF format (44 KB)
Review Stuff
Midterm Review
Final Review
Final Exam
Tuesday, December 12, 2006, 4:30 - 6:30, in 218 MLH (the regular room)
Announcements
December 17, 2006: Both Project 6 and the final exam have been graded, and final course grades are posted for (almost) everybody. I'll submit them in a day or so as soon as I get an issue with one person cleared up. Thanks for a good semester, and I hope everyone has a nice break.

November 27, 2006: Projects 4 and 5 have (finally) been graded, and project 6 has been posted. You've got a few more days to work on Project 6 than you did on the others - it's due on December 8 (yes, after the last class). But start on it anyway.

November 8, 2006: Due to a few ambiguities in the assignment (and the fact that we haven't been able to talk about it yet), the duedate for Project 5 has been pushed back a few days to Friday, November 17.

November 6, 2006: There will be no class tonight - November 6. I have come down with some variation of the flu, and let's just say it's not pretty. So tonight: no class. We'll meet again on Wednesday. Project 5 will be posted by classtime, though.

October 18, 2006: Project 4 is now available. Go get 'em.

October 17, 2006: Midterm grades are now posted. This didn't go so well for some of you, but keep in mind this exam was only 15% of your grade. We'll go over it in class tomorrow. (Some stats for ya: Min=45, Max=86, Average=69.57, Median=74.5, StdDev=13.99.)

October 11, 2006: Small "oops" on homework 3. While the function itoa is usually included in the C Standard Library, it seems to be not defined for the combination of software on the school's Linux machines. So if you've chosen to implement the int constructor for Project 3, check out the sprintf function instead, which does compile and work fine. (There are some pretty relevant examples on the linked page).

October 4, 2006: Project 3 has been posted. There's a lot of small parts to this one, although I'm hoping that overall, it won't be too difficult. You'll want to get started early though, just in case you run into trouble.

September 20, 2006: Turns out the whole EOF thing works a bit differently in Windows than it does in Linux (but not much differently). Check out wordread.cpp, which has been updated with a giant comment explaining how the whole EOF thing works. The Project 2 PDF has also been updated, although just the assignment notes - the project itself has not changed at all.

September 18, 2006: Project 2 is online for your coding pleasure, and a ProjectTwo directory has been created in the submit program. You'll probably want to get started on this one sooner rather than later, especially if you're not comfortable with linked lists.

September 1, 2006: I've made a ProjectOne directory in the submit program, so it is now possible for you to turn in your project. Sorry about that.

August 30, 2006: Project 1 has been posted. Go read it. Start early, ask questions.

August 28, 2006: All my office hours will now take place in 301 MLH (the large computer lab), not 317 MLH, and that some office hours on Tuesday night have been added as well. Even so, you'll be able to find me in 317 MLH quite a lot of the time. Also: the first homework assignment will be posted shortly.

August 24, 2006: The simple program we wrote in class has now been commented heavily and posted alongside the notes. In the future I'll try to post most of the code that gets written or used in class. Also, the first assignment will be posted here by Monday. Also also, if you're still unfamiliar with the Linux systems we use here in the grand ole' CS department, check the resources page for a guide to using them for C++.

August 22, 2006: It was decided in class yesterday (by me, but I didn't hear any complaints) that office hours should be held before class, so I've set them to be Monday and Wednesday, 5:15 (ish) - 6:30, in MLH 317 (the IDEA Lab). If that doesn't work for you, please let me know - I'm available via e-mail (freakishly often) and by appointment if necessary. Or just stop up - I'm here most days.

August 14, 2006: The syllabus for this class is now available above, as well as a schedule that is currently content-free but will soon be filled with all kinds of informational goodies. Note that this is all a work in progress, and will probably change before class starts...

August 1, 2006: Page created. I'm still working out the details for this course, but watch this space! More info will be up soon.