|Syllabus||Calendar||Homework Assignments||Moodle||PSP||Recipes||Language stuff||Coding examples||Daily Survey|
I learned on January 13 that I was teaching this course, so not everything on this Web site is set up yet. I'll fill things in as the semester goes on.
In the first week of class, I'd like you to fill out this pre-term survey, so I know what your backgrounds are.
Subsequently (ideally every few days), I'd like you to fill out the daily survey to help me keep track of what people are finding easy, and what people are having trouble with.
My office hours are M 11:00-2:00, TTh 1:30-3:00, W 11:00-1:00.
Tutor Anton Soradoi (e-mail
will have office hours in Alumnæ 112
(the Math/CS Department computer lab) M 2:00-6:00 PM, W 4:00-6:00 PM, F 2:00-4:00 PM.
If the door is closed, knock.
This is a first programming course; it doesn't assume that you have done any computer programming. If you have, however, you may still learn a lot from it; talk to the instructor to decide whether you should skip it and go into CSC 172.
The course is open to CS/CMIS majors, minors, and people who just want to learn what this "computer programming" thing is all about. CS and CMIS majors should take this course in their first or second semester, as it's a prerequisite for many other CS courses. For math majors, this course counts as your programming requirement. For students majoring in something other than CS, CMIS, or math, this course counts towards your math/science distribution requirement. Such students are welcome, but may wish to consider taking the less-intense CSC 160 instead.
Although the course has no prerequisites, it is nonetheless hard work. Lectures will not cover everything you need in order to complete the homework assignments; you need to read the textbook too. There will be five to eight homework assignments, most of which will require hours of programming, either in a computer lab or at your home computer.
This course meets five (5) times a week: lectures on Monday, Wednesday, and Friday mornings, and labs on Monday and Wednesday afternoons. You must register for both section 1 (lecture) and section 10 (lab). You are expected to attend both lectures and labs; we'll have new material to cover in both. This is a 4-credit course, which means you should expect to spend 12 hours/week on it: 3 in lecture, 3 in lab, and another 6 on homework and reading.
My experience teaching various beginning programming courses over the years has shown the importance of keeping up with the schedule. Students who fall behind tend to stay behind, and either drop or fail. I don't want anybody to drop or fail; if you fear that you're falling behind, talk to me as soon as possible and I'll work with you to solve the problem while it's still solvable.
I've ordered three textbooks for this course:
To do programming assignments on your home computer, you'll need to download and install the Java development environment BlueJ.
For many examples in this course, we'll use the
testing package rather than JUnit, because JUnit is a pain to use on methods
that return complex data types. You can download
tester.jar and save it on your home
computer or the lab computers, then (in BlueJ) go to the "Preferences" menu
command, choose "Libraries", then "Add", then select this file. You can learn
more about the
tester package here. Unfortunately,
the links in the "Samples" section of at that site are broken; here is a sample testing class.
If you use Windows, I've set up a package
of BlueJ modifications which installs tester.jar, sets up BlueJ so
that "Create Unit Test" creates a tester-based test class rather than a
JUnit-based test class, and various other things work better. To use
it, download and uncompress this file,
open the resulting folder (named "BlueJ stuff"), and double-click the
icon labelled "copystuff".
This will copy the relevant files into the
right places. You can do this on the lab computers, and it'll work
until the next time that computer is rebooted. If you have BlueJ
installed in on your home computer in
C:\BlueJ, you can do
it once on your home computer and never worry about it again.
(If you have BlueJ installed somewhere else, you'll need to edit the
"copystuff" file and correct the location, then double-click it.)