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