Spring 2018 - CMPT 383 D200
Comparative Programming Languages (3)
Class Number: 12457
Delivery Method: In Person
Course Times + Location:
Mo, We, Fr 9:30 AM – 10:20 AM
SUR 5140, Surrey
Exam Times + Location:
Apr 15, 2018
3:30 PM – 6:30 PM
1 778 782-7433
Office: SUR 4108
Prerequisites:CMPT 225, and (MACM 101 or (ENSC 251 and ENSC 252)).
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.
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
- Functional programming
- Declarative programming
- 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 + SUPPLIES:
Programming Language Pragmatics, Michael L. Scott, Morgan Kaufmann, 2015, 9780124104099
Concepts of Programming Languages (11th Edition), Robert Sebesta, Addison-Wesley, 2015. It is okay to use the 10th edition, if you prefer.
Concepts in Programming Languages, John C. Mitchell, Cambridge University Press, 2002
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