CSC 180: Introduction to Computer Programming

University of Toronto, Fall 2001

Lecturer:

Alan J Rosenthal
[e-mail address removed from web page because of spam harvesting -- you can guess it from the URL]
SF 4308E
ext 1976

Lectures:

Section L0101Section L0102
M 3, GB 221W 4, MC 252
W 5, MC 252R 2, MC 252
F 12, GB 248F 1, GB 244

Lecturer office hours (during the term):

Mondays 12:30-2:30 and Wednesdays 1:30-2:30, or by appointment.
We may move to a larger room sometimes, in which case I will leave a note on my door.


Books:

Topics:

This course is about computer programming. Topics will probably include (in addition to basic computer programming constructs): data types and expressions, modules and top-down design, data representation, external files, searching and sorting, some numerical methods. It will not make you into a qualified computer programmer but it is intended to be a good start.


Schedule:

Assignments are submitted on the computer itself; you don't hand in any paper, although we will hand you back some paper. Submission instructions are included on the assignment handouts.

Grading scheme:

Assignment 1:5%due Thursday October 4 (midnight)
Midterm 1:15%mid-October, different room and time, TBA
Assignment 2:5%due Thursday November 8
Midterm 2:20%mid-to-late November, different room and time, TBA
Assignment 3:5%due Wednesday December 5
Final exam:50%as scheduled during the December exam period

Late assignments will only be accepted under exceptional circumstances and with a written explanation. To submit an assignment late, submit it in the usual way and then send me an e-mail message or bring me a note. Without that note, I will not even notice the additional submission in the submission directory because we will already have extracted the files.

Assignments will be returned in tutorial. Any disagreements with the grade assigned should normally be submitted to a TA or the lecturer within a week. Regrading requests submitted after that might be taken less seriously unless we made a substantial grading error; as well, you then probably won't get your work back until the very last tutorial.

Work submitted for regrading during the last two weeks of classes will not be returned until after the final exam. (You may wish to photocopy it first.)


E-mail policy

E-mail is a very effective way for you to consult me about course matters, and I highly recommend it. However, I cannot guarantee any particular response time.

I expect to know to whom I am speaking; if your mail program does not include your real name in your message headers, please state it in the message body (first and last name).

If you are asking for an explanation of compiler error messages or making similar detailed reference to your program, please be sure to include enough of the program for me to be able to diagnose the situation. It is okay to include 50 or 100 lines of code in your e-mail message if applicable. Please copy it into the message body rather than sending it as a separate attachment.

Do not send HTML e-mail. See http://www.geocities.com/CapitolHill/1236/nomime.html for an explanation and for advice on disabling HTML transmission in a variety of mail programs.


Collaboration and plagiarism

I would like to encourage you to work on the course material with others, but you must take care that it does not turn into plagiarism.

Plagiarism is the representation of someone else's creative work as your own. If you submit an assignment containing someone else's work, this constitutes the academic offence of plagiarism and will be taken very seriously! With course work, in which you are expected to submit something on your own and thus cannot put a collaborator's name on it, the line between collaboration and plagiarism becomes more difficult to draw. Thus we will set the following guidelines:

You may discuss general approaches to assignments with others, but you may not bring your own actual solutions (complete or partial) to such discussions, and you must not take away any written notes from such discussions. In particular, the final write-up of your assignment must be done in isolation from others, and you may not type assignment code into a computer together.
It is not difficult for graders to detect excessive collaboration. Note that it is also an offence to assist others in committing plagiarism.


CSC 180 versus CSC 181

Please ask me if you are not sure whether you should be in CSC 180 or CSC 181. You should be in CSC 180 if you have never written a computer program before (HTML isn't programming); you have only written assembly language or Basic programs; you have never written a computer program from scratch (modifying other people's programs is a valuable skill but doesn't cover everything); or you have never written a program longer than several dozen lines.

However, you should definitely be in CSC 181 if you have written programs in several computer programming languages; you have had a summer or part-time job as a computer programmer; or you have written a large computer program which is used by other people.


[
main course page]