Spring 2020

Programming Language Paradigms

Listed in: Computer Science, as COSC-231

Formerly listed as: COSC-23


John E. Rager (Section 01)


The main purpose of a programming language is to provide a natural way to express algorithms and computational structures. The meaning of “natural” here is controversial and has produced several distinct language paradigms. Furthermore, the languages themselves have shaped our understanding of the nature of computation and of human thought processes. We will explore some of these paradigms and discuss the major ideas underlying language design. Several languages will be introduced to illustrate ideas developed in the course. Topics will include functional programming, declarative programming, and programming for concurrency and distributed computing. Offered in alternate years.

Requisite: COSC 112. Spring semester. Professor Rager.

If Overenrolled: Priority to majors


Quantitative Reasoning


2022-23: Not offered
Other years: Offered in Fall 2008, Spring 2011, Fall 2012, Spring 2016, Fall 2017, Spring 2020, Spring 2022