Instructor Information |
Dr. Woit
Office: ENG277
Tel: 416-979-5000, x7063
Email: see Email Policy below
Office Hours (Zoom): Thursday 11am-12pm by appointment (email me)
Course Website: current page
and D2L
|
Email Policy |
- Professor does not accept emails requesting a deadline extension when sent within the 48 hours
of deadline.
- Email is not a means of real-time instructor contact. Meet in class or office hours.
- Email read/answered before 5pm and in office hours, time permitting.
- Emails professor considers no longer (or not) relevant are not answered.
- Email questions the professor deems appropriate to the whole class will be answered in
D2L Announcements or in class (not necessarily with email response).
- Email must be to: dwoit at
TorontoMU dot ca
- Email must be from: cs.TorontoMU.ca or TorontoMU.ca account
- Email subject must contain string:
"cps393" or "CPS393" (NO SPACES!).
- Emails not conforming to the above are not answered
as per Policy 157
|
Prerequisites |
CPS 209 |
Calendar Description |
The course introduces the UNIX operating system, and the C and C++ languages. UNIX topics include: I/O, redirection, processes, and
shell scripts. C and C++ are introduced with an emphasis on differences from previously studied languages. C topics include pointers,
structures, memory allocation, and paradigm differences. C++ topics may include static and dynamic instantiation,
inheritance, constructors and destructors, polymorphism,
operator overloading.
Weekly Contact: Lecture 3 hrs. Lab 1 hr.
|
Textbook |
No text. Course notes are provided on CS moons
under /usr/courses/cps393/courseNotes/
|
Intellectual Property |
-
Unauthorized use of any cps393 files/materials violates
TMU's Academic Integrity Policy.
-
All files/materials are for your own personal use, and
you are strictly prohibited from distributing them in any way
(including, but not limited to posting post them anywhere online, sharing copies, etc.)
-
Files/materials include but are not limited to, course notes, programs and their solutions,
labs and their solutions, tests, exams, everything in D2L, under /usr/courses/cps393/, under
Instructor's course site, etc.
|
References: |
Not required, but can be useful:
Vim Reference Card
Linux_bash_cheat_sheet
http://www.gnu.org/software/bash/manual/bashref.html
C Reference Card
https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html
https://www.gnu.org/software/libc/manual
C++ Reference Card
https://github.com/rougier/CPP-Crash-Course/blob/master/README.rst
|
Teaching Methods and Course Schedule |
Each week, students attend:
-
Scheduled Lectures
- Provide a more theoretical treatment of the topics covered.
- Occur in the scheduled classroom, using a live, projected Zoom session.
Students may also attend lecture out-of-classroom by joining the live Zoom session.
-
Scheduled Labs
- Provide practical experience and TA guidance.
- Occur live, in-person, in the scheduled lab-room only, with TA in attendance.
Tests and Exam are written:
- in person, in lab rooms TBA,
- using computing environment similar to CS moons, but without networking capabilities
(no internet, no ssh, no email, etc.)
- ON SATURDAYS.
Tentative Weekly Schedule:
Week | Lecture File | Lab | Tests |
Week 0 (week of Sep 2) | Outline & intro | no lab |
Week 1 (week of Sep 9) | u1.txt | vim lab |
Week 2 (week of Sep 16) | u2.txt | Linux Lab 1 |
Week 3 (week of Sep 23) | u3.txt | Linux Lab 2 |
Week 4 (week of Sep 30) | c1.txt | Linux Lab 3 | 28% TEST 1 (Linux[1-3]) on Sat Oct 5 |
Week 5 (week of Oct 7) | c2.txt | C Lab 1 |
Study Week (week of Oct 14) | no lecture | |
Week 6 (week of Oct 21) | c3.txt | C Lab 2 |
Week 7 (week of Oct 28) | c4.txt | C Lab 3 |
Week 8 (week of Nov 4) | u4.txt | C Lab 4 |
Week 9 (week of Nov 11) | Review C | Review C | 28% TEST 2 (C[1-3]) on Sat Nov 16 |
Week 10 (week of Nov 18) | u5.txt | Linux Lab 4 |
Week 11 (week of Nov 25) | c++ | Linux Lab 5 |
Last Class (Dec 2) | Exam QA | no labs |
Exam Period (Dec 4–15) | | | 37% Exam (Linux/C) on TBA |
- Note the Lecture Files linked above may be out of date. Up to date ones are
in /usr/courses/cps393/dwoit/courseNotes/
|
Learning Outcomes |
The student will be proficient in:
- using Linux via command-line bash,
- writing advanced bash shell programs,
- writing, compiling, and executing C programs using command-line Linux and
the gcc compiler,
- makefiles,
- differences between C and C++ and writing, compiling, and executing C++ programs,
- creating, testing and debugging all of the former using command-line Linux,
- using one of the acceptable Linux editors: vim, gvim, or gedit.
- solving problems from from class, notes, labs, homework, and other similar
problems, and those that build upon the former.
|
Plagiarism Prevention and Detection |
Students agree by taking this course that their work will be subject to
submission for similarity review to a plagiarism detection service.
No decisions are made by the service; it generates an “originality report,”
which instructors must evaluate to judge if something is plagiarized.
Students who do not want their work submitted to a plagiarism detection
service must, by the end of the second week of class, consult with their
instructor to make alternate arrangements.
However, even when a student has opted out of the plagiarism detection
service, if the instructor has reason to suspect that an individual piece of
work has been plagiarized, the instructor is permitted to submit that work in
a non-identifying way to any plagiarism detection service.
|
Cheating and Academic Integrity |
See the "Cheating" section in:
http://www.cs.TorontoMU.ca/~dwoit/courses/courseInfo.html
|
Evaluation |
Term Work | Weight | Date |
Test 1 (in-person, on lab computer) | 28% | Saturday Oct 5 |
Test 2 (in-person, on lab computer) | 28% | Saturday Nov 16 |
Exam (in-person, on lab computer) | 37% | TBA in Exam period |
Labs (in-person, in scheduled lab room) | 7% | (see Labs and Lab Marks below) |
100% Exam | 100% |
If Exam mark is greater than weighted average above
|
To Pass the Course | |
weighted average of Tests and Exam is ≥ 50%
OR Exam is ≥ 50%
|
|
Labs |
- Take place in-person, in your scheduled lab time/room, with TA in attendance to help.
- During a lab, you
- work on lab questions for that week (under: /usr/courses/cps393/dwoit/labs/)
- do your lab check-in (which must be completed DURING your
scheduled lab time, from within your scheduled lab room.)
Instructions are in /usr/courses/cps393/dwoit/labs/LAB_CHECK_INS
- Each lab requires one or more submissions. Instructions are in
/usr/courses/cps393/dwoit/labs/SUBMITTING
- Submissions must be completed by MONDAY AT NOON the week following the lab.
- Lab solutions (except for submissions) are provided within each lab directory;
however, there are typically many correct solutions; TAs can check yours if they
differ from the given solution - time permitting.
|
Lab Marks |
- Labs marks have 2 components:
- Lab check-ins (as above)
- Lab submissions (as above)
- During the term, you do your check-ins, and submit required answers,
without knowledge of which will count toward Lab Marks.
- At end of term, we will announce which check-ins and which submissions count, as follows:
- Lab mark is some combination of CheckIns (C%) and marked lab
submissions (S%) , where
The exact weighting of C and S is not provided in advance.
Examples of possible C and S weightings are:
- C worth 7%, S worth 0% (100% CheckIns)
- C worth 3.5%, S worth 3.5% (50% CheckIns and 50% marked submissions)
- C worth 0%, S worth 7% (100% marked submissions)
- etc.
- Calculating S: By the end of term, you will have
submitted answers to many individual lab questions. At end of term,
one or more of these answers will selected for grading, and their
grades will combine equally for S.
Selected answers must have been submitted by their given due
dates in order to be eligible for grading.
- Calculating C: By the end of term, you will have
completed ≤10 CheckIns. At end of term, one or
more CheckIns will be selected to combine equally for C.
|
Course Technology |
Students are required to use moon command-line bash shells
and utilities,
gcc/g++ compilers, and vim/gvim/gedit/emacs editors for all course work.
|
Evaluation Guidelines |
- Missed evaluations See "Missed Evaluations" below.
- Late submissions of any course work, including tests, are not accepted.
- Official marks are recorded on D2L only.
-
Grading errors must
be brought to the attention of the grader for that evaluation (e.g., TA or instructor)
within 24 hours of evaluation being returned (papers handed back for written evaluations,
electronic posting of grade for electronic evaluations.) Students must report grading errors
using the re-evaluation form provided by instructor/TA, when required to do so.
- For escalation of grading errors
email/see the Lead TA, who has final
authority on all lab and marking issues
|
Missed Evaluations and Deadlines |
- Normally receive a mark of zero. This is the case when a student submits an undocumented
ACR, since these are not accepted in CPS393.
- Medical certificates: If a student misses a submission deadline, or an evaluation
they must submit a
Student Health Certificate AND an
Academic Consideration Request (ACR) within 3 working days of the missed date.
For ACR submission and requirements, see TMU Senate Policy
- Make-ups/re-weightings: Even when a documented ACR is submitted and verified,
instructor is not
required to provide a make-up or re-weighting, and may assign zero.
In special circumstances, instructor may allow a single grade re-weighting, or a
single make-up evaluation, given a verified, documented ACR.
Make-up evaluations may not have identical format,
although material covered will be the same.
- If more than one ACR is submitted in a term, the student will be
required to meet with the CS Program Director, who will investigate the issue, and may require a
change to the student's course of studies. This meeting is automatically triggered by the second
ACR, as per CS departmental policy.
-
If the missed evaluation is the final exam, students are required, in addition
to the forms mentioned above, to petition the instructor for an INC grade with the
Incomplete Grade
Request Form. To be allowed to write the makeup exam, you must send a completed Incomplete
Grade Request Form to the instructor within 3 days of the exam, and
have a verified, documented Academic Consideration Request. Without all these in place, the CS
Department will not allow you in the room to write the makeup exam.
|
University Policies |
Students are required to adhere to all relevant university policies including those
found in online information here, in the CS department, in D2L, and/or on the following URL:
https://www.torontomu.ca/senate/policies/
|
Resources Available at TMU |
|
Virtual Classes and Evaluations |
-
Students are not required to use camera/microphone during virtual classes.
-
Students are prohibited from recording virtual classes.
-
Virtual classes may be recorded by professor.
If a student does not want their voice and/or likeness
captured, they should turn off their camera and/or microphone.
|