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