Programming Language Design and implementation
Programming languages are a key component of all aspects of computer science. As with natural languages, our ability to express ideas is limited by the language that we use. In this course we start with language concepts that you think you understand very well, and show you that they are much more complex than you think. This includes concepts like variables, loops, arrays, parameters, and pointers. Not only do we dig deeper into these concepts, but we look at languages that take very different approaches than the ones you’ve seen in Java and C++. This expands your ability to think about how to solve problems and adds to the set of languages that you can choose.
What makes one programming language different than another? What aspects of languages allow them to be grouped into categories of similar languages? What is the difference between an object-oriented language and a functional language? What kinds of problems are logic-oriented languages best suited to solve? What type of language should you use to write an artificial intelligence application?
These and many other burning questions will be answered in this course. You will experience programming in lesser known languages such as Smalltalk, Snobol, Lisp, and others.
This course is guaranteed to expand your mind and increase your understanding of how computing is done.
Offered spring semester in even numbered years.
This course is usually taught Dr. DeJongh.
Comments from Previous Students:
- "Essentially taught me how to learn new languages. I found that after this course, I could pick up new languages and concepts with much more ease than before."
- "Glad for the exposure to lots of languages."
- "The constantly switching topics made this class interesting."
This course introduces the basic concepts of imperative and object-oriented programming languages including control structures, data aggregates, and procedural abstraction. Scripting languages will be examined as examples of these principles.
Four Credits Staff Spring Semester