0% found this document useful (0 votes)
149 views5 pages

COMP 206 Course Outline 2

This document provides the course outline for COMP-206 Introduction to Software Systems taught in the fall 2010 semester at McGill University. The course is an introduction to programming in C and using Unix, and focuses on integrating different programming languages and environments into a single application. The course will be evaluated through assignments, midterm and final exams, and labs covering topics like Unix, C, HTML, CGI, and Python.

Uploaded by

dudrbsla7
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
149 views5 pages

COMP 206 Course Outline 2

This document provides the course outline for COMP-206 Introduction to Software Systems taught in the fall 2010 semester at McGill University. The course is an introduction to programming in C and using Unix, and focuses on integrating different programming languages and environments into a single application. The course will be evaluated through assignments, midterm and final exams, and labs covering topics like Unix, C, HTML, CGI, and Python.

Uploaded by

dudrbsla7
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

McGill University

School of Computer Science


www.cs.mcgill.ca

Course Outline

Course Name: Introduction to Software Systems


COMP-206 Fall 2010

Instructor: Joseph Vybihal

Contact Information: Office: ENGMC 323


Office Hours: Thursday, 15:00-16:00 (or by appointment)
Monday, 11:00-12:00 (in Trottier 3rd floor labs - look for me)
Email: Use the WebCT email tool
Emergencies or non-course related: [email protected]

Course Objectives: (1) COMP-206 is a 3-credit full semester course in Software Development under the
UNIX environment. It is offered in both the fall and winter semesters, and is a
required course for students in many of our degree programs. It provides a brief but
comprehensive introduction to and overview of the C programming language and how
to use it with the UNIX environment to build software.
(2) This is not only a course on how to program in C and use Unix. This course
focuses on software systems. And this relates to how differing software, languages
and environments can be integrated to work together. In this light the course also
teaches programming in Python, HTML & CGI.
(3) The attempt will be to integrate C, Python, HTML and Unix Shell programming
into a single application solution!!
(4) COMP 206 sets the stage for follow-on courses, COMP-273 and COMP-310.
(5) This course also gives the student software management skills in the form of the
GNU tool set.

Course Description: Comprehensive overview of programming in C, use of system calls and libraries,
debugging and testing of code; use of development tools like make and version
control systems.

Texts: Primary Text:


- Software Systems; Vybihal & Azar; Hendall/Hunt; ISBN 978-0-7575-5727-9

Supplementary Texts:
- GNU Software; Louksides & Oram; O’Reilly; ISBN 1565921127 (free on web)
- Drive into Python; Mark Pilgrim; Apress; ISBN 1590593561 (free on web)
- Just Enough Unix; P.K. Anderson; McGraw Hill; ISBN 0697131726
- C Programming Language; Kernighan & Ritchie; Prentice-Hall; ISBN 0131101633

Evaluation: Assignments 30% 5 Assignments


Midterm Exam 20% Wednesday, October 27, 2010 (in class)
Final Exam 50% TBA

Tutorials: 2 Sessions (midterm and final exams)


Labs: 4 Sessions (Unix, Bash, C, HTML/CGI, and Python)

1
You will be notified in advance of assignment due dates. All assignments are due on
WebCT at the indicated time and date. Late assignments will lose 5% of its grade per
day late. Assignments beyond 2 days late will not be accepted. You may not submit
assignments via e-mail without the permission of the instructor.

Students are responsible for all materials for the tests and exams, whether or not it is
covered in class. Exams will be a combination of all types of questions based on all
sources, and students may be required to integrate theoretical concepts from the text
to substantiate their arguments.

No make-up tests or make-up assignments are allowed in this course. A supplemental


exam is possible for 50% of the grade (to replace your final exam).

If you are not satisfied with the grading of an assignment or mid-term test, you may
request a review within 7 days of return. Indicate in writing or during a meeting with
the instructor where and why you feel the marks are unjustified and give it back to
your instructor for re-grading. Note that the entire assignment or mid-term test will be
re-graded and your grade can go up or down (or stay the same) accordingly.

Course Requirements : Students will already have taken a programming course like COMP-202 before
participating in this course. With this in mind, programming will be brisk using all
the advanced features present in C and UNIX for developing software. The pre-
requisite for this course is COMP-202 or COMP-250.

Calculators
Only non-programmable, no-tape, noiseless calculators are permitted. Calculators
capable of storing text are not permitted in tests and examinations.

Dictionaries
Dictionaries are not permitted, but translation dictionaries are.

Handheld Devices
Handheld devices capable of storing text and having calculator functionality (e.g.
Palm, etc.) are not permitted.

Additional Information: The course slides are not meant as a complete set of notes or a substitute for a
textbook, but simply constitute the focus of the lecture. Important gaps are left in the
slides that are filled in during class, thus lecture attendance should be considered
essential.

The material covered in the classroom will be used to supplement textbook readings.

Every chapter should be read twice. The first reading should be done prior to
attending class and the second reading should be done after the class discussion of the
chapter. The questions at the back of each chapter follow directly from the reading.
Students should be able to answer these questions after a thorough reading of the
material.

Academic Integrity: Code of Student Conduct


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).

2
L'université McGill attache une haute importance à l'honnêteté académique. Il
incombe par conséquent à tous les étudiants de comprendre ce que l'on entend par
tricherie, plagiat et autres infractions académiques, ainsi que les conséquences que
peuvent avoir de telles actions, selon le Code de conduite de l'étudiant et des
procédures disciplinaires (pour de plus amples reseignements, veuillez consulter le
site www.mcgill.ca/integrity).

Right to submit in English or French written work that is to be graded


In accord with McGill University’s Charter of Students’ Rights, students in this
course have the right to submit in English or in French any written work that is to be
graded.

Final Exam Policy: Regulations


Students should not make other commitments during the final exam period. Vacation
plans do not constitute valid grounds for the deferral or the rescheduling of
examinations. See the Centre Calendar for the regulations governing Examinations:
http://www.mcgill.ca/student-records/exams/regulations/
Students are required to present their I.D. Card (with photo) for entrance to their
examination.

Conflicts
If you are unable to write your final examination due to scheduling conflicts, you
must submit a Final Exam Conflict Form with supporting documentation at least one
month before the start of the final examination period. Late submissions will not be
accepted. For details, see
http://www.mcgill.ca/student-records/exams/conflicts/

Exam Timetable
Examination schedules are posted at the Centre and on the following page
approximately 6-8 weeks before the examination period commences
http://www.mcgill.ca/student-records/exams/
The Centre cannot provide examination dates over the telephone.

Classroom Rules: All electronic devices (cell phones and beepers) must be turned off or left on silent
mode during class time.

Assignments Pickup: All assignments are submitted to and picked-up from WebCT.

Email Policy: E-mail is one of the official means of communication between McGill University and
its students. As with all official University communications, it is the student's
responsibility to ensure that time-critical e-mail is accessed, read, and acted upon in a
timely fashion. If a student chooses to forward University e-mail to another e-mail
mailbox, it is that student's responsibility to ensure that the alternate account is viable.
Please note that to protect the privacy of the students, the University will only reply
to the students on their McGill e-mail account.

Computing Resources: Trottier 3rd floor.

Students Rights and Responsibilities:


Regulations and policies governing students at McGill University can be downloaded
from the website:
http://www.mcgill.ca/deanofstudents/rights/

3
Students Services and Resources:
Various services and resources, such as email access, walksafe, library access, etc.,
are available to students:
http://www.mcgill.ca/stundet-records

Minerva for Students: http://www.mcgill.ca/minerva-students/

Note:
In the event of extraordinary circumstances beyond the University’s control, the content
and/or evaluation scheme in this course is subject to change.

Detailed Course Outline:

WEEK TOPIC READINGS WORK


SOFTWARE SYSTEMS
1 (A) Introduction to Software Systems: Programs, Overheads and
Operating Systems, Run-time environments. e-handouts
(B) The Internet as a software system SS Ch 1.2, 2.1
(C) Inter-process communication & servers &
libraries
THE UNIX ENVIRONMENT
2 Introduction to the Unix operating system: JEU Part 2-4 SS - Lab A – Using UNIX
architecture, editors & commands. Instant 1 - Assignment #1
3 Unix Shell Script Programming: Bash & Login JEU Part 7, 8
THE C PROGRAMMING LANGUAGE
4 The C Programming Language & Compiling C Ch 1 – 4 - Lab B – Programming in C
GNU 4 - Assignment #2
SS Instant 2
5 C programming Language & Libraries C Ch 5, 6
GNU 5,
SS Ch 1.3
6 Advanced C Programming: forking a process, C Ch 7, 8 Assignment #3
operating system libraries. GNU 5
SS Ch 2.2
7 GNU Tools: RCS (Project Management) and GNU Ch 7, 8
Make Files and GDB. SS Ch 3
8 Review & Misc. Midterm Exam – Tutorials
WEB PROGRAMMING
9 HTML & CGI Programming Handouts & - Lab C – Programming HTML
(with some CSS, XHTML and XML) SS Ch 2.3 - Assignment #4

10 C and Bash with CGI SS Instant 4

11 Introduction to PHYTHON Programming & PYTH 1 Lab D – Programming PYTHON


PYTHON CGI Programming SS Instant 4 - Assignment #5
12 PYTHON Programming & PYHTON objects PYTH 2, 3, 4
13 Some advanced PYTHON concepts (if time PYTH 5, 6, 7 Possible PHP Interlude
permits) Possible Python → C Interlude

4
5

You might also like