Course CSE216
Title Programming Abstractions
Credits 4
Course Coordinator Paul Fodor

Intermediate-level programming concepts and paradigms, including functional programming, object-orientation, basics of type systems, memory management, program and data abstractions, parameter passing, modularity, and parallel programming. Includes weekly recitations, which provide students with experience in the practice of programming in a variety of high-level languages.

Bulletin Link

Prerequisite Prerequisites: C or higher in CSE 214; CSE major
Course Outcomes
  • An understanding of programming language paradigms and tradeoffs.
  • An understanding of functional techniques to identify, formulate and solve problems.
  • An ability to apply techniques of object-oriented programming in the context of software development.

Michael Scott, Programming Language Pragmatics, 4th ed., Morgan Kaufmann, 2015.

Major Topics Covered in Course
  • Programming Language Paradigms
  • Functional problem-solving using a high-level functional language
  • Object-oriented design and programming
  • Cross-cutting programming language concepts
Course Webpage