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


Course Outline

CPS393: Introduction to Unix, C & C++

. Check page periodically

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 Dr. Woit and Prof. Ufkes
Dept. of Computer Science, Toronto Metro University
Office: ENG277
Tel: 416-979-5000, x7063
Email: see Course Email Policy below
Office Hours: Fri 110pm-200pm
Prerequisites CPS 109, 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.
Compulsory Textbook
No Text. Class notes provided on CS Moons:
Reference (not required):
references of your choice for vim, ANSI C/C++/Bash, such as:
Vim Reference Card
C Reference Card
C++ Reference Card
Course Organization 3 hrs. lecture, 1 hr. lab.
Learning Outcomes The student will be proficient in:
  • using Linux via bash shell in a text-based environment,
  • writing advanced bash shell programs,
  • writing/compiling/running C programs on Linux using the gcc compiler,
  • makefiles,
  • differences between C and C++ and writing/compiling/running C++ programs,
  • testing and debugging all of the former on Linux,
  • using the  vim (vi)  editor on Linux.
The student will be able to solve the problems from from class, notes, labs, homework, and other similar problems, and those that build upon the former.
Course Evaluation
Term Work Weight Date
Test 1 (online) 20% In Lab Sep 28/29
Test 2 (online) 30% In Lab Nov 02/03
Final Exam (online) 50% TBA
Labs* 0%
  • During your lab time, you will work on the provided lab questions.
  • The TAs are available during the scheduled lab time to answer questions.
  • The TAs will 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.
  • Normally, email/see your own lab TA if you have any questions regarding labs, marking, etc.
  • To escalate the issue, email/see the Lead TA, who has final authority on all lab and marking issues.
  • The Lead TA is: Jorge Lopez jlopez@ryerson.ca
Educational Technology Students are required to use a text-based bash shell, and gcc/g++ compilers on CS moons for all course work.
Evaluation Guidelines
  • Official evaluation marks are recorded on D2L only.
  • Questions/concerns about your marks must be referred to the Lead TA:
    • Jorge Lopez jlopez@ryerson.ca
  • Any error in grading 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 the instructor, when required to do so.
  • Course material covered on tests and final are cumulative. e.g., final covers material from tests.
  • Late submissions of any course work are not accepted.
Missed Evaluations Normally receive a mark of zero. See the following for remission: Missed Tests/Examinations
Course Email Policy
  • It is best to see professor in class or office hours, as emails are not guaranteed to be answered, as follows:
  • Emails will be answered during office hours, time permitting, in order of arrival (from/to proper accounts as defined below).
  • Emails professor considers no longer (or not) relevant will not be answered.
  • email must be to: dwoit at ryerson dot ca
  • email must be from: your scs account or Ryerson.ca account. Email sent to/from any other accounts will not be answered.
  • email subject: MUST contain "cps393" or "CPS393" somewhere in the subject. Emails without this will not be answered.
  • Email questions the professor deems appropriate to the whole class will be answered on the Announcements or in class (not via email response).
University Policies Students are required to adhere to all relevant university policies found in their online course shell in D2L and/or on the following URL: http://ryerson.ca/senate/course-outline-policies
Resources Available at TMU
  • Computer Science Help Desk (for in-class courses).
  • Student Learning Support offers group-based and individual help with writing, math, study skills and transition support.
Virtual Classes and Evaluations
  • Students are not required to use webcams during virtual classes.
  • Students are prohibited from recording virtual classes.
  • Virtual classes may be recorded by professor, but if so, students will be informed at the start of class. If a student does not want their voice and/or likeness captured, they should turn off their camera and/or microphone.

Further Course Information:

This is now a common page for all my courses, and is located at http://www.scs.ryerson.ca/~dwoit/courses/courseInfo.html Note that any references to class/labs etc., are instead virtual in Fall 2020.
Modifications to the course procedures will be made in consultation with the course students.

. Check page periodically for modification.

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