SI333: ALGORITHMS AND FUNCTIONAL LANGUAGES, SPRING 2004
DR. CHRISTOPHER BROWN
Assistant Professor Christopher W. Brown,
- Web-Based Material
The course homepage is at
and you are responsible for all information and assignments
posted on this page.
Introduction to Algorithms, Cormen, Leiserson, Rivest and Stein,
McGraw Hill, 2001.
- Course Goals
- To introduce Midshipmen to the paradigm of Functional
Programming, including familiarity with and significant
programming experience in at least one functional language.
- To familiarize Midshipmen with a variety of standard
algorithms - the ``classics''.
- To provide Midshipmen with the skills needed to compare and
analyze the performance of algorithms.
- To enable Midshipmen to employ a variety of standard
techniques to devise efficient algorithms of their own.
- Extra Instruction
You are strongly encouraged to come in for extra instruction (EI)
when you are having trouble with material. You may schedule EI in
advance or you may simply drop by and, if I'm available, I'll
help you. I'm willing to try to answer questions via e-mail and
phone, but for many problems face-to-face is more appropriate, so
my response to an e-mail question may be ``Come in and see me.''
The break-down on your final grades will be:
- 25%: Final Exam The final exam will be cumulative,
but will emphasize the last 4 weeks of the course.
- 30%: 6-Week and 12-Week Exams
- 20%: Projects 1, 2, and 3 Projects will be due by
close of business on the date stated. I will assume that any
project that is in my hands, under my office door, or in my
mailbox by the time I arrive the next morning satisfied the
previous day's ``Close of Business'' deadline. Any late project
submitted days after the project deadline will automatically
have points deducted.
- 15%: Quizzes You will have pencil-and-paper as well
as programming quizzes. Expect about 8 for the semester.
- 10%: Homework You can pretty much expect to have
homework assigned after every class. Unless otherwise stated,
homework will always be due at the beginning of the following
class period, and late homeworks will not be accepted. Homeworks
will typically be graded either 100, 50, or 0, depending on whether or not
I deem sufficient effort has been given.
Please look at
for CS Department honor information, as well as Academy honor
information. In this course we will follow the guidelines given
there, with the following clarification/caveats:
- Exams and Quizzes
- All work on exams and quizzes must be
completely your own. No references are allowed unless explicitly specified by me.
- You may collaborate as much as you like on
homework, but the actual pencil-to-paper or fingers-to-keyboard
effort must be your own.
- Programming projects are expected to be your own work. The
department honor information page describes precisely what that
means. However, I want to make perfectly clear that looking at
another students code is not allowed!
Christopher W. Brown, Assistant Professor
Kay Schulze, Professor
Christopher W Brown