Seminar: Programming Languages and Paradigms

Lecturer

Dr. sc. Carol Alexandru

Content

Programming languages can be classified into one or more paradigms. Going beyond the most popular and frequently encountered paradigms, such as object-orientation, students will learn about the reasoning and constituents of a variety of programming paradigms, including but not limited to: functional, logic, event-driven, reactive, concurrent, imperative vs. declarative, and side-effect-free programming as well as lambda calculus, message passing, pipelines and assembly. The course will begin with a lecture giving a broad overview of programming paradigms. Every student will then pick one programming language to explore and learn. They will then implement a minimum of two pre- specified programs. All students will be implementing the same tasks, but in different languages, such that by the end of the semester, a comparison of solutions and paradigmatic differences is made possible. Students will need to write a seminar paper, do a peer-review, and give a presentation.

Further Information

All relevant information and course content is managed via the following OLAT course:

https://lms.uzh.ch/url/RepositoryEntry/16974184579/CourseNode/85421310414617

Please mind that you can only participate in this seminare if you've been assigned to it via the IFI seminar application process described here:

https://www.ifi.uzh.ch/en/studies/seminar.html

Also, please mind the information in the Modulbuchungstool:

https://studentservices.uzh.ch/uzh/anonym/vvz/index.html#/details/2020/004/SM/51053414 (BSc)

https://studentservices.uzh.ch/uzh/anonym/vvz/index.html#/details/2020/004/SM/51053417 (MSc)