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

Ryerson

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
Dept. of Computer Science, Ryerson University
Office: ENG277
Tel: 416-979-5000, x7063
Email: see Course Email Policy below
Office Hours: Thu 1210pm-0100pm
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 class formalisms, static and dynamic instantiation, inheritance, constructors and destructors, polymorphism with virtual functions, operator overloading, and time permitting, friends.
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
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
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
Assignment 1 15% Mon Oct 18 at 11:59pm
Midterm practice (online) 0% Sec 1-5 Mon Oct 25 in class. Sec 6-10 Tue Oct 26 in class.
Midterm (online) 30% Thur Oct 28 in class.
Assignment 2 15% Sun Nov 28 at 11:59pm (new date)
Final Exam (online) 40% Dec 16 at noon
Labs* 0%
*Labs
  • 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 the bash Linux shell, and the gcc/g++ compilers on Computer Science 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 midterm
  • 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
  • Emails MUST contain "cps393" or "CPS393" somewhere in the subject. Emails without one of these phrases in the subject will not be read or answered.
  • 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. (e.g., your gmail account).
  • email subject: MUST contain "cps393" or "CPS393" somewhere in the subject. Emails without this will not be read or answered.
  • Email questions the professor deems appropriate to the whole class will be answered on the Announcements (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 Ryerson
  • 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.
  • Virtual classes may be recorded (but not necessarily). If a class is recorded, 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