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.