Note: Sections of this document indentified 4.1 like this correspond to the similarly numbered section in University Policy #151.
4.1 Basic Information
4.1.1 Title and Requirements
Advanced Programming Languages
CP8204 W2018
Prerequisites: none
4.1.2 Faculty
Dr. D. Mason - ENG260, 416-979-5079 ext 7061
My email address
Reference course link: http://cp8204.scs.ryerson.ca/
Consulting hours
4.1.3 Grade Posting
Grades will be available as the term progresses via D2L
4.1.4 Email
Students are responsible for monitoring their email and checking the Frequently Asked Questions (FAQ) section of the web site daily, both for course related information and for particular assignments. Students are responsible for complying with any such information so relayed. As class email notices are sent via ryerson.ca, forward that email address as required. Questions relating to common issues will not normally be replied to directly, but will instead be added to the FAQ page. Email sent from sites other than scs.ryerson.ca or ryerson.ca may be discarded unread as spam, and will never be accepted for any official purpose. (See Senate Policy #157)
4.2 Course Description
4.2.1 Calendar Description
A study of the principles, concepts, and mechanisms of computer programming languages - their syntax, semantics, and pragmatics; the processing and interpretation of computer programs; programming paradigms; and language design. Additional topics will include language design principles and models of language implementation. 1 Credit
4.2.2 Synopsis
  1. Goal: The goal of CP8204 is to provide the student with an understanding of programming langauges and their underlying structures
  2. Description: The course will use Scheme as a basis to understand key concepts in the in program semantics and implementation.
  3. Learning Outcomes

    This course is a combination of experiential and reflective. Hence the outcomes have aspects of both kinds of learning. By the end of the course, the student will be able to:

    • create/modify programming language analysis tools;
    • describe the key programming language paradigms;
    • demonstrate a critical capability about alternatives in programming language and
    • explain implications of type systems.
  4. Syllabus:
    WeekTopicReadings
    1Introduction and Context
    2Inductive Sets of DataChapter 1
    3Data AbstractionChapter 2
    4-5Environment-Passing InterpretersChapter 3
    6-8TypesChapter 4
    9-12Other topicsTBD
4.2.3 Text
Essentials of Programming Languages
Daniel P. Friedman, Mitchell Wand and Christophe Haynes 2008 ISBN 978-0262062794)
      References
  1. See also the resources section.
4.2.4 Presentation
The course is lecture form (3 hrs per week) with attendance strongly recommended (lectures typically "build" on previous lectures, so missing a lecture presents a difficult problem which only gets worse with time).
4.2.5 Extra-class time
Writing and work on the project will be expected to be done outside of class time.
4.3 Other Course Issues
4.3.1 Plagiarism
Work in this course will not be submitted to an electronic inspection service (e.g. turnitin.com is not suitable for this course). However, electronic code comparisons may be done. Students can obtain Departmental policy information from the Departmental office as required. Students must adhere to all relevant University policies (see below), including any clarifications or modifications made during the term. Typically, plagiarism will result in a zero mark on the assignment for all concerned parties and possible additional penalties in accordance with University policies. In particular, an additional course grade reduction (e.g. from a B- to a C+) may be applied.
4.3.2 Information Technology
Class assignments and labs will use a local variant of the Scratch programming environment. It is installed in the Computer Science labs on the 2nd floor of ENG, and can be downloaded from the resources
4.5 Departmental/University Policies and Course Practices
4.5.1 Departmental Policy
The Department will be developing a handbook or web page on specific Department/School policies related to Policy 151 (Course Managment) section 3.0 and when this is available notice will be given to the class. At present, students can obtain policy information from the Departmental office as required.
Students must adhere to all relevant University policies including the Student Code of Conduct (URL: http://www.ryerson.ca/senate/policies/pol60.pdf) and any policies set out in the University Calendar and the Student Handbook, including any clarifications or modifications made during the term.
Academic Consideration
  • Students must submit assignments on time and write all tests and exams as scheduled.
  • Assignments submitted for grading will be handed back within two weeks except for the final exam.
  • There will be no penalty for work missed for a justifiable reason. Students need to inform the instructor of any situation that arises during the semester that may have an adverse affect on their academic performance, and request any necessary considerations according to the policies and well in advance. Failure to do so will jeopardize any academic appeals.
  • Except in cases of accommodations for disabilities, where documentation is handled directly by the Access Centre, students must fill out an Academic Consideration form (URL: http://www.ryerson.ca/content/dam/senate/forms/academic_consideration_document_submission.pdf) and submit it to the Computer Science office, ENG287.
  • Medical certificates – If a student is going to miss a deadline for an assignment, a test or an examination because of illness, he/she must submit a medical certificate (URL: www.ryerson.ca/senate/forms/medical.pdf) to their program office within 3 working days of the missed assignment deadline, test or examination. The program office will notify the instructor that the documents have been received. It is the student’s responsibility to make arrangements with instructor for a make up exam.
  • Religious observance – While it is strongly encouraged that students make requests within the first two weeks of class, requests for accommodation of specific religious or spiritual observance must be presented to their program office no later than two weeks prior to the conflict in question (in the case of final examinations within two weeks of the release of the examination schedule). The student must submit a Request for Accommodation form (URL: http://www.ryerson.ca/senate/forms/relobservforminstr.pdf) to their program office. The office will notify the instructor when they have received the request form.
  • Other requests for Academic Consideration which are not related to medical or religious observation must be submitted in writing together with the Academic Consideration form to the student’s program office. The letter must clearly state the reasons for the request and describe the events or circumstances that seriously impair the student’s ability to meet their academic obligations, and that were beyond the student’s control. When possible, supporting documentation must be attached to the letter. The office will notify the instructor when they have received the request.
  • Students with disabilities - In order to facilitate the academic success and access of students with disabilities, these students should register with the Access Centre (URL: www.ryerson.ca/accesscentre/). Before the first graded work is due, students should also inform their instructor through an “Accommodation Form for Professors” that they are registered with the Access Centre and what accommodations are required.
  • Regrading or recalculation – These requests must be made to the instructor within 10 working days of the return of the graded assignment to the class. These are not grounds for appeal, but are matters for discussion between the student and the instructor.

Submission of the Academic Consideration form and all supporting documentation to your program office does not relieve you of the responsibility to NOTIFY YOUR INSTRUCTOR of the problem as soon as it arises, and to contact with the instructor again after the documents have been submitted in order to make the appropriate arrangements.

If you do not have a justifiable reason for an absence and/or have not followed the procedure described above, you will not be given credit or marks for the work missed during that absence.

For more detailed information on these issues, please refer to Policy #134 - Undergraduate Academic Consideration and Appeals and Policy #150 - Accommodation of Student Religious, Aboriginal and Spiritual Observance.

4.6 Evaluation
Evaluation will be on the basis of an exam, in-class participation, a project, and a research paper. All work is to be done individually.
4.6.1, 4.6.2 Weights and Dates (unlikely to be modified)
EvaluationGrade %Due Date (23:59)Description
Project30%2018.03.17 (past)
Paper20%2018.04.17 (past)
Presentation10%2018.04.10 (past)
Class participation10%
Oral Final Exam30%TBA 12:00 no supplemental exam.
5.0 Deviation from Course Management Policy
Recognizing that uncertainties arise through the school year, the University provides for variances approved by the Chair/Director or Dean from the approved course management policy. Students will be notified in writing at the earliest possible opportunity if variances from this CMF are required.
Prepared by D. Mason, March, 2018 in accordance with Ryerson University Policy of Senate: Yeates School of Graduate Studies Course Management, Policy #151 - Approval Date: September, 2016
Relevant Senate Policies