ECE/CPSC 3520 Programming Systems
An advanced course designed for computer engineering and computer science majors covering programming languages and systems, including philosophy, methodology, formal syntax and semantics, and programming paradigms.
Revised on 12/26/2025
For the definitive and up-to-date course details, please refer to the syllabus on Canvas.
Course overview
ECE/CPSC 3520 Programming Systems is an advanced course for computer engineering and computer science majors. It covers programming languages and systems, including programming philosophy and methodology, formal syntax and semantics, and programming paradigms.
Offered semesters
- Fall 2020
- Summer 2023 (asynchronous online)
- Summer 2024 (asynchronous online)
- Spring 2026
Course description
The course develops students’ understanding of programming concepts and tools. Students study formal syntax and semantics, programming paradigms, and software-development approaches.
Topical outline
- Introduction to programming languages
- Grammars and syntax
- Scanning and parsing
- Declarative programming
- Functional programming
- Challenges in programming and computing
Prerequisites
- ECE 2230, or CPSC 2120 and CPSC 2150
- Concurrent enrollment: CPSC 2070 or MATH 4190
Learning outcomes
By the end of this course, students will:
- Understand a variety of programming philosophies and methodologies.
- Grasp formal syntax and semantics.
- Explain and use diverse programming paradigms, languages, and development approaches.
- Recognize professional and ethical responsibilities in programming.