CSCI 3333 Data Structures
Summer 2008
Course Information and Policies
by Bun Yue
This is an important core course of computing. It is a prerequisite for many other CSCI and CINF courses. A solid foundation in data structure is essential for successful careers in CS and IT.
1. General Information
CSCI 3333.1 (25997) MW 3:00-5:30pm Delta 242.
Instructor
Dr. Bun Yue, Professor of Computer Science, Chair, Division of Computing and Mathematics
Delta 163, 281-283-3864, yue@uhcl.edu
URL: http://dcm.uhcl.edu/yue/
Office hour: MW 2:00 to 3:00 pm and 5:30-6:00pm, by appointment, or whenever you find me.
Teaching Assistant
Ashutosh Raval.
Office Hours:
Monday: 11:00 AM - 03:00 PM, 08:30 PM - 10:00 PM
Tuesday: 11:00 AM - 03:00 PM
Wednesday: 12:00 PM - 03:00 PM, 08:30 PM - 10:00 PM
ravala4172@uhcl.edu
raval_cool9@yahoo.com
Location: PC Lab, NT Lab, D238 (TA room: , 281-283-3845) or D156
Research Assistant
Account and software problems may be addressed to the systems administrator, Ms. Krishani Abeysekera, or her assistants.
Textbooks
M. T. Goodrich and R. Tamassia, Data Structures and Algorithms in Java. Hoboken, NJ: John Wiley & Sons, Inc., 2006. ISBN 0-471-73884-0;Web page: http://java.datastructures.net/.
Optional reference books:
- Larry Nyhoff, ADTs, Data Structures, and Problem Solving with C++, Upper Saddle River, New Jersey: Prentice-Hall, 2005,
ISBN: 0-13-140909-3.
Course Description
Advanced programming techniques and data structures including tables, linked lists, queues and stacks. Abstract Data Types, Recursion, Searching and Sorting. Binary Trees. Elementary algorithm design and implementation. Laboratory instruction.
Course Goals
Upon course completion, students are expected to:
- Understand basic software engineering concepts such as design, implement and test a solution when given a set of requirements.
- Recognize when and how to use the following data structures: arrays, linked lists, stacks, queues and binary trees.
- Perform sequential searching, binary searching and hashing algorithms.
- Apply various sorting algorithms including bubble, insertion, selection and quicksort.
- Understand recursion and be able to give examples of its use.
- Understand the complexity of algorithms (Big Oh notation).
- Understand implications of unethical conduct.
Prerequisites
The following courses will be required:
Course Format
Traditional lectures, some classroom demonstrations and homework and programming
assignments.
2. Course Policies and Guidelines
2.1 General Policies
- No class auditing without instructor's approval.
- Assignments are due at the beginning of classes. No exception. Assignments
turned in after the beginning of classes will be considered as late.
- Late assignments are accepted with a penalty of 10%
deduction per week day after the due date. No late assignment will
be accepted one week after the due date. The last assignment cannot be
late.
- Make sure that you follow the submission guidelines for programming assignments.
Failure to do so will result in assignments not graded.
- No make-up exam except in verified emergencies with
immediate notification.
- No incomplete grade or administrative withdrawal under nearly all situations.
- Penalty on cheating will be extremely severe.
Standard academic honesty procedure will be strictly
followed. Use your best judgment. If you are not sure about certain
activities, consult the instructor.
- No formal attendance policy.
- This is a Web-assisted course with no paper class notes.
- I usually do not respond to anonymous email.
- Be a good netizen for the discussion board. Do not use anonymous names.
I have tried to avoid using membership login.
- Mobile phones and pagers should be turned off during classes.
Tips:
- Check the course Web page regularly. Check the course Website frequently
and read the class lectures beforehand.
- If you need help in debugging, you may come to my office with the most
recent listings of your program, output and error messages. Your program
must be stored in your dcm account which I will have access to. Do not bring
a floppy disk as I will have to scan it for virus.
- i check email frequently during the week days. Be sure to write a good
subject heading for your email so my email filter won't consider it junk
and I can relate to it quickly.
- Read and contribute to the discussion board regularly. Class announcement
is made there.
- If you have problems with your accounts, you may want to contact my research
assistants directly by sending them an email and copying it to me. However,
do not ask the RA questions about your homework. Instead, ask the TA and
myself.
- Software development is time consuming. Start early and plan well ahead.
- If you expect any potential problems, consult me as soon as possible so
I may help you.
- Assignments will be thrown away one month after the final examination week.
Be sure to claim them on time.
3. Grading Policies
Grades will be assigned based solely on homework and examination scores. No
other factors will be considered. In particular, students have requested
me to reconsider their grades using the following reasons in the past:
course
participation; improvement during the semester; extra efforts; avoidance of
probation; financial needs; scholarship needs; need to graduate; company
relocation; immigration
status
needs;
family
needs; etc. These requests had all been declined politely but firmly.
There will also be no 'special project' that you can work on to improve your
grades after the final examinations. Anything I offer to one student will
be offered to the entire class.
Total score is computed using the following percentages:
Homework: 40%
Mid-Term Exam: 30%
Final Exam: 30%
Grades are assigned by the following score table:
[91..100] |
A |
[89..91) |
A- |
[87..89) |
B+ |
[83..87) |
B |
[80..83) |
B- |
[77..80) |
C+ |
[73..77) |
C |
[70..73) |
C- |
[67..70) |
D+ |
[63..67) |
D |
[60..63) |
D- |
[0..60) |
F |