ohtml>
CS302: Data Structures
Department of Computer Science and Engineering
CS302: Data Structures (Fall 2008)
Meets: TR 1:00 - 2:15 pm (SEM 347)
Instructor:
Dr. George Bebis
- Email:
bebis@cse.unr.edu
- Phone:
(775) 784-6463
- Office : 235 SEM
- Office Hours: MW 1pm -2:30pm or by appointment
Teaching Assistant:Talha Oz
Text:
N. Dale C++ Plus Data Structures Jones and Bartlett Publishers, 4th edition, 2007.
Other Texts:
- A. Ford and T. Teorey, Practical Debugging in C++, Prentice Hall, 2002.
- W. Ford and W. Topp, Data Structures with C++, Prentice Hall, 1996.
- R. Kruse and A. Ryba Data Structures and Program Design in C++ , Prentice Hall, 1999.
.
- M. Main and W. Savitch Data Structures and Other Objects Using C++., Addison-Wesley, 1997
Prerequisites
C or above in CS202. If you do not meet the prerequisite requirements for this course, you should see me immediately.
Description/Objectives
The purpose of this course is to introduce you to the exciting world of 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++.
Course Outline (tentative)
- Software Engineering Principles
- C++ Review
- Comparison of Algorithms
- Stacks and Templates
- Queues
- Unsorted and Sorted Lists
- Linked Structures
- Lists Plus
- Recursion
- Inheritance
- Binary Search Tree
- Heaps and Priority Queues
- Graphs
- Sorting and Searching (if time permits)
Exams and Assignments
Grading will be based on two exams, 6-8 quizzes, 6-8 homework assignments, and
5-6 programming assignments. Specifically, quizzes will be announced at least
one class period in advance. Homework problems will be assigned and collected
for grading on a regular basis. Homework solutions will be made available
within a week of the due date for the assignment. There will be two exams: a
midterm and a final. The material covered in the exams will be drawn from the
lectures, the quizzes, and the homework. There will be several programming
assignments which will be done in groups of two. The goal of the assignments
is to provide you with hands-on experience with handling various kinds of data
structures. In the lectures, you will be introduced to data structures at an
abstract level and in the assignments you will write code to implement and use
these data structures. Specific details and due dates will be announced in
class.
Course Policies
Slides, assignments, and other useful information will be posted on the course
web page. Regular attendance is highly recommended. If you miss a class, you
are responsible for all material covered or assigned in class. You should
carefully read the section on Academic Dishonesty found in the UNR Student
Handbook (copies of this section are available on-line) Your continued enrollment in this course implies
that you have read it, and that you subscribe to the principles stated therein.
The programming assignments are to be completed in groups of two, however,
both members of a team are expected to fully understand the structure of the
code and the implemented algorithms. Discussion of the programming assignments
is allowed and encouraged. However, each team is expected to do its own work.
Assignments which are too similar will receive a zero. No late homework or
programming assignments will be accepted unless there is an extreme
emergency. If you are unable to hand in an assignment by the deadline,
you must discuss it with me before the deadline in order to avoid the late
penalty. No incomplete grades (INC) will be given in this course and a missed
quiz/exam may be made up only if it was missed due to an extreme emergency.
Disability Statement
Any student with a disability needing academic accomodations is requested
to speak with me or contact the Disability Resource Center (Thompson Building,
Suite 101), as soon as possible to arrange for appropriate accomodations.
Useful Information
- Research
- Data Structures
- C++ information
- Unix information
- Makefiles
- Debugging
Syllabus
Sample Exams
Helpful Material Related to Images
Source Code for Reading/Writing Images
Lectures
Homework Assignments
Programming Assignments