CSCI 230 Syllabus – Summer 2012

Instructor

Aspen Olmsted
Course website : http://blogs.cofc.edu/olmsteda
Tel: 843.953.6600
Email: Please use aspen.olmsted@cs.cofc.edu with Subject = CSCI230
Office: J. C. Long Building 226
Office hours: By Appointment

Class place and time

Classroom: J.C. Long Building 220
M W 5:30 8:30 PM

Catalog description

CSCI 230 CData Structures and Algorithms
This course reviews and develops the abstract data type as a mathematical model. Data structures and algorithms are developed as concrete realizations of the objects and operations of the abstract data type. Topics include a review of basic data structures, trees and graphs, and analysis of the efficiency of algorithms.
Prerequisite: CSCI 221 and MATH 207.

 

Course Outcomes

1. Understand the analysis of algorithms using Big-O notation.
2. Understand the Abstract Data Type as a model of data and operations.
3. Understand the definitions of stack, queue and list.
4. Develop insertion, retrieval and deletion algorithms for array and linked implementations of stack, queue and list.
5. Evaluate the algorithms for stack, queue and list for the array and linked implementations using Big-O.
6. Understand the definitions of binary tree, binary search tree and some balanced search tree.
7. Develop insertion, retrieval and deletion algorithms for binary search tree and some balanced search tree.
8. Evaluate the algorithms for unbalanced and balanced search trees using Big-O.
9. Understand the definition of hashing.
10. Develop insertion, retrieval and deletion algorithms for hashing.
11. Evaluate the hashing algorithms using Big-O.
12. Understand the definitions of heap and priority queue.
13. Develop insertion, retrieval and deletion algorithms for heap and priority queue.
14. Evaluate heap and priority queue algorithms using Big-O.
15. Develop selection, insertion, merge, quick and heap sorting algorithms.
16. Evaluate the sorting algorithms using Big-O.
17. Understand the definitions of graph, node, edge and other relevant graph terminology.
18. Develop traversal, shortest path and minimal spanning tree algorithms for graphs.
19. Evaluate the traversal, shortest path and minimal spanning tree algorithms using Big-O.

Professor Assumptions

I am assuming because you are in this class you want to learn about object-oriented
programming.  Therefore, it is my job to use the 40 hour long classes and 80 hours of outside
work to get you there.

Required text

Data Structures and Algorithms in Java 2nd Edition, Drozdek, ISBN 9-780534-492526, Prices Range from $15 (Used) to $130.98 New Hard Cover)

Grading scale

Grading scale

100-90 (A); 87-89 (A-); 86-84 (B+); 83-80 (B); 79-77 (C-); 76-74 (C+); 73-70 (C); 69-67 (C-); 66-60 (D); else (F)

Evaluation schedule

40% Final
40% Quizzes
20% Programming

Programming 

Each chapter 3-11 will have a programming assignment to implement algorithms we discussed in class.  Your submission should include a complexity analysis of your algorithm, time measurements for each algorithm and a comparison to the built in java.util version.

Quizzes

Each chapter of the book has a series of exercises.  You are encourages to work through the exercises by the class time on the following class after the material has been covered.  A small subset of the homework will be used as a basis for a 15 minute quiz at the beginning of each class.  We will have 8 quizzes and the lowest grade will be dropped automatically.  There will be no makeups for any reason.  So if you miss class during quiz time this will become your lowest grade.

Final

We will have one comprehensive final during finals week covering the material for the whole course.

Classroom disruption

Please read the College of Charlestons Student Code of Conduct. When you come to class
please turn off your cell phones and all other electronic communication devices.  I do encourage
discussion so if you have a question do not hold back from interrupting me if you are afraid I
have moved on.  If it is something I will talk about a little later I will note it on the board so we do not forget.

Disabilities

If you have a documented disability and are approved to receive accommodations through
SNAP Services, please contact me.

Student Honor Code

I expect you to abide by the Honor Code and the Student Handbook: A Guide to Civil and
Honorable Conduct. If you have a question about how to interpret the Honor Code, ask before
acting! I encourage collaboration, but you must document it. Thus, each student will submit
their own homework and, when collaborating, provide a reference to those people and
documents consulted.