CS2223. Introduction To Algorithms
D-Term 2013
Class Meetings
Term: D-2013
Room: PH-LWR (Fuller Labs)
Date/Time: Monday, Tuesday, Thursday, and Friday, 2:00pm - 2:50pm.
Instructor/Office Hours
Prof.
Mohamed Eltabakh, FL-235, meltabakh@cs.wpi.edu
Office Hours: Monday 4:00pm - 5:00pm
Tuesday, Thursday 1:00pm-2:00pm
Students are also welcomed to
schedule other meeting times by email.
TAs/Office Hours
Yue Lu (ylu4@wpi.edu), and Dongqing Xiao (dxiao@wpi.edu)
TA Office Hours (in FL- A22):
Monday--> 11:00am - 12:00pm
Tuesday--> 11:00am - 12:00pm
Wednesday--> 1:00pm - 2:00pm
Friday -->
9:00am - 10:00am
Regarding when and by what means to approach the instructor or TAs with
questions outside of class, please keep in mind the following. We are
always willing and eager to answer your questions, and would like you
to master the topics covered in a timely manner. There are different
venues for bringing questions outside the lecture hours: (a) First we
suggest that you utilize the discussion boards on mywpi - as we will be
monitoring those daily, plus other students could likely benefit from
your questions and our answers. Other students may even be able to
answer your questions. (b) Second, go to the office hours, as they are
set up solely for this purpose. (c) Only when the above two means do
not work for you, then feel free to email to the staff of this course
explaining your problem. Also, if there is specific issue that cannot
be addressed in the above manner, you are welcome to drop by our
offices to set up some alternate agreed-upon meeting time.
Course Highlights (Catalog Info)
-- This course introduces
the student to the design and analysis of computer algorithms and techniques.
-- Four main aspects will be cover in this course, which are:
a) Algorithmic Strategies [Breadth-First Traversal, Depth-First Traversal, Greedy Algorithms, Dynamic Programming, Divide and Conquer].
b) Problem Types [Sorting, Searching, Graph Algorithms, Scheduling and Optimization, String Processing]
c) Data Structures [Arrays, Trees, Queues, Graphs, Strings, Hash Tables]
d) Analysis and Evaluation [Coding and running algorithms, Analytical analysis using big-O notation]
-- Undergraduate credit may not be
earned both for this course and for CS 507.
Coding and Programming Language
-- Students are expected to write (code)
different algorithms during the course. The course does not mandate the
use of a specific language, and students are free to use a language of their choice.
-- Based on previous offerings of this course, most students use either Java, C, or C++ language.
Course Description
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.
Recommended background: CS 2102 and CS 2022
Course Load & Grading Policy
This course will have 4-5 Assignments (coding + theoretical analysis), and
midterm and final exams. We will also have 3-4 short quizzes throughout the term. The division of the course grade is given
below.
Items |
Percentage |
Assignments (4)
|
25%
|
Midterm (2)
|
25%
|
Final Exam |
25%
|
Quizzes (3)
|
20%
|
Participation |
5%
|
WPI E-System
This course will use blackboard.wpi.edu. You can use this system for electronic submission of homeworks and/or projects, and for checking your grads.
Discussion Board
Please use the discussion board available at blackboard.wpi.edu. for any course-related posts and discussions.