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

Announcements.

    Lab 0 is on line You dont have to go the lab.
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

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
Office Hours: Wedensady 1-2:00 pm
Location:

Labs: Section 2 (every week) Section 4

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

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)

Graduate and Undergraduate Lab TAs:

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

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 (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

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


    1. 1/28 - No Lab - You dont have to go to Lab on January 28th Lab 0 (optional)
    2. Lab 1 (Feb 4)
    3. Lab 2 (Feb 11)
    4. Lab 3 (Feb 18)
    5. Lab 4 (Feb 25)
    6. Lab 5 (Mar 11)
    7. Lab 6 (Mar 18)
    8. Lab 7 (Apr 1)
    9. Lab 8 (Apr 8)
    10. Lab 9 (Apr 22)
    11. Lab 10 (Apr 29)
    12. Lab 11 (May 6) (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, Feb 12.
    • Homework 2: Due in class on Thursday, Feb 26.
    • Homework 3: Due in class on Thursday, Mar 12.
    • 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.

     


    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 during the Final Exams week 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