Programming Paradigms

Programming Paradigms - CSD215

The Object-Oriented Programming (OOP) and Functional Programming (FP) paradigms have been important to software design since the dawn of information technology. Using a variety of programming languages, students explore how these paradigms affect approaches to software design. Topics include composition vs inheritance, higher-order functions, mutability vs immutability, currying, map/reduce/filter, and advanced type systems.

Students will employ functional approaches in languages they are already familiar with and will also have an opportunity to explore new programming languages.