Fall 2014

- Home Work 3 is posted (Due October 2nd) Here.
- Lab 3 is posted here
- Home Work 2 is posted (Due September 18th) Here.
- Lab 2 is posted here
- Lab 0 is posted Here.
- Home Work 1 is posted (Due September 4th) Here. li> Lab 0 Solution is posted Here.
- Lab 1 is posted Here.

Instructor: Moorthy - Home Page **Moorthy **

Email:moorthy@cs.rpi.edu

Office Hours: Tuesday, Friday 2:00 -3:30pm

Office: Lally 305

Teaching Asst: William Babbitt

Email: babbiw@rpi.edu

Office Hours: Thursday 9-10:00 am

Labs: Sections 5 (JROWL 2C06) and 6 (sage 3101)

Location: AE 217

Teaching Asst: :Congrui Li

Email: lic10@rpi.edu

Office Hours: wednesday 4-5:00 pm

Location: AE 217

Teaching Asst:Hongzhao Huang

Email:huangh9@rpi.edu

Office Hours: Friday 12:30-1:30 pm

Location: AE 217

Undergraduate Lab TAs:

- Lab 1 W 6-7:50 pm Eaton 216 Xi (UTA), Michael(UTA)
- Lab 2 W 2-3:50 pm Eaton 216 Abramson(UTA) Wyler(UTA)
- Lab 3 W 2-3:50 pm Sage 2715 Radocy(UTA) Manzini(UTA)
- Lab 4 W Noon-1:50 am Sage 2715 Radocy(UTA) Manzini(UTA)
- Lab 5 W 10-11:50 am J-ROWL 2C06 Xi(UTA) Eric(UTA)
- Lab 6 Noon-1:50 pm Sage 3101 Abramson(UTA), Wyler(UTA)

Students at the end of the course will be able to design, implement and analyze algorithms for problems in Science and Engineering. Students will learn different Algorithmic Paradigms and learn techniques for analyzing the algorithms. Students will also learn efficiency both in design and implementation. Students will learn to compare different algorithms for solving the same problem. Students will be exposed to an elementary treatment of NP-complete problems.

- Understand the correctness of, and analyze the running times of, different algorithms.
- Use different algorithm-design techniques, including, but not limited to, greedy, divide-and-conquer, and dynamic programming techniques, to solve particular problems.
- Model real problems abstractly using the language of graphs and flows.
- Solve problems by reducing to other problems whose solution is known, and show that problems are hard by reducing from other problems.
- Make intelligent decisions about alternative data structures and algorithmic techniques in the context of practical software problems, choosing from existing data structures and algorithms or designing your own when necessary

Class Time: Monday and Thursday,

Classroom: DCC 318

Credits: 4

Prerequisites: CS2 (CSCI-1200) and
Foundations of Mathematics (CSCI-2200).

This course discusses algorithms, and the mathematical techniques necessary to design and analyze them.

Web Page: http://www.cs.rpi.edu/~moorthy/Courses/CSCI2300

Chapter 0 Introduction Chapter 1 Algorithm with Numbers and Randomized Algorithms Chapter 2 Divide and, Conquer Algorithms Chapter 3 Decomposition of Graphs Chapter 4 Paths in Graphs Chapter 5 Greey Algorithms Chapter 6 Dynamic Programming Chapter 8 NP-complete Problems Chapter 9 Coping with NP-complete Problema Chapter 7 Linear Programming

Class 2 (8/28): Chapter 0 and 1

Class 3 (9/4): Chapter 1

Class 4 (9/8): Chapters 1 and 2

Class 5 (9/11): Chapter 2

Class 6 (9/15): Chapters 2 and 3

Class 7 (9/18): Chapter 3

Class 8 (9/22): Chapter 3 and 4

Class 9 (9/25): Chapter 4

Class 10 (9/29): Exam 1

Class 11 (10/2): Chapter 4

Class 12 (10/6): Chapter 5

Class 13 (10/9): Chapter 5

Class 14 (10/14): Chapter 6

Class 15 (10/16): Chapter 6

Class 16 (10/20): Chapter 6

Class 17 (10/23): Chapters 6 and 8

Class 18 (10/27): Chapter 8

Class 19 (10/30): Chapter 8 and Review

Class 20 (11/3): Exam 2

Class 21 (11/6): Chapter 8

Class 22 (11/10): Chapter 8

Class 23 (11/13): Chapter 9

Class 24 (11/17): Chapter 9

Class 25 (11/19): Chapter 9

Class 26 (11/24): Chapter 7

Class 27 (12/1): Chapter 7

Class 28 (12/4): Reciew

- Wednesdays:

- 8/27 -
**No Lab - You dont have to go to Lab on August 27th**Lab 0 (optional) - Lab 1 (sep 3) Lab1.
- Lab 2 (Sep 10) Lab 2
- Lab 3 (Sep 17) Lab 3
- Lab 4 (Sep 24)
- Lab 5 (Oct 8)
- Lab 6 (Oct 15)
- Lab 7 (Oct 22)
- Lab 8 (Oct 29)
- Lab 9 (Nov 12)
- Lab 10 (Nov 19)
- Lab 11 (Dec 3) (optional) - you do not have to go the lab.

- Late homework will not be accepted.
- Homework 1: Due in class on Thursday, Sep 4. HW1 Home Work 1
- Homework 2: Due in class on Thursday, Sep 18. HW2
- Homework 3: Due in class on Thursday, Oct 2. Home Work HW3
- Homework 4: Due in class on Thursday, Oct 16.
- Homework 5: Due in class on Thursday, Oct 30.
- Homework 6: Due in class on Thursday, Nov 13.
- Homework 7 Due in class on Monday, Dec 1.

- Exam 1 on Monday Sept 29, from 12-1:20 pm - covers Chapters 0 to 3
- Exam 2 on Monday Nov 3, from 12-1:20 pm Covers Chapters 4,5,6 and 8
**Final to be announced**Covers all the Chapters covered in class (Chapters 0-9)

- 15% Labs, 21% Homework (3 points for each homework); 20% Exam 1; 20% Exam 2; 25% Final

*Algorithms*, Dasgupta, Papadamitriou and Vazirani McGraw Hill, 2008

*Introduction to Algorithms*, Cormen, Leiserson, Rivest and Stein Most Recent Edition McGraw Hill

Department of Computer Science

Rensselaer Polytechnic Institute