Get up to $1,250 in flight credits or grants toward study or internship programs abroad when you apply by June 30, 2026. See our Official Rules for full details.
CEA CAPA Partner Institution:University of Alicante
Location:Alicante, Spain
Primary Subject Area: Computer Sciences
Instruction in:English
Transcript Source:Partner Institution
Course Details:Level 200
Recommended Semester Credits:3
Contact Hours:60
DESCRIPTION
The course is based on the premise that students already have a solid knowledge of some programming languages, mainly imperative and object-oriented ones. Its main goal is to help them gain a broader perspective and develop the ability to reason about programming languages in general. What elements are common to programming languages? What characteristics do they have? Which elements are essential and which are accessory? What language families or paradigms can we identify? How can we design a good programming language? By mastering these concepts, it becomes much easier to learn new programming languages, identify their essential aspects, and even design domain-specific languages for particular purposes.
Throughout the course we will use the programming languages Racket and Swift. Racket is built on top of Scheme, a widely used dialect of LISP, the paradigmatic functional programming language. Using such a simple language allows us to reflect on the essential elements of programming languages and their semantics. Swift is a modern multi-paradigm language recently created by Apple with the aim of supporting multiple platforms (mobile devices, operating systems, and servers). It coherently integrates concepts from both functional and object-oriented programming and introduces new programming paradigms such as protocol-oriented programming. Unlike Racket, Swift is a compiled, safe, and strongly typed language.
Get a Flight Credit worth up to $1,250 when you apply with code* by June 30, 2026