You were probably introduced to programming in a language such as Pascal, Basic, or C. These languages are popular because they lend themselves well to expressing our algorithmic thoughts in code. But there are other ways to program that often lead to more natural solutions. In this course we'll study object-oriented, functional, and logic-oriented programming languages that are all equivalent in computational power, but each lends itself best to performing certain kinds of tasks. In the process you'll get the chance to learn, compare and evaluate lots of useful and nifty languages.
Course Materials:
Below are some links to online materials on Java:
Java Applets:
Exams:
Other online materials: