CS 390 - Principles of Programming Languages: Syllabus
Introduces the constructs upon which contemporary programming languages are based. Students investigate programs written in declarative and imperative programming languages including functional, logic, structured, and object-based approaches.
CS 310
Three underlying themes are used to organization the topics and outcomes in this course. The General Principles theme focuses on the fundamental concepts associated with programming languages. The Programming theme focuses on implementing programs using different programming paradigms. Finally, the Formal Theory theme focuses on the language syntax, semantics, and pragmatics from which the General Principles derive.
Upon completion of this course, learners should be able to:
Scott, M. L., (2016). Programming language pragmatics (4 th ed.). Waltham, MA: Morgan Kaufman.
Supplementary Textbook Chapters at: booksite.elsevier.com/9780124104099
Online Faculty Notes (available in the WorldClass Shell for this course)
Sign on to WorldClass and become familiar with the course shell navigation. Complete the Topic 1 Assignments (textbook and online readings).
Weekly Format |
Topics | Readings | Assessed Assignments | |
---|---|---|---|---|
15 | 8 | (Textbook / Worldclass) | (% course grade) | |
1 | 1 | 1: Foundations | T: Chapter 1; 8.1, 8.5, 9.1 – 9.3; W: Topic 1 |
Topic 1 (assessed in exams) Participation (0.5%) |
2 | 1 | 2: The Imperative Paradigm – C Programming Language |
W: Topic 2 | Topic 2 Assignment (6%) Participation (0.5%) |
3 | 2 | 3: Language Processing Systems – Scanning |
T: 2.1 – 2.2 W: Topic 3, Part I |
Topic 3-I Assignment (5%) Participation (0.5%) |
4 | 2 | – Topic 3 continued – – Parsing |
T: 2.3.1 – 2.3.4 W: Topic 3, Part II |
Topic 3-II Assignment (6%) Participation (0.5%) |
5 | 3 | – Topic 3 continued – – Formal Languages |
T: 2.4.1 - 2.4.3 W: Topic 3, Part III |
Topic 3-III (assessed in exams) Participation (0.5%) |
6 | 3 | – Topic 3 continued – – Static Semantics |
T: 4.1 - 4.4, 4.6 W: Topic 3, Part IV |
Topic 3-IV (5%) Participation (0.5%) |
7 | 4 | 4: The Low-level Paradigm – Model Assembly Language |
W: Topic 4 | Topic 4 Assignment (5%) Participation (0.5%) |
8 | 4 | 5: Life Cycle, Naming, Scope | T: 3.1 - 3.6 W: Topic 5 |
Midterm (15%) Participation (0.5%) |
9 | 5 | 6: The Functional Paradigm – The Haskell Language – Lambda Calculus |
T: 8.6, 11.1 - 11.6 W: Topic 5 |
Topic 6 Assignment (6%) Participation (0.5%) |
10 | 5 | – Topic 6 continued – | Participation (0.5%) | |
11 | 6 | 7: Dynamic Semantics | W: Topic 7 | Topic 7 Assignment (5%) Participation (0.5%) |
12 | 6 | 8: Type Systems | T: 7.1 - 7.4 W: Topic 8 |
Topic 8 Assignment (5%) Participation (0.5%) |
13 | 7 | 9: The Logic Paradigm – The Prolog Language |
T: 12.1 - 12.5 W: Topic 9 |
Topic 9 Assignment (5%) Participation (0.5%) |
14 | 7 | – Topic 9 continued – 10: Advanced Object-Oriented |
W: Topic 10 T: 10.4 - 10.6 |
Participation (0.5%) Topic 10 Assignment (4%) |
15 | 8 | 11: Scripting Languages – Shells and Javascript |
T: 14.1 - 14.5 W: Topic 11 |
Topic 11 Assignment (5%) Participation (1.0%) Final Exam (20%) |
Assignments | Weighted Percentage |
---|---|
Weekly Participation | 8% |
Weekly Assignments | 57% |
Exams | 35% |
TOTAL | 100 % |
Review the CCIS Policies on the Regis University website.
The Computer Science department reserves the right to review all assessments in this course at any time and revise the assigned grade based on a reassessment of the material, which may include an oral examination by the department.
NOTE TO LEARNERS: On occasion, the course facilitator may, at his or her discretion, alter the Learning Activities shown in this Syllabus. The alteration of Learning Activities may not, in any way, change the Learner Outcomes or the grading scale for this course as contained in this syllabus. Examples of circumstances that could justify alterations in Learning Activities could include number of learners in the course; compelling current events; special facilitator experience or expertise; or unanticipated disruptions to class session schedule.