Spring 2015

Class Meeting Time and Place: Monday , Thursday 12-1:20 pm in DCC 308

- Homework 2 solution and Home work 1 solution
- Lab 1 solution and Lab 2 solution and Lab 3 Solution and Lab 4 Solution
- Home work 3 is on line
- Test 1 is on Monday (2nd March 2015) in class - Open book, open notes, closed internet, covers chapters 0,1,2,3 (undirected graphs). Sample Test 1 and Solution .
- Lab 4 is on line
- ALAC has drop-in tutoring hours for CSCI2300 (Monday to Thursday 8PM-10PM @ Sage 5101). Please use this if you need help.
- Lab 3 is on line
- Home work 2 is on line
- coin-toss exercise
- Lab 2 is online
- Lab 1 is online
- Lab 0 Solution is posted in LMS.
- Home work 1 is on line
- Example worked in class about sum of three distinct numbers in a set equals 0
- Lab 0 is on line You dont have to go the lab.

Instructor: Moorthy - Home Page **Moorthy **

Email:moorthy@cs.rpi.edu

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

Office: Lally 305

Class meets in DCC 308 on Mondays and Thursday from 12-1:20 pm

Teaching Asst:** Pranay Anchuri**

Email: anchupa@cs.rpi.edu

Office Hours: W 10:50-11:50 am

Location: AE 106

Teaching Asst:** Hongzhao Huang**

Email: huangh9@rpi.edu

Office Hours: Wedensady 1-2:00 pm

Location: AE 217

Teaching Asst: ** Benjamin Horne **

Email: horneb@rpi.edu

Office Hours: Wednesday 10:50-11:50 am

Location: AE 119

Teaching Asst: ** Shuran Li **

Email: lis13@rpi.edu

Office Hours: M 11:00 am -12:00

Location: AE 217

Graduate and Undergraduate Lab TAs:

- Section 1 W 10-11:50 am Sage 4101 GTA Shuran Li UTA Andrew Tupper, Anthony Handwerker
- Section 2 W 2-3:50 pm Sage 2715 GTA Hongzhao Huang UTA Brandon Drumheller, Michael Han
- Section 3 W 12-1:50 pm Troy 2012 GTA Benjamin Horne(odd lab) Shuran Li (even lab) UTA Andrew Tupper, Anthony Handwerker
- Section 4 W 4-5:50 am Sage 2715 GTA Honzhao Huang UTA Mark Radocy, Xi Xi
- Section 5 W 12-1:50 pm Sage 3101 GTA Pranay Anchuri, UTA Brandon Drumheller, Michael Han
- Section 6 2-3:50 pm Sage 5101 GTA Benjamin Horne (every week) UTA Mark Radocy, Xi Xi

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 308

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 (1/29): Chapter 0 and 1

Class 3 (2/2): Chapter 1

Class 4 (2/5): Chapters 1 and 2

Class 5 (2/9): Chapter 2

Class 6 (2/12): Chapters 2 and 3

Class 7 (2/16): No Class

Class 8 (2/19): Chapter 3 and 4

Class 9 (2/23): Chapter 4

Class 10 (2/26): Chapter 4

Class 11 (3/2): Exam 1

Class 12 (3/5): Chapter 5

Class 13 (3/9): Chapter 5

Class 14 (3/12): Chapter 6

Class 15 (3/16): Chapter 6

Class 16 (3/19): Chapter 6

Class 17 (3/30): Chapters 6 and 8

Class 18 (4/2): Chapter 8

Class 19 (4/6): Chapter 8 and Review

Class 20 (4/9): Exam 2

Class 21 (4/13): Chapter 8

Class 22 (4/16): Chapter 8

Class 23 (4/20): Chapter 9

Class 24 (4/23): Chapter 9

Class 25 (4/27): Chapter 9

Class 26 (4/30): Chapter 7

Class 27 (5/4): Chapter 7

Class 28 (5/7): Chapter 7

Class 29 (5/11): Review

- Wednesdays:

- 1/28 -
**No Lab - You dont have to go to Lab on January 28th**Lab 0 (optional) - Lab 1 (Feb 4) Lab1.
- Lab 2 (Feb 11) Lab 2
- Lab 3 (Feb 18) Lab 3
- Lab 4 (Feb 25) Lab 4
- Lab 5 (Mar 11)
- Lab 6 (Mar 18)
- Lab 7 (Apr 1)
- Lab 8 (Apr 8)
- Lab 9 (Apr 22)
- Lab 10 (Apr 29)
- Lab 11 (May 6) (optional) - you do not have to go the lab.

- Late homework will not be accepted.
- Homework 1: Due in class on Thursday, Feb 12. HW1 Home Work 1
- Homework 2: Due in class on Thursday, Feb 26. HW2
- Homework 3: Due in class on Thursday, Mar 12. Home Work HW3
- Homework 4: Due in class on Thursday, Apr 2 .
- Homework 5: Due in class on Thursday, Apr 16.
- Homework 6: Due in class on Thursday, Apr 30.
- Homework 7 Due in class on Monday, May 11.

- Exam 1 on Monday March 2, from 12-1:20 pm - covers Chapters 0 to 4
- Exam 2 on Thursay April 9, from 12-1:20 pm Covers Chapters 4, 5,6 and 8
**Final Exam will be during the Final Exams week**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