CS 345: 0203-345. Programming Language Paradigms (4) Prerequisite: a grade of C or better in CS 112. Recommended prerequisite: CS 245. Syntax, semantics, concepts, capabilities, and implementation details of several different languages including imperative, functional, object oriented, and logical languages. Comparative advantages and disadvantages of different languages and paradigms. Four hours lecture. Offered every Fall.
Could you be less specific?
What we'll do in this course is learn about the issues involved in the design and implementation of programming languages. We'll learn about different types of programming languages/styles, including imperative, object-oriented, functional and declarative.
Much of the course will focus on Python. We'll also get a chance to look at logic-based programming using Prolog, and functional programming using Lisp.
At the end of the course, you should have: a) a working knowledge of Python. b) an understanding of how to apply these design principles and programming paradigms to other languages you work with, such as C/C++ or Java, and c) the ability to describe the syntax and semantics of a programming language and d) the ability to implement some of the tools, such as parsing and garbage collection, needed to construct a simple interpreter.