b COMP-206B


COMP-206: Intro. Software Systems

WARNING: This page holds supplemenary information and is not the course home page.

Notes on python can be found here in PDF form. THESE ARE NOW THE NOTES FROM thr 2012 lectures. ***

Intro. Software Systems is a course dealing with prgamatic issues related to the develoment of working software tools. This page provides information for the course taught or co-taught by Gregory Dudek in the School of Computer Science, McGill University.


Recent news and updates are listed below


General Information

(3 credits; 3 hours; (Prerequisites: 308-203 or 308-250.)
The purpose of this course is to provide the student with the ability to write system-oriented programs on UNIX, to create software that interacts with the operating system, and to exploit UNIX tools in the software development process.

The topics to be covered are: Overview of programming in C, use of system calls and libraries, debugging and testing of code; use of development tools like make, version control systems, perl, python.


Professor G. Dudek,
    School of Computer Science.
    Meetings by appointment.
    Telephone: 398-4325.
    Email: dudek@cim.mcgill.ca
    (use cs206 email for normal questions, especially as related to assignments.)

Hot news Important news



Course related books :

0. Python Tutorial and all related documentation. A big downloadable zip file.

1. C for Java Programmers by Tomasz Muldner.
ISBN:0201702797, March 2000, Published by Addison Wesley.

Available from Amazon.com :
or Amazon.ca: cover

2. Learning Python by Mark Lutz and David Ascher.
ISBN: 1565924649
Publisher: O'Reilly & Associates.
from Amazon.ca
or amazon.com.

Note: the reference below (0) on UNIX is also particularly recommended.

Other reference texts:

(Should you buy these? Yes, if you can afford it. I particularly recommend 1 and 5.)

0. Learning the Unix Operating System by Jerry Peek, John Strang, Grace Todino. ISBN: 0596002610 O'Reilly & Associates, Inc. All about UNIX. About $30; 15 per cent off cover from Amazon.ca.

1. Linux Shells by Example (with CD-ROM) by Ellie Quigley. ISBN: 0130147117, Prentice-hall. Shell programming and related UNIX tools. From Amazon.com or from Amazon.ca

2. The Zope Book by Michel Pelletier and Amos Latteier. Much of it is available as downloadable as PDF (about 5 Meg).
If you use zope you'll probably want to refer to it in the future; it's a worthwhile buy.

3. Zope itself can be downloaded here.

4. Learning the Unix Operating System (5th edition) By Grace Todino, John Strang, Jerry Peek. ISBN: 0-596-00261-0. http://www.oreilly.com/catalog/lunix5/

5. UNIX Power Tools

  • Mercurial book from Amazon.ca
  • Or from the USA (sometimes faster, even in Canada): Mercurial book from Amazon.com


    308-250 or 203. You are expected to know java.

    Syllabus and details

    There will be a total of about 26 lectures. The approximate sequence of major topics is as follows (tentative):

    Other Information

    Senate on January 29, 2003 approved the following resolution on academic integrity, which requires that a reminder to students be printed on every course outline:

    Whereas, McGill University values academic integrity; Whereas, every term, there are new students who register for the first time at McGill and who need to be informed about academic integrity; Whereas, it is beneficial to remind returning students about academic integrity;

    Be it resolved that instructors include the following statement on all course outlines:

    McGill University values academic integrity. Therefore all students must understand the meaning and consequences of cheating, plagiarism and other academic offences under the Code of Student Conduct and Disciplinary Procedures (see www.mcgill.ca/integrity for more information).

    Be it further resolved that failure by an instructor to include a statement about academic integrity on a course outline shall not constitute an excuse by a student for violating the Code of Student Conduct and Disciplinary Procedures.

    Note: this page is maintained by Professor Gregory Dudek from the School of Computer Science and the Centre for Intelligent Machines (CIM) at McGill University.