CS2223. Introduction To Algorithms
D-Term 2013
Home Textbooks Assignments Schedule Additional Resources


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.