CS502 Foundations of Computer Science

 91.503.201 Algorithms

 Spring 2007

Homework Assignments

Midterm Exam — available by March 24th 12:00:00 (noon) eastern time

Table of Contents

Finding This Document
Course Objectives
Time and Place
Course Personnel and Office Hours
Prerequisites
Course Texts

Course Outline
Homework
Exams
Grading Policy

Attendance
The Honor Code

Finding This Document On-Line

The class Web page is http://www.cs.uml.edu/~wang/cs503. Note that this page is a “living document:” extra information is expected to be added during the semester. For up-to-date contents please refer to this Web page.

Course Objectives

This course has two objectives: (1) Expose students to various common algorithmic topics with depth. (2)  Help students to learn and master rigorous methodologies to design algorithms, prove their correctness using mathematical techniques, and analyze their performance using complexity measures.

Time and Place

The class meets Mondays 5:30pm-8:10pm, Place: Olsen 403. Each meeting is divided into two sessions: 5:30-6:45 and 6:55-8:10, with a 10-min recess.

Course Personnel

Person

Role

Office

Office Phone

Office Hours

Email

Jie Wang

Instructor

OS 201

978-934-3649

MWF: 1:15-2:15

or by appointment

wang@cs.uml.edu

Mineseo Park

TA

OS 220B

 

W: 12:00-1:00

mpark@cs.uml.edu

Prerequisites

  1. 91.404 Algorithms
  2. 92.321 Discrete Math I and 92.322 Discrete Math II
  3. 92.386 Probability and Statistics
  4. Calculus I, II, and III
  5. Coding proficiency using a high-level programming language (C, C++, Java, etc)

 

Note: If you miss any one of these prerequisites, this course is not for you.

§  Math prerequisites rubrics

  1. Set theory—notations, operations, DeMorgan laws, infinity, countable sets, uncountable sets, one-to-one correspondence
  2. Algebrasymbolic manipulations, linear equations, substitutions, number systems (binary, decimal, etc)
  3. Mathematical induction—normal version and stronger version; induction on integers, on string length, on set sizes, etc
  4. Number theory—congruence relations, prime numbers, Fundamental Theorem of Arithmetic, etc
  5. Combinatorics—basic concepts and counting techniques
  6. Recursion—recursive definition of mathematical concepts, solving simple recursive relations
  7. Integer functions—function limits, asymptotic comparisons, logarithmic functions, polynomials, exponential functions
  8. Series—summation of common series, approximations to n!
  9. Graph theory—basic terminology and properties, trees, traverse algorithms

Required Text:

T.H. Corman, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms, 2nd edition, McGraw-Hill, 2nd edition, 2001. ISBN 0-07-013151-1

 

Handout: Introduction to NP-Completeness

Course Outline (tentative)

Date

 Topic

Reading

Wk1 (01/29)

 Administrative Matter. Dynamic programming

 Ch15

Wk2 (02/05)

 Greedy algorithm

 Ch16

Wk3 (02/12)

 Amortized analysis

 Ch17

Wk4 (02/19)(02/20)

 Shortest paths

 Ch24 & Ch25

Wk5 (02/26)

 Shortest paths

 Ch24 & Ch25

Wk6 (03/05)

 Maximum flow

 Ch26

 (03/12)

 Spring recess; no class

 

03/24 noon –

03/25 noon

Take-home midterm exam

Everything from wk1 to wk6

Wk7 (03/19)

 NP-completeness

 Ch 34 and handout

Wk8 (03/26)

 NP-completeness

 Ch 34

Wk9 (04/02)

 Approximation algorithms

 Ch 35

Wk10 (04/09)

 Linear programming

 Ch 29

Wk11 (04/16)(04/18)

 No lecture; homework recitations by Ms. Park

 

Wk12 (04/23)

 Polynomials and the FFT

 Ch 30

Wk13 (04/30)

 String matching

 Ch 32

Wk14 (05/07)

 Computational geometry

 Ch 33

TBA

 Final Exam

 Everything from midterm

 

Homework Assignments

This is primarily a "paper-and-pencil" course. But homework must be typed. For each algorithm you design, you must include a description using English with math notations, pseudo code, correctness proof, and complexity analysis. Homework assignments are due on Mondays at the beginning of class.

 

Homework handed in after 8:15pm will be considered late, and no late homework assignments will be accepted. However, since occasional emergencies may occur, each student is allowed one extension of 48 hours to turn in his/her homework. This amount of time cannot be divided among assignments: It applies to one assignment only.

Exams

Midterm and final exams will be given. No early exams will be given. Exams may be taken after a scheduled date ONLY for documented emergencies. Students are required to obtain appropriate written documentations. A quiz with emphasis on prerequisite courses will be given in the 4th week to help you determine whether you should stay on the course.

Note: No Incompletes will be given in this course.

Grading Policy

The approximate weights of the three components are

 

Homework

20%

Midterm

40%

Final

40%

Attendance

Class attendance is important. You are responsible for all scheduling and announcements made in class if you miss class. The likelihood of failing the course is subsequently higher if you fail to attend class.

Honor-Code Policy

Students should be aware of, and adhere to, the University’s rules on academic dishonesty. These rules appear in the Graduate/Undergraduate Catalogs. The basic presumption is that the work you do is your own. Occasionally, especially when working on difficult homework problems (but never on quizzes or exams!), it may be necessary to ask someone for help. You are permitted to do so, provided you meet the following two conditions.

1.      You acknowledge the help on the work you hand in.

2.      You understand the work that you hand in, so that you could explain the reasoning behind the parts of the work done for you by another. This means that you must write your solutions using your own words.

Any other assistance by another person or from any other source constitutes a violation of the honor code. Even if you just provide your work for someone else to copy from, you are still violating the honor code.

This course adopts the zero-tolerance policy of honor-code violation; that is, anyone who violates the Honor-Code policy will automatically receive an F for the entire course, and this F will be noted as a cheating F.

If you have any questions about what this honor-code policy means, please discuss the matter with the instructor.