Instructor Information |
Dr. Woit
Office: ENG277
Tel: 416-979-5000, x7063
Email: see Email Policy below
Office Hours (zoom): Mon 110pm-200pm
Course Website: current page
and D2L
|
Email Policy |
- Best means of contact: see professor in class or office hours
- Professor does not accept emails requesting a deadline extension when sent within the 48 hours
of said deadline.
- Email is not a means of real-time instructor contact.
Professor reads/answers course email 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
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
in accordance with 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: |
You may find these useful, but they are not required for cps393:
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://www.labri.fr/perso/nrougier/teaching/c++-crash-course/index.html#input-output
|
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.)
- Note the 3 term-tests are ON SATURDAYS.
Tentative Weekly Schedule:
Week | Lecture File | Lab Time | Tests |
Week 1 (week of Sep 5) | u1.txt | vim lab |
Week 2 (week of Sep 11) | u2.txt | Linux Lab 1 |
Week 3 (week of Sep 18) | u3.txt | Linux Lab 2 |
Week 4 (week of Sep 25) | c1.txt | Linux Lab 3 |
Week 5 (week of Oct 2) | c2.txt | C Lab 1 | 20% TEST 1 (Linux[1-3]) on Sat Oct 7 |
Study Week (week of Oct 9) | no lecture | |
Week 6 (week of Oct 16) | c3.txt | C Lab 2 |
Week 7 (week of Oct 23) | c4.txt | C Lab 3 |
Week 8 (week of Oct 30) | u4.txt | C Lab 4 | 20% TEST 2 (C[1-3]) on Sat Nov 4 |
Week 9 (week of Nov 6) | u5.txt | Linux Lab 4 |
Week 10 (week of Nov 13) | u6.txt | Linux Lab 5 |
Week 11 (week of Nov 20) | c5.txt | Linux Lab 6 | 30% TEST 3 (Linux[45]/C4) on Sat Nov 25 |
Week 12 (week of Nov 27) | C++, Review | C Lab 5 |
Last Hour (Dec 4) | Exam QA | no labs |
Exam Period (Dec 6–17) | | | 30% 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 computer) | 20% | Saturday Oct 7 |
Test 2 (in-person, on computer) | 20% | Saturday Nov 4 |
Test 3 (in-person, on computer) | 30% | Saturday Nov 25 |
Final Exam (in-person, on computer) | 30%* | TBA |
Labs (see Labs below) | 0% | |
*The Final Exam is comprehensive. The Final Exam mark may constitute 100% of a
student's course mark if it alone is higher than the mark the student would have
obtained given the weighting above.
|
Labs |
- You work on the lab and homework questions for that week.
- TAs attend labs to provide help.
- TAs may also help you study and check your work upon request - time permitting.
- Lab solutions are provided; however, there are typically numerous correct solutions,
and your TA can check yours if it differs from the given solution - time permitting.
- Labs are not graded.
- Lab attendance is worth no marks. Notwithstanding, attendance may be "taken"
automatically using Linux logs which record the time you spent logged into a moon bash
shell, and the commands you used. This attendance information may be relevant in
situations involving Academic Misconduct, grade appeals, etc.
|
Course Technology |
Students are required to use moon command-line bash shells
and utilities,
gcc/g++ compilers, and vim/gvim/gedit 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:
Jorge Lopez jlopez@TorontoMU.ca
|
Missed Evaluations |
-
Normally receive a mark of zero. See the following for remission:
Missed Tests/Examinations.
-
In special circumstances, instructor may allow a single grade re-weighting, or a
single make-up evaluation.
-
Make-up evaluations will not have identical format due to resource limitations;
for example, a make-up test might be off-line, using paper-pencil,
with no aids and no computer.
|
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.
|