Dr. Woit's HomePage        
CPS393 Course Outline
CPS393 Topics
To CPS393 Labs
Dr. Woit's CPS393 Announcements

TMU
Department of Computer Science

CPS393: Introduction to Unix, C & C++


Students are responsible for checking Announcements Page daily and for following all instructions so transmitted.

Typos, inconsistencies, etc.: Any such anomalies shall be resolved solely at the instructor's discretion.


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.


Further Course Information:

Information applicable to all Dr. Woit's courses is located at http://www.cs.TorontoMU.ca/~dwoit/courses/courseInfo.html
Modifications to the course procedures will be made in consultation with the course students.


Dr. Woit's HomePage        
CPS393 Course Outline
Dr. Woit's CPS393 Topics
To CPS393 Labs
Dr. Woit's CPS393 Announcements