Overview

Programming languages are the tools that we use to communicate with computers to get them to do our bidding. Of the four most well-known programming language paradigms, only object-oriented programming (such as in Python and Java) is commonly seen outside of this course here at Carleton. To better understand other programming language paradigms, we will program in each of the three other main paradigms: functional programming (Scheme), imperative programming (C), and logical programming (Prolog). They key goal is to gain an understanding of characteristics from each, and to appreciate that each has made different trade-offs in design reflecting the creators' goals. Additionally, practice at these dramatically different approaches to programming help making learn new languages easier to do.

Instructor Information

Textbook

Your Grade

Homework Policy

Working Together

Collaboration, Plagiarism, and the Difference Between the Two

There are two different kinds of working together: collaborating and plagiarism.

Collaborating

Plagiarism

The following are examples of plagiarism:

I will be using software to discover plagiarism if it occurs, and I am compelled by Carleton policy to notify the College if I find evidence of plagiarism.