CSC 209S: Software Tools and Systems Programming
Spring 2000
Instructor:
W. James MacLean
- Office:
D. L. Pratt Building PT290F
- E-mail:
maclean@cdf.utoronto.ca (you must include "CSC209" in the subject line)
- Phone:
978-6277
- Office hours:
Wed 2 – 3 pm, or by appointment
Timetable:
- lectures: Mondays and Wednesdays 12:10pm–1:00pm, SS2118 (L0101)
Thursdays 7:10–9:00pm, RW110
- tutorials
: Fridays 12:10pm–1:00pm (L0101, see below)
Thursdays 6:10–7:00pm (L0501, see below)
Tutorial |
Section |
Who? |
Tutor |
Room |
E-Mail |
1 |
0101 |
A–Chu |
James Fung |
SS2118 |
at209fun |
2 |
0101 |
Cu–Khad |
George Katsirelos |
SS2130 |
at209kat |
3 |
0101 |
Khan–May |
Ivan Popivanov |
SS1074 |
at209pop |
4 |
0101 |
Maz–Som |
Artur Keizner |
SS1086 |
at209kei |
5 |
0101 |
Sun–Z |
Yuxiang Zhu |
SS2111 |
at209zhu |
6 |
5101 |
A–Lew |
Catalin Drula |
RW110 |
at209dru |
7 |
5101 |
Liu–Z |
Michal Jordan-Rozwadowski |
RW142 |
at209jor |
Tutors lab hours:
To be announced. They will likely be grouped near assignment due dates. All lab hours take place in EA107.
Course Description:
- Software development techniques in the UNIX environment. Particular emphasis on what happens in the system when programs run. Core topics: software utilities (e.g. pipes, filters), shell programming, system calls, signals, file processing, introduction to concurrency (e.g. synchronization, mutual exclusion, race conditions, producer/consumer problem), processes. Additional topics may include: scripting languages, Internet programming languages, network programming (e.g. sockets).
Exclusion: After taking any 400-level CSC/ECE course, you may not take CSC209H without departmental permission in writing.
Prerequisite: CSC148H, CSC270H
Co-requisite:
Proficiency in C
Texts (required):
- J.N. Clarke (ed.), A Student's Guide to CDF (most recent edition)
Texts (useful reference):
- W.R. Stevens, Advanced Programming in the UNIX Environment (Addison-Wesley, 1993)
- B.W. Kernighan & D.M. Ritchie, The C Programming Language - second edition (Prentice Hall, 1988)
- Paul S. Wang, An introduction to UNIX (PWS Publishing Co., 1997)
- G. Glass, UNIX for Programmers & Users (Prentice Hall, 1993)
- K. Haviland, D. Gray, B. Salama , UNIX System Programming ()
- D. Butenhof, Programming with POSIX Threads (Addison-Wesley 1997)
Assignments:
|
Handed Out |
Due |
% of Final Mark |
Assignment #1 |
Week of Jan 10th |
Feb 4th |
5% |
Assignment #2 |
Week of Jan 24th |
Feb 25th |
10% |
Assignment #3 |
Week of Feb 21st |
Mar 17th |
10% |
Assignment #4 |
Week of Mar 6th |
Apr 7th |
15% |
Exams:
|
When |
% of Final Mark |
Midterm |
Feb 24th, 2000 |
20% |
Final Exam |
TBA |
40% |
Note
: You must achieve at least 35 out of 100 on the final exam to pass the course.
Illness and other troubles:
- If you are too sick to write the midterm test or to hand in an assignment on time, you must contact your instructor (not your tutor!) before the assignment/test is due. Use the telephone if you're stuck at home! You will need a doctor's note confirming your illness.
- If you are too sick for the final examination, phone your college registrar's office, not your instructor.
Course notices:
- Announcements will also be made on-line in the course Web page
( http://www.cs.utoronto.ca/~maclean/csc209/Spring00/ ) and course newsgroup ( ut.cdf.csc209h … send e-mail to ut.cdf.csc209h@cdf.toronto.edu).
- Assignments are due at the beginning of tutorials. Late assignments should be submitted to D.L. Pratt Bldg., room 283. Penalties for late submissions:
- Time of submission
:
- by 5pm on due date - penalty = - 20% (of the maximum mark)
- by 9am three days after due date - penalty = - 40%
- after 9am three days after due date - penalty = - 100%
- The late penalties are only waived for a good reason such as a documented medical or other emergency. Discuss such excuses with the instructor, not with your tutor.
- The work you submit must be your own
, done without participation by others. It is an academic offence to hand in anything written by someone else without acknowledgement.
Important Dates
- First Lecture: Monday, Jan 3rd/Thursday Jan 6th
- First Tutorial: Friday Jan 7th/Thursday Jan 13th
- Last Day to Add: Friday Jan 14th
- Last Day to Drop: Friday Mar 3rd
- Last Lecture: Wednesday Apr 5th/Thursday, Apr 6th (no term work accepted past Apr 7th)
- Exam Period: Apr 17th —
May 5th