Fall 2009
CSCI 3333: Algorithms and Data Structures
11:45--12:35 MWF

ENGR 1.272
Department of Computer Science
University of Texas Pan American

class webpage: http://www.cs.panam.edu/~schwellerr/CS3333/CS3333.html

class syllabus

 

 

Synopsis:

This course is a continuation of data structures topics covered in CSCI 2380.  Content includes theoretical topics in algorithmic efficiency and complexity, along with abstract data types, including graphs, networks, trees, and priority queues.  Search topics, including hashing, trees, external search trees (B-trees), and sorting algorithms including external sorting are introduced and compared. Computational complexity topics include the Class P and NP, NP-completeness and Reducibility, NP-completeness Proofs, and NP-complete Problems.  Prerequisites:  CSCI 2380 and Math 3373.

 

Instructor:

 

Robert Schweller
Office: ENGR 3.294
Phone: (office) 381-2667  (cell) 773-456-1722
Email: schwellerr@gmail.com
URL: www.cs.panam.edu/~schwellerr/
Office Hours: MTWRF 10:00--11:00, or by appointment

  

Teaching Assistant:

 

Yunhui Fu

Email: fuyunhui@gmail.com

Office hours: ENGR 1.216, Thursday 2pm-5pm, Friday 9am-11am

Textbooks:

(Required) Data Structures and Algorithm Analysis in C++ (third edition), by Mark A. Weiss, Addison-Wesley

(Not required, but a good book to have) Introduction to Algorithms (second edition), by Cormen, Leiserson, Rivest, Stein, publisher- McGraw Hill.

Supplemental Material:

 

·       Class Notes

·       Solving Recurrences

·         The following website provides many useful tips and guides for getting and using Visual Studio, as well as basic C++ programming:

                    http://www.cs.panam.edu/lab-information/programming-help/

Weekly Reading and Homework Assignments:

·         Week 1 : (8/31 – 9/4) Chapters 1-3, ass1, proj1

·         Week 2 : (9/9 - 9/11) Chapters 1-3, 4 ass2,

·         Week 3:  (9/14 – 9/18) Chapter 4, ass3, proj2

·         Week 4:  (9/21 – 9/25) Chapter 5, ass4

·         Week 5:  (9/28 – 10/2) Exam 1(9/30) Chapter 6, -ass5 is not due Friday, please enjoy a break from homework!

·         Week 6:  (10/5 – 10/9) Chapter 6 ass6

·         Week 7:  (10/12 – 10/16) Chapter 7, proj3

·         Week 8:  (10/19 – 10/23) Chapter 7,10.2, Divide and Conquer Algorithms ass7, http://www.catonmat.net/blog/mit-introduction-to-algorithms-part-two/ - watch the video lecture for Divide and Conquer

·         Week 9:  (10/26 – 10/30) Chapter 10.1, 9, Greedy Algorithms, proj4, ass8

·         Week 10: (11/2 – 11/6) Chapter 9, Graph algorithms

·         Week 11: (11/9 – 11/13)Dynamic Programming, Exam 2(11/11) proj5, ass9 http://videolectures.net/mit6046jf05_leiserson_lec15/ - watch the video lecture for Dynamic Programming

·         Week 12: (11/16 – 11/20) Go through the dynamic programming examples found here: http://people.csail.mit.edu/bdean/6.046/dp/

·         Week 13: (11/23 – 11/25)

·         Week 14: (11/30 – 12/4) Amortized Analysis (this will be covered only upon popular request)

·         Week 15: (12/7 -12/9) NP-Completeness (this will be covered only upon popular request)

·         Week 16: (12/14 – 12/18) Final Exam