Spring 2016 - CMPT 383 D100

Comparative Programming Languages (3)

Class Number: 8370

Delivery Method: In Person

Overview

  • Course Times + Location:

    Jan 5 – Apr 11, 2016: Mon, Wed, Fri, 12:30–1:20 p.m.
    Surrey

  • Exam Times + Location:

    Apr 21, 2016
    Thu, 8:30–11:30 a.m.
    Surrey

  • 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 a detailed look at procedural and object-oriented programming, functional programming, and declarative programming. Various languages will be introduced and studied, such as Go, Clojure, Python, and Haskell.

Topics

  • Principles of programming languages: syntax, names, types, semantics, functions
  • Procedural programming
  • Object-oriented programming
  • Functional programming
  • Declarative programming
  • Concurrency (if time)

Grading

NOTES:

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 Books

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

RECOMMENDED READING:

Programming Languages: Principles and Paradigms (2nd edition), Allen B. Tucker and Robert E. Noonan, McGraw Hill, 2007
ISBN: 9780072866094

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