Course
Course Catalog URL:
Identifier:
COM S 5410
- Credits and contact hours: 3 credits, 3 contact hours
- Instructor’s or course coordinator’s name: Hridesh Rajan
- Text book, title, author, and year: Benjamin C. Pierce, Arthur Azevedo de Amorim, Chris Casinghino, Marco Gaboardi, Michael Greenberg, Cătălin Hriţcu, Vilhelm Sjöberg, Brent Yorgey, “Logical Foundations”, 2019 edition, Open Source Textbook, https://softwarefoundations.cis.upenn.edu/lf-current/index.html.; Benjamin C. Pierce, Arthur Azevedo de Amorim, Chris Casinghino, Marco Gaboardi, Michael Greenberg, Cătălin Hriţcu, Vilhelm Sjöberg, Andrew Tolmach, Brent Yorgey, “Programming Language Foundations,” 2019 edition, Open Source Textbook, https://softwarefoundations.cis.upenn.edu/plf-current/index.html.
- Other supplemental materials: None
Specific course information
- Brief description of the content of the course: Survey of the goals and problems of language design. Formal and informal studies of a wide variety of programming language features including type systems. Creative use of functional and declarative programming paradigms.
- Prerequisites or co-requisites: COM S 342 or COM S 440; for graduate credit: graduate standing or permission of instructor
- Required, elective, or selected elective? Selected Elective
Specific goals for the course
- Specific outcomes of instruction:
- An ability to analyze a complex computing problem and to apply principles of computing to identify solutions (1)
- An ability to apply computer science theory and software development fundamentals to produce computing-based solutions (6)
Brief list of topics to be covered
- Problems in language design
- Formal and informal studies of a variety of programming languages
- Functional programming paradigm
- Declarative programming paradigm