Course Number
605.629
Next Offered
Spring 2025
Primary Program
Location
Online
Course Format
Asynchronous Online

A programming language provides instructions to a computing device to perform tasks. A language has a vocabulary and a set of grammatical rules to shape and frame the communication between the user and the computing device. The Programming Languages course compares and contrasts a wide variety of features of numerous old and new programming languages, including programming language history; formal methods of describing syntax and semantics; names, binding, type checking, and scopes; data types; expressions and assignment statements; statement-level control structures; design and implementation of subprograms; lambda calculus; exception handling; support for object-oriented programming; and concurrency. Our course will also introduce logic programming and theorem proving through Prolog, Objective Caml, and Coq framework. The course will survey the fundamental concepts underlying modern programming languages with the goal of understanding paradigms, but not vocational training in any given language. Several examples will be drawn from C, C++, Java, Python, ML, JavaScript, Scheme, Prolog, and Coq.

Course Offerings

Open

Programming Languages

605.629.81
01/21/2025 - 05/06/2025
Semester
Spring 2025
Course Format
Asynchronous Online
Location
Online
Cost
$5,270.00
Course Materials