CS1411 - 160 - Programming Principles I, Spring 2005
How many programmeres does it take to change a light bulb?
It depends on the language used.
In C it would take three programmers, and the light bulb would have to be removed and resinserted several times before they could get it to work. Moreover, nobody would be able to change the bulb after that!
In Ada it would only take one programmer, but before s/he could begin work, 37 bureaucrats would have to write proposals justifying the expense of changing the light bulb.
Lisp would actualy require no programmer, for once the progammer wrote the basic code, the bulb would change itself.
In Fourth the bulb would change the programmers.
And in Pascal, we'd just buy a new lamp, as it would be too much trouble to change the bulb.
The syllabus is online.
The schedule is online. This is only approximate and will change during the semester. (Apr 01, 2012, 19:20 (UTC))
Important class announcements will be posted here. Please check back frequently.
- Just as a remainder how important correct number handling is: All students that had a floating point final grade (4) got that counted as 0. Since this is 20% of the grade it seriousely brought the grades down. Thanks to Jose this error was found, and the grades are fixed now.
- Final Grades are posted in TechSIS
- Grades for the final
- Example solution for the final (programming part)
- Project 2 Grades are posted. If yoiu have not gotten your printout back, please email me and see me / tell me where i need to send it to
- Notes for the final exam are finally posted
- If you have any grade corrections, please notify me before the final. If you do it via email, please make sure that I got it (ask me at the final if I didn't reply)
- The final will be on Sat, May 7th, 10:30 - 1:00 p.m. (see Final Schedule)
- Programming assignment 2 (Apr 01, 2012, 19:20 (UTC)) is posted. It is due May 3rd. Please note: I may update it later if necessary.
- Please check the Extra credit for the 2nd prgramming test
- The second programming exam will be on april 5th, in the LAB
- Please check the Extra credit for the midterm
- I have updated the schedule. Please note: The date for the 2nd programming exam will change!
- Notes for written exam.
- Don't forget: The written midterm will be on Tue, Mar 8! Notes will be posted here soon.
- Programming assignment 1 is posted. It is due March 10th.
- Please see the Notes on the programming test.
- Don't forget: Programming test on Feb 17!
- Please prepare your questions for feb 15 for review
- The first day of class is Thu, Jan 13.
- The first lab session is Tue, Jan 18.
There are several examples for you to look at:
- Examples from the class can be found on the examples page (Apr 01, 2012, 19:20 (UTC)).
- Examples from the book.
- Examples from another 1411 class.
- example for programming exam 1 (however, there will only be about 5 functions on the actual test).
- solution for example for programming exam 1 (untested).
- Examples for written exams: Test 1 (Fall 04), Test 2 (Fall 04).
- due Jan 25: Read chapter 1+2, take 3-6 handwritten pages of notes (total, not per chapter)
- due Feb 1: Read chapter 3, take 2-4 handwritten pages of notes
- due Feb 8: Read chapter 4+5.1, take 2-4 handwritten pages of notes
- due Feb 15: Read chapters the rest of chapter 5 (5.2-), take 2-4 handwritten pages of notes
- due Feb 22: None due to programming test week
- due Feb 29 (Mar 1): Read chapters 6.1 + 9.1 (skip the rest of 6, all of 7,8), take 2-4 handwritten pages of notes
- due Mar 8: Again, none due to test
- due Mar 29: Read chapter 11 (ignore classes), take 2-4 pages
- due Mar 31: Read chapter 10.1, 10.2, -> operator from 10.3, take 2-4 pages (plese note: the date overlapps with the one for ch. 11)
- due Apr 12: Read chapter 13, take 2-4 pages
- due Apr 19: Read chapter 12 (you may ignore 12.3, but read 12.4), take 2-4 pages. Last notes!
All notes have to be handwritten and passed in during class time
- Jan 18 - 20
- Jan 25 - 27 (example solution 1, example solution 2)
- Feb 1 - 3 (example solution)
- Feb 8 - 10
- Feb 15 - 17
- Feb 22 - 24 (example solution 1, example solution 2)
- Mar 1 - 3
- Mar 8 - 10: None, you have time to work on your project. Please note: You still have to be present in at least one Lab session that week!
- Mar 22 - 24
- Mar 29 - 31
- Apr 5 - 7
- Apr 12 - 14
- Apr 18 - 21 (example solution)
- Apr 25 - 28: No mandatory lab. No attendence required. However, the TAs will still be there to help you with the project.
Please check the Extra credit for the 2nd prgramming test
Quizzes / Exams
- Quiz 1 (Feb 1)
- Quiz 2 (Feb 8)
- Programing test 1 (Feb 17) (incl. example solution)
- MidTerm (incl. Answers)
- Quiz 3 (Mar 24) (incl. explanation)
- Quiz 4 (Apr 12) (incl. explanation)
- Quiz 5 (Apr 26) (incl. answers)
- Programming test 2, Sample solution, another Sample solution
Please check these frequently. This is what I have in my records. There may (and most probably will) be errors, so please let me know ASAP.
The follwing pages may be of some help:
- Programming:C++ at wikibooks
- Programmming: C++ (2) at wikibooks
- cplusplus resources
- The cplusplus.com tutorial
A sheet of paper is a standard letter size sheet of paper. Every sheet has two pages, a front and a back page. So two pages is either two sheets which have writing on one page each or one sheet which has writing on both pages.