ECE/CPSC 3520 Programming Systems
Revised on 05/09/2024
For the definitive and up-to-date course details, please refer to the syllabus on Canvas.
This course is offered regularly in each semester. I taught/will teach in:
- Fall 2020
- Summer 2023
- Summer 2024
Course Description
This is an advanced programming language and systems course for computer engineering and computer science majors. The course objective is to enable a complete understanding of programming topics and related supporting tools, including philosophy, methodology, formal syntax and semantics, and examples of programming paradigms, languages and development approaches.
Topical Outline
- Introduction to programming languages
- Grammars and syntax
- Scanning and parsing
- Declarative programming in prolog
- Functional programming in OCaml
- Challenges in programming and computing
Prerequisite
- ECE 2230, or CPSC 2120 and CPSC 2150
- Concurrent enrollment: CPSC 2070 or MATH 4190
Learning Outcomes
Upon completion of this course, students should be able to:
- Understand a variety of programming philosophies and methodologies
- Understand formal syntax and semantics
- Explain and use a variety of programming paradigms, languages, and development approaches
- Understand professional and ethical responsibility