The University of Western Ontario
London, Ontario, Canada
Department of Computer Science
CS 2211a - Software Tools and Systems Programming
Course Outline - Fall (September--December) 2016
This course uses
the Online Western's Learning (OWL) system
( https://owl.uwo.ca)
A: Instructor
- Professor
Mahmoud El-Sakka
Middlesex College, Room 419
Phone: 661-2111 x86996
Email: elsakka <at> csd.uwo.ca
Office hours: Tuesday from 11:30 am to 12:30 pm (after lecture)
Office hours: Thursday from 12:30 pm to 1:30 pm (after lecture)
B: Teaching Assistances
TBA
C: Lectures
- Time & Place: Tuesday 10:30 am to 11:30 am at SEB-1200
- Time & Place: Thursday 10:30 am to 12:30 pm at SEB-1200
D: Course Description
This course provides an introduction to software tools and systems level
programming. Topics include:
an introduction to the Unix operating system,
scripting languages,
understanding how programs run (compilation, linking, and loading), and
the C programming language.
E: Topics To Be Covered During The Course
The course will address as many of the following topics as time will allow:
- Unix Fundamentals: Unix vs. Windows; logging on; files and
directories; pathnames, and directory and file structure; editors;
shells; I/O redirection; Unix concurrency (processes);
file permissions and security; shell programming.
- C programming: compiling, linking and loading; data types and
operators; control structures; formatted I/O; file I/O; connections
between I/O and the underlying operating system; function calls; structs;
enumerations; arrays; pointers (pointer arithmetics, pointers and arrays,
arrays of pointers); memory management; linked
lists and other dynamically allocated data structures; strings;
general libraries; standard libraries and headers; the C
preprocessor; C program organization.
- Unix Tools: building and managing multi-component programs;
the make utility;
debuggers; code performance and profiling.
F: Prerequisites
- Computer Science 1027a/b (or 2101a/b) with a grade of at least 65% or
- Computer Science 1037a/b with a grade of at least 60%
Unless you have either the prerequisites for this course or written special
permission from your Dean to enroll in it, you will be removed from this course
and it will be deleted from your record. This decision may not be appealed. You
will receive no adjustment to your fees in the event that you are dropped from
a course for failing to have the necessary prerequisites.
G: Antirequisites
- Software Engineering 2250a/b
H: Textbook
-
Das, Your UNIX/LINUX: The Ultimate Guide. McGraw Hill, 3rd edition. 2013
- King, C Programming: A Modern Approach. Norton, 2nd edition. 2008
I: Course Website
The CS 2211a course uses
the Online Western's Learning (OWL) system
( https://owl.uwo.ca)
Lecture notes, assignments, labs, and class information will
be posted on this website. You are responsible
for reading this information frequently.
Possessing (and even reading) lecture notes is not a suitable substitute for
attending lectures.
J: Accessibility Statement
Please contact the course instructor if you require material in an
alternate format or if you require any other arrangements to make this
course more accessible to you. You may also wish to contact Services for
Students with Disabilities (SSD) at 661-2111 x82147 for any specific
question regarding an accommodation.
K: Computing Facilities
Each student will be given an account on the Computer
Science Department undergraduate computing
facility, GAUL. In accepting the GAUL account, a student
agrees to abide by the department's
Rules of Ethical Conduct.
Note that: After-hours access to certain Computer Science lab
rooms is by student card. If a student card is lost, a
replacement card will not automatically open these lab rooms.
In this case, the student must bring the new card to a member of the
Systems Group in Middlesex College Room 346 to activate it.
L: Email Contact
We occasionally need to send email messages to the class or to students
individually. Such emails are sent to the UWO email address as assigned to you by
Information Technology Services (ITS), i.e. your email address @uwo.ca. It is
your responsibility to read your email account on a frequent and regular basis, or to
have it forwarded to an alternative email address if preferred. See the ITS
website for directions on forwarding email.
However, note that the email at ITS (your UWO account) and other email providers
may have quotas or limits on the amount of space they dedicate to each account.
Unchecked emails may accumulate beyond those limits and you may be unable to
retrieve important messages from your instructors. Losing emails is not an
acceptable excuse for not knowing about the information that was sent.
M: Assignment Conduct
- There will be 5 assignments.
- Tentative Assignment Schedule
Assignment no. |
To be posted on |
Due in |
Due on |
Weight |
1 |
Tuesday September 20 |
7 days |
Tuesday September 27 |
4% |
2 |
Tuesday October 4 |
7 days |
Tuesday October 11 |
4% |
3 |
Tuesday October 18 |
7 days |
Tuesday October 25 |
4% |
4 |
Tuesday November 8 |
7 days |
Tuesday November 15 |
4% |
5 |
Thursday November 24 |
7 days |
Thursday December 1 |
6% |
- Assignments are due 5 minutes before the midnight (23:55) of the due date.
- All submissions will be submitted electronically.
Details will be given in the assignment descriptions.
We reserve the right to use similarity detection software
to detect possible cheating cases.
- Late assignments are strongly discouraged.
- 10% will be deducted from a late assignment
(up to 24 hours after the due date/time)
- After 24 hours from the due date/time, late assignments will
receive a zero grade.
- Assignments may involve
the use of Unix operating system utilities,
shell scripts programming,
C programming, and
concept questions (non-programming) related to the course material.
- Assignment descriptions will be posted on the course website by the
dates listed above.
- Any changes, updates, and clarifications to assignments will
also be posted on the website. It is your responsibility to monitor
these pages closely.
- A program that produces the correct output is not necessarily
a "working" program; it must also satisfy the specifications given
in the assignment description.
Other criteria in terms of which an assignment will be evaluated
include coding style, efficiency, comments and documentation.
- To be eligible for full marks, individual shell scripts and C programs
must run under Unix on the departmental computing equipment.
You may develop assignments on your home computer, but you must allow for
an amount of time to get the final product working on Computer Science's
machines.
- Your assignment solutions are expected to be your own individual work,
not the products of group effort.
- It is your responsibility to keep up-to-date backups of assignment disk
files in case of system crashes or inadvertently erased files.
Retain disk copies of all material handed in, as well as the actual
graded assignment, to guard against the possibility of lost assignments
or errors in recording marks. You should keep these materials at least
until you are satisfied that your final mark for the course has been
computed properly.
- Assignments will be marked by the Teaching Assistant(s), who follow marking
schemes provided by instructors.
- Every effort will be made to have assignments marked and handed back
within 3 weeks after the hand-in date, preferably sooner.
- When assignment marking has been completed, you will be informed via the
course website and/or email.
-
You should direct any questions about marking in the first instance
to your TA.
If your discussion with the TA is not satisfactory,
you may want to further discuss the issue with the course instructor.
-
A request for an adjustment in an assignment mark must be made within
2 weeks following the first handed-back day.
All assignment marks are considered to be final after that date.
N: Lab. Conduct
- There will be 10 equally weighted one-hour labs.
- Seven possible lab sections are scheduled each week.
- Tentative labs Schedule
Lab no. |
Tuesday
Section 2 (11:30 am--12:30 pm),
Section 3 (03:30 pm--04:30 pm),
and
Section 4 (05:30 pm--06:30 pm). |
Wednesday
Section 6 (12:30 pm--01:30 pm),
and
Section 8 (04:30 pm--05:30 pm). |
Thursday
Section 5 (12:30 pm--01:30 pm),
and
Section 9 (03:30 pm--04:30 pm). |
1 |
Tuesday September 20 |
Wednesday September 21 |
Thursday September 22 |
2 |
Tuesday September 27 |
Wednesday September 28 |
Thursday September 29 |
3 |
Tuesday October 4 |
Wednesday October 5 |
Thursday October 6 |
4 |
Tuesday October 11 |
Wednesday October 12 |
Thursday October 13 |
5 |
Tuesday October 18 |
Wednesday October 19 |
Thursday October 20 |
6 |
Tuesday November 1 |
Wednesday November 2 |
Thursday November 3 |
7 |
Tuesday November 8 |
Wednesday November 9 |
Thursday November 10 |
8 |
Tuesday November 15 |
Wednesday November 16 |
Thursday November 17 |
9 |
Tuesday November 22 |
Wednesday November 23 |
Thursday November 24 |
10 |
Tuesday November 29 |
Wednesday November 30 |
Thursday December 1 |
- All lab sessions will be held in room MC10.
- Lab descriptions will be posted on the course website before the
dates listed above.
- Any changes, updates, and clarifications to labs will
also be posted on the website. It is your responsibility to monitor
these pages closely.
- Labs act as practice/tutorial sessions where you can solve a problem
and interact with the TAs and other students.
- To be eligible for full marks, you must participate and complete
at least 9 out of 10 labs (participating and completing all 10 labs
is recommended).
O: Ethical Conduct
Scholastic offences are taken seriously and students are strongly encouraged
to read the
appropriate policy, specifically, the definition of what constitutes a
Scholastic Offence, at the following Web site:
http://www.uwo.ca/univsec/pdf/academic_policies/appeals/scholastic_discipline_undergrad.pdf
.
Students must write their essays and assignments in their own
words. Whenever students take an idea, or a passage from another author, they
must acknowledge their debt both by using quotation marks where appropriate and
by proper referencing such as footnotes or citations. Plagiarism is a major
academic offence.
All assignments are individual assignments. You may discuss approaches to
problems among yourselves; however, the actual details of the work (assignment
coding, answers to concept questions, etc.) must be an individual effort.
Assignments that are judged to be the result of academic dishonesty will,
for the student's first offence, be given a mark of zero with an additional
penalty equal to the weight of the assignment also being applied.
Computer-marked multiple-choice tests and/or exams may be subject to
submission for similarity review by software that will check for unusual
coincidences in answer patterns that may indicate cheating.
Students are responsible for reading and respecting the
Computer Science Department's policy on
Scholastic Offences
and
Rules of Ethical Conduct.
P: Tutoring
The role of tutoring is to help students understand course
material. Tutors should not write assignments or tests
for the students who hire them.
Submitting an assignment that contains
material written by a tutor is an academic offense.
Having employed the same tutor
as another student is not a legitimate defense against an accusation
of collusion, should two students hand in assignments judged similar
beyond the possibility of coincidence.
Q: Exam Schedule
R: Academic Accommodation for Medical Illness
If you are unable to meet a course requirement due to illness or other serious
circumstances, you must provide valid medical or other supporting documentation
to your Dean's office as soon as possible and contact your instructor
immediately. It is the student's responsibility to make alternative
arrangements with their instructor once the accommodation has been approved and
the instructor has been informed. In the event of a missed final exam, a
"Recommendation of Special Examination" form must be obtained from the Dean's
office immediately.
For further information, please see:
http://www.uwo.ca/univsec/pdf/academic_policies/appeals/accommodation_medical.pdf.
A student requiring academic accommodation due to illness should use the
Student Medical Certificate when visiting an off-campus medical facility or
request a Record's Release Form (located in the Dean's office) for visits to
Student Health Services. The form can be found here:
http://www.uwo.ca/univsec/pdf/academic_policies/appeals/medicalform.pdf.
S: Support Services
Learning-skills counsellors at the Student Development Centre
(http://www.sdc.uwo.ca)
are ready to help you improve your learning skills.
They offer presentations on strategies for improving time management,
multiple-choice exam preparation/writing, textbook reading, and more.
Individual support is offered throughout the Fall/Winter terms in the drop-in
Learning Help Centre, and year-round through individual counselling.
Students who are in emotional/mental distress should refer to Mental
Health at Western
(http://www.uwo.ca/uwocom/mentalhealth)
for a complete list of options about how to obtain help.
Students may refer to
http://westernusc.ca/services for services provided by the USC.
Students may refer to
http://www.registrar.uwo.ca for the Registrarial Services.
T: Student Evaluation
- Grades will be based on
- Assignments worth a total of 22%
- Labs worth a total of 9%
- First midterm exam worth 15%
- Second midterm exam worth 15%
- Final exam worth 39%
- If an assignment has to be cancelled for any reason, the remaining
assignment weights will be prorated (scaled) to add up to 22%.
- If a lab has to be cancelled for any reason, the remaining
lab weights will be prorated (scaled) to add up to 9%.
- To be eligible to receive a passing grade in the course, your
total marks on the two midterms and the final exams must be at least 50%.
- To be eligible to receive a grade of C (60%) or higher (i.e., to be
eligible for Honours Programs), your total marks on the two midterms and
the final exams must be at least 60%.