CSSE 250 – Data Structures

Spring 2009

Location: Engr 312

Time: Tue-Thur-Fri 8:15-9:40 am

 

Instructor:

Dr. R. Roshandel

Office:

Engr 507,    Phone: (206) 296-5512

Office Hours:

1:00-2:00 pm M,T,W,TH

 

10:00-11:30 am F

 

Also by appointment

 

Note: These office hours are dedicated times to help you with course material. I am always available to answer your questions in person or via email. Moreover, I have an open door policy and you may stop by anytime.

 

References

·         C++ reference sites: cppreference.com  and cplusplus.com

·         The textbook website (maintained by the author) is here.  You can find a link to the source code for examples in the text here.

 

Announcements:

·         5/28/2009 – Assignment 6 posted.

·         5/13/2009 – Assignment 5 posted.

·         5/5/2009 – Sorting Algorithm Animation website

·         4/30/2009 – Assignment 4 posted.

·         4/14/2009 – Check the submission instructions for programming assignments

·         4/8/2009 – Check out the links in the reference section to the book website.

·         3/31/2009 – Welcome to CSSE 250!

 

Tentative Schedule (This is subject to change)

 

Date

Topics

Assignments

Week 1

T 03/31

Introduction and Review

Assignment 1

TH 04/2

Review (Ch. 4-8)

F 04/3

Review (Ch. 4-8)

Week 2

T 04/7

Class Template (Ch 9)

Assignment 1 due

Assignment 2

TH 04/9

Class Template (Ch 9)

Algorithm Complexity (Ch 10.4)

F 04/10

No Class

Week 3

T 04/14

Algorithm Complexity (Ch 10.4)

TH 04/16

Algorithm Complexity (Ch 10.4)

Assignment 2 due

Assignment 3

F 04/17

Binary search trees (BST) (Ch 12)

Week 4

T 04/21

Binary search trees (BST) (Ch 12)

TH 04/23

Binary search trees (BST) (Ch 12)

Exam Review

Assignment 3 due

F 04/24

Exam 1

Week 5

T 04/28

(Hashing Ch 12)

TH 04/30

(Hashing Ch 12)

Sorting Algorithms (Ch 13)

Assignment 4

F 05/1

Sorting Algorithms (Ch 13)

Week 6

T 05/5

Sorting Algorithms (Ch 13)

TH 05/7

Sorting Algorithms (Ch 13)

F 05/8

Heaps, Heapsort (Ch 13)

Week 7

T 05/12

Quicksort (Ch 13)

Assignment 4 due

TH 05/14

Quicksort

Merging

Assignment 5

F 05/15

Mergesort (Ch 13)

Week 8

T 05/19

Exam Review

TH 05/21

Exam 2

F 05/22

No Class!

Week 9

T 05/26

Tree balancing (Ch 15)

AVL Trees

Assignment 5 due

TH 05/28

2-3-4 Trees

Red Black Trees

Assignment 6

F 05/29

Red Black Trees

B Trees

Huffman Coding

Week 10

T 06/2

Advance Topics

TH 06/4

Advance Topics

F 06/5

Exam Review

Assignment 6 due

 

W 06/10

Final Exam

8:00-9:50AM

 

Catalog description:

Abstract data types. Big-Oh notation. Heaps, Sorting (Quicksort, Mergesort, Heapsort), Binary search trees, tree balancing techniques, and hashing. Additional topics may include B trees.

Course objective:

Achievement of catalog description as well as the design, development and construction of large programs that involve the use of several different data structures and require the use of external libraries.

Pre-requisite knowledge:

·         A grade of C or better in CSSE 152

·         Programming skill in a high-level language (C++), familiarity with simple data structures (stacks, queues, lists and trees), recursion, simple sorting and searching algorithms

Textbook:

ADTs, Data Structures, and Problem Solving with C++ (second edition), Larry Nyhoff, Pearson Prentice Hall. ISBN: ISBN: 0-13-140909-3

Topics covered:

·         Brief review of Stacks, Lists and Queues with class implementation (chapter 4, 6, 7, and 8)

·         Templates, standard container, and iterators (chapter 9)

·         Big-O notation (chapter 10)

·         Binary search trees (insertion, deletion, modification, degenerative form, chapter 12)

·         Hashing (key, resolution, tables, functions, chapter 12)

·         Sorting (Insertion, Selection, Exchange, Quicksort, Mergesort, Heapsort, chapter 13)

·         Heaps and priority queues (chapter 13.2)

·         Balanced trees : AVL trees (chapter 15.2)

Class Website

The class website can be found at: http://fac-staff.seattleu.edu/roshanak/web/teaching/s09/csse250/index.html.

 Attendance Policy:

Class attendance is strongly encouraged. Students missing a class are responsible for any material assigned or covered in class during their absence.  Students are encouraged to actively participate in class discussions.

Grading Scale and Policy:

·         Homework Assignments (25%)

·         Midterm Exams (25%)

·         Final Exam (40%)

·         Attendance and Quizzes (10%)

Note:  All exams will be closed book and closed notes. Use of calculators, PDAs, cell phones, laptops, and other electronic devices is not permitted during the exam. Failure to appear for Exams 1 and 2 will result in a zero for that exam. Failure to appear at the final will result in a failing grade for the entire course. The final exam is cumulative and you need to receive a grade C or better in the final exam, in order to pass the course. Makeup exams will only be given in extraordinary circumstances and may be given in oral form at the discretion of the instructor. The grading scale varies based for different exams and assignments but it will conform to the following:

·         90% or more:             A- or better

·         80% or more:             B- or better

·         72% or more:             C or better

·         60% or more:             D or better

·         Below 60%:                 F

Homework:

·         Assignments/homework must be turned in by the beginning (8:15 AM) of the class on the due date.

·         No late submission is accepted.

·         Hardcopies are required in all submissions. Electronic copies are not accepted!

·         The programming assignments will be graded on documentations and functionality.

·         No online solutions are posted. Questions and some solutions of the assignments are discussed in class.

Courtesy:                      

·         Students are responsible for all materials covered in class.

·         Turn off all cellphones, pagers, etc.

·         If you use a laptop to take notes, make sure all other applications (email, IM, Facebook, etc.) are off during the class.

·         Strive for punctuality but if extenuating circumstances cause you to be late, please take a seat at the front of the classroom.

Academic Honesty Policy:

All work submitted for grading must be the student's own work. Plagiarism will result in a score of zero on the test or assignment, or dismissal from the course. Also, the Dean of Students office will be informed.

Plagiarism is the unacknowledged use of the work or intellectual property of other persons, published or unpublished, presented as one’s own work. All students are expected to work on all individual assignments independently. Collaboration on individual assignments is considered cheating and will be penalized accordingly. Other examples of behavior that is not tolerated in this class include copying all or part of someone else’s work and submitting it as your own, sharing your assignment solution with other students in the class, consulting with another student during an exam, and copying text from published literature without proper attribution. If you have questions about what is allowed, please discuss it with the instructor. All students are responsible for reading and following the Seattle University Academic Honesty Policy. Students who violate University standards of academic honesty are subject to disciplinary sanctions, including failure in the course and suspension from the University. (http://www.seattleu.edu/registrar/page.aspx?ID=87)

This is a personal WEB site developed and maintained by an individual and not by Seattle University. The content and link(s) provided on this site do not represent or reflect the view(s) of Seattle University. The individual who authored this site is solely responsible for the site's content. This site and its author are subject to applicable University policies including the Computer Acceptable Use Policy (www.seattleu.edu/policies).