Professor: Dr. Jose M. Garrido
Office:Norton J-316
Office Hours: (Virtual interactive) Tuesday and Thursday 7:30pm – 8:15pm, using Zoom
This course covers the fundamental concepts on which programming languages are based and the execution models supporting them. Topics include syntax and semantics of programming Languages, different paradigms of programming languages, values, variables, bindings, type systems, control structures, exceptions, concurrency, modularity, and language processors (compilers and interpreters).
-
Concepts of Programming Languages
- by Robert W. Sebesta, University of Colorado, Colorado Springs
- ISBN-13: 978-0-13-394302=3.
-
Writing Compilers and Interpreters: A Software Engineering Approach 3rd Edition
- by Ronald Mak
- ISBN-13: 978-0470177075
- Explain the issues involved in the design and implementation of programming languages
- Conduct critical evaluations of existing and future programming languages
- Select implementation languages for specific applications
- Explain the difference between the different programming language paradigms and discuss the advantages and disadvantages of each one.
- Develop a complete language processor (interpreter) for a simple programming language
Component | Weight |
---|---|
Project | 25% |
Final | 20% |
Midterm | 20% |
Assignments | 15% |
Quizzes | 15% |
Discussion | 5% |