CS2223 Algorithms

Syllabus— B Term 2013

Prof. Carolina Ruiz

WARNING: Small changes to this syllabus may be made during the term.


Building on a fundamental knowledge of data structures, data abstraction techniques, and mathematical tools, a number of examples of algorithm design and analysis, worst case and average case, will be developed. Topics include greedy algorithms, divide-and-conquer, dynamic programming, heuristics, and probabilistic algorithms. Problems will be drawn from areas such as sorting, graph theory, and string processing. The influence of the computational model on algorithm design will be discussed. Students will be expected to perform analysis on a variety of algorithms. Intended audience: computer science and computer engineering students, and those desiring a deeper understanding of algorithm design and analysis. Undergraduate credit may not be earned both for this course and for CS 507. Recommended background: CS 2102 and CS 2022.


Mon, Tue, Thu, Fri 2:00 - 2:50 p.m.
FL Lower Perreault Hall


Prof. Carolina Ruiz
Office: FL 232
Phone Number: (508) 831-5640
Office Hours: FL 232




Recommended background: CS 2102 and CS 2022.


Exam 1 25%
Exam 2 25%
Exam 3 25%
Homework 25%
Class Participation Extra Points

Your final grade will reflect your own work and achievements during the course. Any type of cheating will be penalized in accordance to the Academic Honesty Policy.

Students are expected to read the material assigned to each class in advance and to participate in class. Class participation will be taken into account when deciding students' final grades.

According to the WPI Undergraduate Catalog, "Unless otherwise indicated, WPI courses usually carry credit of 1/3 unit. This level of activity suggests at least 17 hours of work per week, including class and laboratory time." Hence, you are expected to spend 4 hours per week actively participating in this course's lectures, and at least 13 hours per week working on this course outside the classroom.


See the Course Schedule for the dates of the exams.
Collaboration or other outside assistance on exams and quizzes is not allowed.


Several homework assignments will be given. They will be posted to the
Course Schedule Webpage.

All programming must be done in Python. For Python tutorials, see its documentation. We'll use Python version 2.X (that is, version 2 or 2.something), not version 3.X.

The homework will be INDIVIDUAL, unless otherwise noted. You may discuss the material covered by the homework with your classmates if you wish, but you must develop and write YOUR OWN homework solutions. Your solutions must be your own original work. However, if for some reason you use any other sources of ideas, including for instance books, web pages, etc., you must explicitly acknowledge those sources. Failure to identify non-original work is considered academic dishonesty.

LATE HOMEWORK POLICY: Unless otherwhise noted, homework is due at the beginning of class at 2:00 pm. No homework will be received during the class period (2:01-2:50 pm). Late homework received between 2:51 pm and 4:30 pm of the day it is due will be accepted with a 30% off penalty (submit late homework in the CS Department Office FL233). No homework will be accepted after 4:30 pm the day it is due. No exceptions.


There are two mailing lists for this class (replace XXXX with 2223 below): This mailing list CSXXXX-all that reaches the whole class should be used ONLY for messsages that are of interest to the entire class.


The web pages for this class are located at http://www.cs.wpi.edu/~cs2223/b13/
Announcements will be posted on the web pages and/or the class mailing list, and so you are urged to check your email and the class web pages frequently.


Small changes to this syllabus may be made during the course of the term.


Webpages of my previous offering of CS2223 containing study materials like exams, quizzes, and homework solutions.

WPI Worcester Polytechnic Institute

Computer Science Department