CS 302 Data Structures

Department of Computer Science & Engineering

UNR, Spring 2013

Course Information - Description - Objective - Prerequisites - Textbooks - Syllabus Organization - Grading - ABET Criteria - Schedule - Announcements

Course Information

Class hours Tuesday & Thursday, 2:30 - 3:45pm, OSN 203 Computer Networking: A Top-Down Approach Featuring the Internet
Instructor Dr. Mehmet Gunes
E-mail mgunes (at) cse (dot) unr (dot) edu
Phone (775) 784 - 4313
Web page http://www.cse.unr.edu/~mgunes
Office SEM 238 (Scrugham Engineering-Mines)
Office hours Tuesday & Thursday 11:00 am - 12:30 pm or by appointment
Assistant Prabath X.J. Palathingal
Office SEM 255A
Tuesday & Thursday 4:00 - 5:00 pm
ppalathingal (at) cse (dot) unr (dot) edu

Catalog Description

Data structures and algorithms fundamental to computer science; abstract data-type concepts; measures of program running time and time complexity; algorithm analysis and design techniques.

Objective

The purpose of this course is to introduce you to data structures, an issue central to the art of computer programming. At the end of the course you will be equipped with the tools of data organization to enable you to write simple, clear, and efficient programs. The course will be structured around a comprehensive set of computer assignments to enable you to get hands on experience. Our programming language of choice will be C++.

You may look at earlier courses from Fall 2012.


Prerequisites


Textbooks

Required Recommended Reference

Syllabus (Tentative)

This is a tentative list of topics, subject to modification and reorganization.

Organization


Grading (Tentative)

Both grading policy and scale are subject to change. Failure in either the assignments or the tests will result in failure in the course.

Grading Policy

Grading Scale (Tentative)

Important Note: You will have one week to appeal for your grades after the graded assignments/tests are returned. So, please keep this in mind if you think that there is a problem/issue with the grading of your work.



ABET Criteria

The course outcomes are skills and abilities students should have acquired by the end of the course. These outcomes are defined in terms of the ABET Accreditation Criterion 3 Program Outcomes which are relevant to this course.

Our graduates will have achieved:



Schedule (Tentative), Notes & Assignments

This is a tentative schedule including the exam dates. It is subject to readjustment depending on the time we actually spend in class covering the topics.

Permanent reading assignment: it is assumed that you are familiar with the contents of the slides of all past meetings.

Date Lectures Book Assignments & Notes
Tue, Jan 22 Lecture #1: Introduction   Quiz 0 (not-graded)  
Thu, Jan 24 Lecture #2: Software Engineering Principles Ch.1   Program 1  
Tue, Jan 29 Lecture #3: Data Design and Implementation Ch.2    
Thu, Jan 31 Lecture #4: Growth of Functions Ch.3*   Quiz 1  
Tue, Feb 5 Lecture #5: Unsorted Lists Ch.3 Program 1 due  
Thu, Feb 7 Lecture #6: Dynamic and Static Data Structures Ch.2,3   Program 2  
Tue, Feb 12 Lecture #7: Sorted Lists Ch.4,5    
Thu, Feb 14 Lecture #8: Stack and Queue Ch.5   Quiz 2  
Tue, Feb 19 Lecture #9: Recursion Ch.7*   Program 2 due  
Thu, Feb 21 Lecture #10: Binary Search Tree Ch.8, Ch12*   Program 3  
Tue, Feb 26 Lecture #11: Binary Search Tree Ch.8, Ch12*    
Thu, Feb 28 Lecture #12: Red-Black Tree Ch.13*   Quiz 3  
Tue, Mar 5 Lecture #13: Red-Black Tree Ch.13*   Program 3 due  
Thu, Mar 7 Lecture #14: Heap Ch.9   Program 4  
Tue, Mar 12 Lecture #15: Priority Queue and Sets Ch.9    
Thu, Mar 14 Midterm Exam    
Tue, Mar 19 Spring Break
Thu, Mar 21 Spring Break
Tue, Mar 26 Lecture #16: Interval Tree Ch.14.3*    
Thu, Mar 28 Lecture #17: Interval Tree Ch.14.3*   Program 4 due  
Tue, Apr 2 Lecture #18: MDS Tree (Range Tree) KD Tree KD Tree Animations - Program 5
Thu, Apr 4 Lecture #19: MDS Tree (KD Tree) KD Tree Quiz 4  
Tue, Apr 9 Lecture #20: MDS Tree (Nearest Neighbor) KD Tree  
Thu, Apr 11 Lecture #21: Depth-first search Ch.22*   Program 5 due  
Tue, Apr 16 Lecture #22: Breadth-first search and shortest paths Ch.24.1*   Program 6  
Thu, Apr 18 Lecture #23: Bellman-Ford and Dijkstra's algorithms Ch.24.3*   Quiz 5  
Tue, Apr 23 Lecture #24: Sorting (Selection, Insertion, and Bubble) Ch.10    
Thu, Apr 25 Lecture #25: Sorting (Merge and Quick) Ch.10   Program 6 due  
Tue, Apr 30 Lecture #26: Sorting (Heap and Counting) Ch.6,7*   Program 7 due on May 11  
Thu, May 2 Lecture #27: Sorting (Radix and Bucket) Ch.8*   Quiz 6  
Tue, May 7 Lecture #28: Hashing Ch.11*   Program 8 due on May 16 (optional)  
Wed, May 8 Prep day (no class)    
Thu, May 9 Final Exam @ 12:30pm (Exam covers post-midterm material. However, you are expected to remember important pre-midterm concepts.)

* "Introduction To Algorithms" textbook by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.

Acknowledgements: Slides are modified from the original slides of the textbook by Prof. Nell Dale.

Announcements

Announcements regarding the course will be posted on this web page and also sent by e-mail to your UNR e-mail account. Please daily check your UNR e-mail.



Course Information - Description - Objective - Prerequisites - Textbooks - Syllabus Organization - Grading - ABET Criteria - Schedule - Announcements


Last updated on Apr 30, 2013.