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.

Course Overview

ECE/CPSC 3520 Programming Systems is an advanced course designed for computer engineering and computer science majors. It provides a comprehensive understanding of programming languages and systems, covering philosophy, methodology, formal syntax and semantics, and programming paradigms.

Offered Semesters

  • Fall 2020
  • Summer 2023
  • Summer 2024

Course Description

This course aims to equip students with a deep understanding of programming topics and related tools. Students will explore formal syntax and semantics, programming paradigms, and development approaches, preparing them for advanced challenges in programming and computing.

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

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.