# CSCI-2300: Algorithms Spring 2015 Class Meeting Time and Place: Monday , Thursday 12-1:20 pm in DCC 308

### Announcements.

1. Instructor will have office hours on Tuesday at the usual time 2:00-3:30 pm on Lally 305
2. Final Exam is on May 21st in West Hall Auditorium From 11:30 am to 2:30 pm
3. As promised on the number of course evaluations, all of you get 5 extra points in the final exam
4. Sample Solution to Home Wrok 7 is here
5. Sample Solution for Home Work 6 Here
6. Sample Solution to Home work 5 here here
7. If more than 140 students fill up the course evaluation form, every one will get extra 5 points in the final exam. Course evaluation ends at 11:59 pm (central) on 5/13/2015
8. Sample Final Exam and solution - Please under the problem.
9. Sample Solution to Test 2 is here
10. Lab 11 is on line (optional) - Please do not submit
11. Home work 7 is on line
12. Lab 10 is on line
13. Second test median 75; avergae 74.08; standard deviation 12.75; D >=50; C>=68; b>=78; A>=88;
14. Lab 9 is on line
15. Home work 6 is on line
16. HW 4 Solution
17. Lab 5 Solution. Lab 6 Solution Lab 7 Solution and HW 3solution
18. Test 2 in on 4/9/2015 in class open book, open notes, no internet, covers chapters 3(directed graphs), 4, 5, 6 (elementary problems) - There will be only one question on Dynamic Programming.
19. Sample Test 2
20. Lab 8 is on line
21. Home work 5 is on line
22. Lab 7 is on line
23. Sample solution to Test 1 is here
24. First test stats: Average 70.21; Median 71.69; Standard Deviation 15.99; D >= 55; C >=70; B >=80; A >=90;
25. Lab 6 is on line
26. Home work 4 is on line
27. Lab 5 is on line
28. Homework 2 solution and Home work 1 solution
29. Lab 1 solution and Lab 2 solution and Lab 3 Solution and Lab 4 Solution
30. Home work 3 is on line
31. 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 .
32. Lab 4 is on line
33. ALAC has drop-in tutoring hours for CSCI2300 (Monday to Thursday 8PM-10PM @ Sage 5101). Please use this if you need help.
34. Lab 3 is on line
35. Home work 2 is on line
36. coin-toss exercise
37. Lab 2 is online
38. Lab 1 is online
39. Lab 0 Solution is posted in LMS.
40. Home work 1 is on line
41. Example worked in class about sum of three distinct numbers in a set equals 0
42. Lab 0 is on line You dont have to go the lab.
Syllabus

Homework

Exams

### Course Information

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

Labs:Section 5 (every Week)

Teaching Asst: Hongzhao Huang
Email: huangh9@rpi.edu
Location: AE 217

Labs: Section 2 (every week) Section 4

Teaching Asst: Benjamin Horne
Email: horneb@rpi.edu
Office Hours: Wednesday 10:50-11:50 am
Location: AE 119

Labs: Section 3 (odd lab) Section 6 (every week)

Teaching Asst: Shuran Li
Email: lis13@rpi.edu
Office Hours: M 11:00 am -12:00
Location: AE 217

Labs: Section 1 (every week) Section 3 (even lab)

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

## Course Objectives

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.

### Learning Outcome

The goal of this course is to provide a strong foundation in algorithms and data structures in preparation for jobs in industry or for more advanced courses. Algorithms are the basic language of computer science. After taking this course, you, the student, should be able to:
1. Understand the correctness of, and analyze the running times of, different algorithms.
2. Use different algorithm-design techniques, including, but not limited to, greedy, divide-and-conquer, and dynamic programming techniques, to solve particular problems.
3. Model real problems abstractly using the language of graphs and flows.
4. Solve problems by reducing to other problems whose solution is known, and show that problems are hard by reducing from other problems.
5. 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, 12:00 - 1:20pm
Classroom: DCC 308
Credits: 4
Prerequisites: CS2 (CSCI-1200) and Foundations of Mathematics (CSCI-2200).

### Description

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

### Syllabus

Chapters are from Dasgupta's book
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

### Lectures

Class 1 (1/26): Chapter 0

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

### Labs

• Wednesdays:
• Lab 1 W 10-11:50 am Sage 4101
• Lab 2 W 2-3:50 pm Sage 2715
• Lab 3 W 12-1:50 pm Troy 2012
• Lab 4 W 4-5:50 am Sage 2715
• Lab 5 W 12-1:50 pm Sage 3101
• Lab 6 2-3:50 pm Sage 5101 Wed 10-11:50 am Sec 1 Sage 4101

Wed 2pm - 3:50pm Sec 2 Sage 2715 Wed 12 - 1:50pm Sec 3 Troy 2012

Wed 4- 5:50pm Sec 4 Sage 2715

Wed 12 - 1:50am Sec 5 Sage 3101

Wed 2 - 3:50pm Sec 6 Sage 5101

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

### Integrity

Collaboration is not allowed. Homeworks and exams should be solved and written by individuals alone. If anyone is caught cheating then severe measures will be taken such as lowering the final grade, and the event will be reported to the appropriate authorities in the campus.

### Homework No Late Submissions (unless there is a medical Excuse)

• 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 . HW4
• Homework 5: Due in class on Thursday, Apr 16. HW 5
• Homework 6: Due in class on Thursday, Apr 30. HW 6
• Homework 7 Due in class on Monday, May 11. HW 7

### Exams (in class exams ) All Exams are Open Book Open Notes Exams

• 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 on May 21st from 11:30 am to 2:30 pm in West Hall Auditorium 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

### Required Text

• Algorithms, Dasgupta, Papadamitriou and Vazirani McGraw Hill, 2008
• Introduction to Algorithms, Cormen, Leiserson, Rivest and Stein Most Recent Edition McGraw Hill

Moorthy
Department of Computer Science
Rensselaer Polytechnic Institute
110 8th Street
Troy, NY 12180