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, version control, 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


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.

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
  • Version control

Laboratory Projects
Course Webpage