Course Information

Be sure to read all of this page!


Description

A computer can carry out operations that you request at amazing speeds. The trick is learning how to instruct the machine to do your bidding. However, that is the easy part of the trick: Learning a language (in this case, Java) by which you can instruct the machine is only a side-effect of this course. The more difficult part of the trick, and the one on which the course will focus, is determining which operations you want the machine to perform!

Given a particular problem that you want to solve, you first need to devise a solution. Then, you need to devise a sequence of operations that will carry out that solution -- that is, an algorithm. Only then can you express that algorithm as a computer program. In this course, we will tackle increasingly difficult problems for which we can create programmable solutions.

The basic topics are given below, roughly in the order that will we cover them:


Lectures, labs, and materials

We will meet three times per week for a 50 minutes each. The class lectures are MW at 1 pm in SMudd 206, and the lab is F at 1 pm in SMudd 014. Note that sometimes we will vary the use of labs and lectures in a given week -- watch the course annoucements for such changes.

You are responsible for the material presented in every lecture and lab. There is no attendance policy, but I strongly recommend that you attend all lectures. If you miss one, it is your responsibility to obtain the material that you missed.

As a text, we will use a book-in-development by Prof. Lyle McGeoch. The chapters of this book will be posted on the class web pages as the semester progresses.


Labs and projects

There will be two types of assignments:

  1. Labs: Each week, there will be a programming assignment on which you will begin work during the lab period. Typically, you will have one week to complete each lab. These labs will focus on material from the most recent lectures.
  2. Projects: There will be four larger programming assignments throughout the semester. You will have two to three weeks to complete each of these, and they will require that you employ a larger group of strategies covered during the lectures and labs.

Exams

There will be three exams:

  1. Mid-term #1 will be a 50 minute exam during a regular lecture or lab time during the 5th week of the semester.
  2. Mid-term #2 will be a 50 minute exam during a regular lecture or lab time during the 10th week of the semester.
  3. The final examination will be 3 hours. When it is scheduled, the time and location will be posted here.

Grading

Your grade for this course will be calculated based on the following forumla:

Participation is a critical component of the course -- that 10% must be earned. I will call on people randomly during class. If you are unprepared for the questions, you will lose points. If you don't have an answer to a question, then you must ask a meaningful question about my question to move the discussion forward.


Late submission

A project not submitted by its deadline will receive a failing grade.

If you need an extension, you must submit a written request for that extension at least 72 hours before the deadline. Exceptions will be made on a case by case basis for illnesses or emergency situations. Note that submissions are electronic and automatically timestamped; the degree to which a submissions is late will be irrelevant.

This class will move from one project to another too quickly for late submission to be regularly allowed. I will seek to grade and return your work to you quickly, and that will be possible only if all submissions are provided by the given deadlines. Those deadlines will always be explicitly and clearly stated.


Your responsibilities and my availability (office hours)

I hope that this page has made clear the structure and intent of the course, and well as the expected workload and your responsibilities. By presenting this information at the onset, I hope to avoid using our valuable time on misunderstandings and negotiations.

I will be available to meet with you about the material, projects, exams, lectures, or any other aspect of the course. Simply email me and we will set a time to meet as soon as possible. You can also try to find me in my office (SMudd 406) or the Faculty Research Lab (SMudd 015). I will also regularly hold office hours in my office on MWF at 3 pm. You need not make an appointment with me during that time -- just show up.


Scott F. Kaplan
Last modified: Wed Sep 1 15:40:56 EDT 2004