CSC 321

Fall 2000 / Section 401

Syllabus

Brief description

This class will introduce you to the basic concepts and techniques of algorithm design and analysis. We will cover sorting and searching, graph algorithms, greedy algorithms, dynamic programming, and the theory of NP-completeness.

Textbook

The textbook is pictured at the left.  Note that this is the 3rd edition and is brand new.  You will not be able to use previous editions.

Topics

We will cover material from chapters 1, 4, 7, 8, 9, 10, and 13.  A good background in discrete mathematics (i.e., MAT 140 and MAT 141) is assumed.

Evaluation

There will be two exams: a midterm, worth 30% of the grade, and a final, worth 40%.  The remaining 30% will be made up by written assignments.  Letter grades will be assigned according to the following table.

Percentage Grade
92% to 100% A
89% to <92% A-
86% to <89% B+
82% to <86% B
79% to <82% B-
76% to <79% C+
73% to <76% C
70% to <73% C-
67% to <70% D+
60% to <67% D
<60% F

Office hours

My office hours are:

Office hours will be held in my office: room 747 in the CS&T Center.  

My office hour rant

I hold office hours specifically so that students have a time when they know I'll be in and available to answer questions. Please make use of my office hours! One of the resources you get when registering for a course is a chance to talk to the instructor one on one. Students often discover that even a brief chat about a program they're having trouble with will often clear up that (and other) problems, allowing them to proceed and complete the assignment.

In fact, you should stop by whenever you have a question. My teaching is not limited to the classroom. I have found that some the best teaching (and learning) happens when a student comes in to see me.

My office hours are posted above but I want to make it clear that I'm also available outside of those hours. The best way to see me then is to send me e-mail (jrogers@cs.depaul.edu) or call me (312-362-8334) and arrange for a meeting time. You can also try dropping by. If I'm in and not busily engaged in something else, I will be more than happy to see you.

Policy on plagiarism and cheating

Students may discuss assignments with one another in general terms. For example, you may discuss general strategies for attacking a problem. But you may not work together when writing the solution. I know it may sometimes not be clear what is considered permissible cooperation and what is considered cheating. If you are not certain, please discuss it with me ahead of time.

A corollary is that if you are having trouble getting started on an assignment, please come in and see me or send me e-mail (see my discussion about office hours above). Students often find that even a brief chat will clear up quite a few problems.

Students may not collaborate in any way on exams.

Activities that are clearly cheating include (but are not limited to): copying another person's work on a programming project, homework assignment, or exam; using any reference not authorized by the instructor on a programming project, homework assignment, or exam.

The penalty for cheating is an F in the course. Also, the appropriate dean will be informed in writing of cheating incidents and will be advised that students assigned an F for cheating should not be permitted to receive a W for the course.