Programming Languages (COS 360/Fall 2024)

Department of Computer Science at the University of Southern Maine

Instructor: James Quinlan

Course description

Principles and techniques of high level programming language specification, including syntax and semantics, and implementation methods. Languages are considered as formal constructs representing computable functions and the course presents basic results of computability theory. Methods of recognition for regular and context free languages, the functional alternative to the state based imperative paradigm, use of parse trees as control constructs, and concurrent programming synchronization primitives are also covered. COS 360 is required for the Computer Science major (see all requirements for Computer Science).

Course Syllabus (pdf)

Prerequisites

Grade of C or higher in:

Learning Outcomes

By the end of this course, students will be able to:

Textbook

Louden, K. & Lambert K., (2012). Programming Languages Principles and Practices 3rd Edition, Cengage Learning. ISBN: 9781111529413.

Additional Resources

Meetings

Communication

Please communicate through Brightspace.

Grading

Grades will be based on assignments, quizzes, discussion threads on Brightspace, attendance/participation, a midterm, and a final exam with the following percentages:

Late policy

Unless otherwise noted, weekly homework assignments will be due on Thursday by 11:59pm. Assignments must be prepared in LaTeX and submitted through Brightspace under the associated assignment. Late submissions will not be accepted. In recognition of the fact that there may unforeseen circumstances that prevent you from submitting some assignments, the two lowest homework grades will be dropped.

Tips for Success

Past Student Projects (Fall 2023)

Last modified Tue Sep 3 2024 05:55:36 PM EDT Quinlan