Spring 2018 - CMPT 383 D200

Comparative Programming Languages (3)

Class Number: 12457

Delivery Method: In Person

Overview

  • Course Times + Location:

    Jan 3 – Apr 10, 2018: Mon, Wed, Fri, 9:30–10:20 a.m.
    Surrey

  • Exam Times + Location:

    Apr 15, 2018
    Sun, 3:30–6:30 p.m.
    Surrey

  • Instructor:

    Toby Donaldson
    tjd@sfu.ca
    1 778 782-7433
    Office: SUR 4108
  • Prerequisites:

    CMPT 225, and (MACM 101 or (ENSC 251 and ENSC 252)).

Description

CALENDAR DESCRIPTION:

Various concepts and principles underlying the design and use of modern programming languages are considered in the context of procedural, object-oriented, functional and logic programming languages. Topics include data and control structuring constructs, facilities for modularity and data abstraction, polymorphism, syntax, and formal semantics.

COURSE DETAILS:

This course explores the various concepts and principles underlying the design and use of modern programming languages. We will take detailed look at core programming techniques of procedural languages, and also examine alternative programming models such as objectoriented programming, functional programming, declarative programming, and concurrency.

COURSE-LEVEL EDUCATIONAL GOALS:

- Basic syntax and semantics
- Control flow
- Type systems
- Composite types
- Subroutines
- Objects
- Functional programming
- Declarative programming
- Concurrency

Grading

  • The course will contain a number of programming exercises and projects, plus a midterm and final exam. The exact marking scheme will be provided in the first week of class.

Materials

MATERIALS + SUPPLIES:

Reference Book:
Programming Language Pragmatics, Michael L. Scott, Morgan Kaufmann, 2015, 9780124104099

RECOMMENDED READING:

Concepts of Programming Languages (11th Edition), Robert Sebesta, Addison-Wesley, 2015. It is okay to use the 10th edition, if you prefer.
ISBN: 9780133943023

Concepts in Programming Languages, John C. Mitchell, Cambridge University Press, 2002
ISBN: 9780521780988

Registrar Notes:

SFU’s Academic Integrity web site http://students.sfu.ca/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating.  Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the University community.  Academic dishonesty, in whatever form, is ultimately destructive of the values of the University. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the University. http://www.sfu.ca/policies/gazette/student/s10-01.html

ACADEMIC INTEGRITY: YOUR WORK, YOUR SUCCESS