CSC 270, Fundamental Data Structures and Techniques

General Information

Instructor Prof. Allan Jepson
Email jepson@cs.utoronto.ca
Office Hours Mon and Wed 12-1pm, Erin 4041
Office Phone 828-3813
Lectures MW 10am, Rm 3127
Tutorials Friday 10, Rm 3131
Course Description CSC 270 Syllabus

Course Texts

[TEXT] K. N. King, C Programming: A Modern Approach, W. W. Norton, 1996.
This is an excellent reference for ANSI-C (i.e. modern C), but it only briefly introduces C++. We will need more C++ in this course, so you might think of buying a combined C and C++ book instead. For example, the book by H. Schildt, "C++, the complete reference", Osborne McGraw-Hill, is ok. Whatever you get, make sure the text covers ANSI standard C, not one of the other dialects. Marking will be based on correctness according to the ANSI standard.

Course Notes

Links to course notes and other material are given below:
Numerical Methods Postscript Chapter
Simulation Postscript Chapter
Simulation Example C++ Source Code: sim.cpp

Can't print postscript? See Aladdin Ghostview postscript previewer for Windows and Macs.

The above notes and additional material are also in the Erindale library. File or reference number 2402 contains the current notes, 2411 the older ones.

The librarian tells me that there is often a problem with people stealing the notes from such files. That behaviour is unacceptable, as I'm sure you agree. Please help prevent it by IMMEDIATELY reporting any items missing to the librarian. Then we can talk separately to you and the previous person using that file.

Right now, file 2402 contains three sets of the following notes:

File 2411 is currently empty.


Marking

Five Assignments 45%
Midterm 15%
Final 40%
NOTE: In order to pass this course. you must receive at least 30% (out of the maximum possible mark) on the final exam.

Late Policy

Assignments are due by the beginning of the tutorial.
Penalties for late submissions are as follows:
Time of Submission Percent Deducted
At end of tutorial (on F) -10% (of the maximum mark)
At beginning of Monday's lecture -30%
At beginning of Wed's lecture -50%
After beginning of Wed's lecture -100%
Assignments completed after this will be marked and returned, but no credit will be given.

Plagarism

It is your responsibility to know the policy on plagarism.

Illness and other troubles

If you are too sick to write the midterm test, or to hand in an assignment on time, you will need a doctor's note. Contact your instructor as soon as possible.

If you are too sick to write the final exam, phone the Registrar at Erindale as soon as possible.


Assignments

Links to assignments and related information are provided here.
Assignment Number Percent Subject Link Due Date FAQ
Asgn #1 5% Solving Linear Systems postscript Oct. 3 Confused?
Asgn #2 10% Adaptive Integration Postscript Software Oct. 17 FAQ to appear
Midterm 15% Oct. 24
Asgn #3 10% Heaps Postscript Nov. 14
Asgn #4-5 20% Event-Driven Simulation Directions Dec. 5

What to hand in?

The goal of your submission is to persuade the marker that your programs do the right thing. And, as always, a sensible approach is to make the marker's job as easy as possible.

Hand in printouts of your programs (both .c and .h files), which must be well formatted and have clear comments. ``Clear" does not mean ``as long as you can manage'', but rather it means precise, thorough and brief.

Hand in copies of your test data files and of the corresponding output. Label them clearly using a pencil or pen. It may be obvious to you what a test run means, but it is not to anyone else. Describe the meaning of the various test runs in a short report. Other material that may be required, such as a mathematical analysis of the problem or algorithm, should also go in such a report.

Programming style

All programs submitted as part of an assignment should confirm to the minimal style requirements.


Lecture materials

Links to some of the programs used in lectures and other information are provided here.
Lecture or Tutorial Date Item
Mon., Sept. 8 sum.c
Wed., Sept. 10 seeBits.c

Illustrative example programs.

I am collecting simple example programs that illustrate basic operations in C and C++. A VERY useful exercise is for you to quickly look over these programs. If there are things you are not sure of, download them and try them out. Make modifications, such as adding print statements, until you understand them.

You can try them on the Erindale Computer Lab machine tuzo.erin.utoronto.ca. You can copy these programs using the web. For your convenience I've also made copies of all these programs in the directory on tuzo: ~jepson/270/src/

On tuzo the compiler gcc isn't available, use cc instead. These simple examples can be compiled using: cc progFile.c -o progFile Here the -o flag tells cc to output the executable in a file named "progFile". MAKE SURE YOU DON'T write the exectuable back to your source file.


Other useful material (many thanks to James Stewart)