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

Announcements.

  1. First test stats: Average 70.21; Median 71.69; Standard Deviation 15.99; D >= 55; C >=70; B >=80; A >=90;
  2. Lab 6 is on line
  3. Home work 4 is on line
  4. Lab 5 is on line
  5. Homework 2 solution and Home work 1 solution
  6. Lab 1 solution and Lab 2 solution and Lab 3 Solution and Lab 4 Solution
  7. Home work 3 is on line
  8. 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 .
  9. Lab 4 is on line
  10. ALAC has drop-in tutoring hours for CSCI2300 (Monday to Thursday 8PM-10PM @ Sage 5101). Please use this if you need help.
  11. Lab 3 is on line
  12. Home work 2 is on line
  13. coin-toss exercise
  14. Lab 2 is online
  15. Lab 1 is online
  16. Lab 0 Solution is posted in LMS.
  17. Home work 1 is on line
  18. Example worked in class about sum of three distinct numbers in a set equals 0
  19. 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: 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)

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

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