SUNY Korea Computing Society

CSE 216 - Programming Abstractions

CSE 216 - Programming Abstractions

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.

DetailsDescription
Credits4
PrerequisitesC 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.

Course Topics

TopicMaterials
Programming Paradigms
Names, Scopes and Bindings
Object-Oriented Design and Programming
Data Types and Type Systems
Subroutines
Functional Languages
Introduction to SML
Recursion and Higher Order Functions
Software Testing
JUnit, Python Unittest
Concurrent programming

Textbooks

Michael L. Scott - Programming Language Pragmatics

Edit this page on GitHub