CMSC 245: Programming Languages
Syllabus -- Fall 2021
This document will evolve through the semester. Looking forward it expessses a plan. Looking backward, it expessses what actually happened.
- Topic 1: Introduction
What is "Programming Languages"- Text: Chapter 1.1
- Topic 2: Thinking about programming laguages
- Text: Ch 1.2--1.4, 1.6.4
- exclude text sections 1.5 and 1.6.-1.6.3
- The end of history and the lst programming language, pg 111-123
- The semi-colon wars
- Topic 3: The Go language
- Various topics from "The Go Programming Language"
- Topic 4: Names, Scopes and Bindings
- Scott: ch 3.1-3.3, 3.5-3.7
- Exclude: "access to non-local objects" in 3.3.2; all material in grey boxes; all of section 3.4; 3.6.4 lambda Expressions; 3.7, 3.8
- Topic 5: Starting Sep 27 -- NOT on first midterm. Control Flow
- Scott: 6.1-6.6
- Dijkstra's critique of Goto
- Topic 6: Kotlin
- Atomic Kotin: various sections 1-3
- Topic 7: Functional Programming
- Scott: 11.1-11.2, 11.6
- Also Atomic Kotlin section 4
- Topic 8: Type Systems
- Scott: Ch 7
skip 7.2.4, subrange types, - Week of Nov 8
- Scott: Ch 7
- Topic 9: Composite Types
- Scott: Ch 8 skipping 8.1.2, 8.1.3 and 8.2.2 (on Dope Vectors)
- Week of Nov 15
- Topic 10: Subroutines
- Scott: Ch 9, skipping 9.2, 9.3.1, 9.4.3 and 9.5
- Week of Nov 22
- Topic 11: Object Orientation
- Scott: ch 11
- Not reached