CSCI-2300: Algorithms
Fall 2014

Announcements.

  1. Lab 0 is posted Here.
  2. Home Work 1 is posted (Due September 4th) Here.
  3. Lab 0 Solution is posted Here.
  4. Lab 1 is posted Here.
Syllabus

Homework

Exams

Your Grade

 


Course Information

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

Labs: Sections 3 (Sage 2715) and 4 (Sage 2715)

Teaching Asst:Hongzhao Huang
Email:huangh9@rpi.edu
Office Hours: Friday 12:30-1:30 pm
Location: AE 217

Labs: Sections 1 (AE 216) and 2 (AE 216)

Undergraduate Lab TAs:

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

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 318
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.

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

 

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 (8/25): Chapter 0

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


Labs

Wed 6pm - 7:50pm Sec 1 Eaton 216 HongZhao(GTA)Xi (UTA), Michael(UTA)

Wed 2pm - 3:50pm Sec 2 Eaton 216 HongZhao(GTA) Abramson(UTA) Wyler(UTA)

Wed Noon - 1:50pm Sec 4 Sage 2715 Congrui(GTA) Radocy(UTA) Manzini(UTA)

Wed 10 am - 11:50am Sec 5 Sage 2715 Congrui(GTA) Radocy(UTA) Manzini(UTA)

Wed Noon - 1:50pm Sec 6 Eaton 216 William(GTA) Xi(UTA) Eric(UTA)

Wed 2:00 pm - 3:50pm Sec 7 Sage 2715 William(GTA) Abramson(UTA), Wyler(UTA)


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

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, Sep 4. HW1 Home Work 1
  • Homework 2: Due in class on Thursday, Sep 18.
  • Homework 3: Due in class on Thursday, Oct 2.
  • 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.

 


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

  • 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)

Your Grade

  • 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