Spring 2022

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. Limited to 50 students. Spring semester. Professor Rager. 

Students who enroll in this course will likely encounter and be expected to engage in the following intellectual skills, modes of learning, and assessment: tba Students with documented disabilities who will require accommodations in this course should be in consultation with Accessibility Services and reach out to the faculty member as soon as possible to ensure that accommodations can be made in a timely manner.


Other years: Offered in Fall 2008, Spring 2011, Fall 2012, Spring 2016, Fall 2017, Spring 2020, Spring 2022