EECS 3560 - Programming Language Paradigms Course Syllabus
Credits/Contact Hours
3 credit hours & 150 minutes lecture contact hours per week.
Textbook
None: the reading is a collection of papers and language tutorials.
Course Information
Fundamental concepts of modern programming languages. Differences and similarities
between procedural, functional, object- oriented and rule-based languages are examined
as well as their impact on the programming process.
Prerequisites: EECS 2510 and EECS 4100
Elective course.
Specific Goals - Student Learning Objectives (SLOs)
Students will be able to:
1. Know the difference between "Procedural Programming" , "Object-Oriented Programming",
and "Functional Programming".
2. Learn details about languages for the Web, including HTML, CSS, Java script, and
PHP.
3. Gain knowledge of newly developed languages such as Swift, Ruby, and Go.
4. Develop a view of what a "readable" program is.
5. Develop an appreciation for different styles of syntax.
6. Have knowledge of Cobol and its metaphor.
7. Understand the use of Model-View-Controller for designing programs with graphical
interfaces.
8. Understand the role of the IDE in writing programs and simplifying their construction.
Topics
1. C++ as example of full Object-Oriented Programming
2. An example of a dynamically typed language – Java script
3. A language supporting different metaphors - Python
4. Access to databases - SQL
5. Swift – a language optimized for day-to-day usage
6. The Separation Principle -VSE
7. A language based on mathematical logic - Prolog
8. The Failure of Contemporary Languages.