Electrical Engineering and Computer Science

EECS 4500 - Programming Language Paradigms Course Syllabus

Credits/Contact Hours
3 credit hours & 150 minutes lecture contact hours per week.
Instructor's Name
Dr. Henry Ledgard
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.

Last Updated: 6/27/22