CSCI-2300: Algorithms
Fall 2010        


Announcements.

Lectures  

Labs    
Homework

Exams

Your Grade

 


Course Information

Instructor:         Moorthy

Email:               moorthy@cs.rpi.edu
Office Hours:    Tuesday, Friday 2:00 -3:30pm

Office:              Lally 305

Teaching Asst:  Hoonlor, Apirak
Email:   hoonla@rpi.edu
Office Hours: Tuesday And Thursday 2-3:00 pm
Location:   AE 217      

Teaching Asst:  Li, You
Email:               liy13rpi.edu

Office Hours: Wednesday 11am-1pm
Location:          AE 217

Teaching Asst:  Ozcaglar, Cagri
Email:         ozcagc2@cs.rpi.edu

Office Hours:    Tuesday 1- 2:30pm
Location:          AE 207


Undergraduate Lab TAs:

  1. Eric M. Herdzik, Colin Sullivan --Section 1 (Amos Eaton 216) W 6-7:50 pm
  2. Dave Pizzuto --Section 2 (Amos Eaton 216) 2-3:50 pm
  3. Nick Martin, Varun Madiath --Section 4 (Sage 2715) Noon -1:50 pm
  4. John Schwartz, Jesse Natalie -- Section 5 (Sage 2715) 10-11:50 am
  5. --Section 6 (Eaton 216) Noon-1:50 pm
  6. Dave Hughes -- Section 7 (Sage 2715) 2-3:50 pm

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. Analyze the correctness and 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 Discrete Structures (MATH-2800).


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

            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

Chapters 8         Coping with NP-complete Problema

Chapter 7       Linear Programming

 


 

Lectures

            Class 1 (8/30:           Chapter 0                                            

Class 2 (9/2):           Chapter 0 and 1                                            

Class 3 (9/9):           Chapter 1                                                                                

Class 4 (9/13):           Chapter 1                                

Class 5 (9/16):           Chapter 2                                                                               

Class 6 (9/20):            Chapter 2 and 3                                                                     

Class 7 (9/23):            Chapter 3                                                                    

Class 8 (9/27):            Chapter 3 and 4                                            

Class 9 (9/30):          Chapter 4                                                                    

Class 10 (10/4):        Exam 1                                    

Class 11 (10/7):        Chapter 4                                                                    

Class 12 (10/12):         Chapter 5                                                        

Class 13 (10/14):       Chapter 5                                                        

Class 14 (10/18):       Chapter 6                                                        

Class 15 (10/21):       Chapter 6                                                        

Class 16 (10/25):       Chapter 6                                                        

Class 17 (10/28):       Chapter 6 and 8                                            

Class 18 (11/1):       Chapter 8                                                        

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

Class 20 (11/11):          Exam 2                                    

Class 21 (11/15):        Chapter 8                     .       

Class 22 (11/18):        Chapter 8                                                                    

Class 23 (11/22):        Chapter 9                                                        

Class 24 (11/29):        Chapter 9                                

Class 25 (12/2):        Chapter 7                                            

Class 26 (12/6):        Chapter 7                                                      

Class 27 (12/9):        Review                                                       


Labs

  • Wednesdays:

      6pm - 7:50pm     Sec 1      Eaton 216          

      2pm - 3:50pm       Sec 2      Eaton 216          

      Noon - 1:50pm       Sec 4      Sage 2715      

      10 am - 11:50am       Sec 5      Sage 2715      

      Noon - 1:50pm       Sec 6      Eaton 216       

      2:00 pm - 3:50pm       Sec 7      Sage 2715       


  1. Lab 1 (Sep 8)
  2. Lab 2 (Sep 15)
  3. Lab 3 (Sep 22)
  4. Lab 4 (Sep 29)
  5. Lab 5 (Oct 13)
  6. Lab 6 (Oct 20)
  7. Lab 7 (Oct 27)
  8. Lab 8 (Nov 3)
  9. Lab 9 (Nov 17)
  10. Lab 10 (Dec 1)

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 9.           
  • Homework 2:      Due in class on Thursday, Sep 16.            
  • Homework 3:      Due in class on Thursday, Sep 23.      
  • Homework 4:      Due in class on Thursday, Sep 30.          
  • Homework 5:      Due in class on Thursday, Oct 14.          
  • Homework 6:      Due in class on Thursday, Oct 21.          
  • Homework 7:      Due in class on Thursday, Oct 28          
  • Homework 8:      Due in class on Thursday, Nov 4.          
  • Homework 9:      Due in class on Monday, Nov 22.          
  • Homework 10:      Due in class on Monday, Dec 6 .          

 


Exams (in class exams )

  • Exam 1 on Monday Oct 4,            from 12 to 1:30pm in class          – Chapters 0 to 4
  • Exam 2 on Thursday Nov 11,              from 12 to 1:30pm in class          Chapters 5,6 and 8
  • Final Exam (To Be Scheduled)                                            – Everything.

Your Grade

  • 15% Labs, 20% 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 2nd Edition McGraw Hill, 2008

 

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