CSC 332  Data
Structures 
INSTRUCTOR
Curry Guinn
Email: mailto:guinnc@uncw.edu?subject=CSC
332
Office hours: MTWR 11:00am12:00pm and by
appointment
Phone: (910) 9627937
COURSE DESCRIPTION
This is the third of three courses (CSC 121, CSC 221, CSC 332) on the Java programming language. In this course you will learn some of the most widely used data structures, related algorithms, and applications. Computational complexity theory will be introduced to study the efficiency of the algorithms. This course will require you to spend a large amount of time outside of class writing computer programs. Some work will be done on the UNCW Computer Science Department Linuxbased instructional server named "babbage" (babbage.cis.uncw.edu or 152.20.196.251).
TEXTBOOKS
Mark Allen Weiss, Data
Structures and Algorithm Analysis in Java, Second
or Third Edition, AddisonWesley. 

Douglas R. Hofstadter, Gödel, Escher, Bach: An
Eternal Golden Braid, Any edition is fine, but here's
one: Basic Books, 1999, ISBN: 0465026567. 

GRADING
This course will require substantial problemsolving and programming outside of class. Homeworks will involve a combination of "pencilandpaper" problems as well as Java programming assignments.
90  100 A 
80  89 B 
70  79 C 
60  69 D 
Course Learning Outcomes
1 Students develop knowledge of basic data structures for storage and retrieval of ordered or unordered data. Data structures include: arrays, linked lists, binary trees, hash tables, and representations of graphs.
2 Students develop knowledge of applications of data structures including the ability to implement algorithms for the creation, insertion, deletion, searching, and sorting of each data structure.
3 Students learn to analyze and compare algorithms for efficiency using BigO notation.
4 Students implement projects in Java using the Linux environment.

CSC 332 : Course Learning Outcomes 


1. Students develop knowledge of basic data structures for storage and retrieval of ordered or unordered data. Data structures include: arrays, linked lists, binary trees, hash tables, and representations of graphs. 
2. Students develop knowledge of applications of data structures including the ability to implement algorithms for the creation, insertion, deletion, searching, and sorting of each data structure.

3. Students learn to analyze and compare algorithms for efficiency using BigO notation.

4. Students implement projects in Java using the Linux environment. 
Homework 

Homework 1: Introduction to unix, vi, and commandline compilation 



X 
Homework 2: Algorithm Analysis plus Timing Execution in Programs 


X 
X 
Homework 3: Algorithm Analysis plus Runtime analysis 


X 
X 
Homework 4: Array List and Linked List 
X 
X 
X 

Homework 5: Stacks 
X 
X 


Homework 6: Binary Trees 
X 
X 
X 

Homework 7: Binary Search Trees, AVL trees, Hash tables 
X 
X 
X 

Homework 8: Comparison of Sorting Algorithms 
X 
X 
X 

Homework 9: Topological Sort 
X 
X 


Homework 10: Research Paper on Sorting Algorithms 

X 
X 

Tests and Exams 

Midterm 1 
X 
X 
X 

Midterm 2 
X 
X 
X 

Final Exam 
X 
X 
X 

Honor Code
It is the responsibility of every student to follow the UNCW Academic Honor Code (see Section V of your Student Handbook). You violate the honor code when you represent someone else's work as your own. Individual programming assignments may be discussed at a conceptual (i.e. design and algorithms) level with other students but implementation details and coding must be your own. Team programming assignments must be completed without collaboration with other teams. Copying of programs is prohibited and will result in disciplinary action (see your Student Handbook). Copying includes digital copies, hand copies, as well as representing a slight modification of someone else's code as your own work.
Learning Strategies
You are expected to take an active role in your learning in this course. This includes regular attendance, paying attention in class, reading the textbook, and completing all course requirements. You are encouraged to study with your classmates outside of class. Programming assignments usually require a lot more time than expected, so start early and work some every day.
Students with Disabilities
If you have a disability and need reasonable accommodation in this course, you should inform the instructor of this fact in writing within the first week of class or as soon as possible. If you have not already done so, you must register with the Office of Disability Services in Westside Hall (extension 3746) and obtain a copy of your Accommodation Letter. You should then meet with your instructor to make mutually agreeable arrangements based on the recommendations of the Accommodation Letter.
Harassment Policy
UNCW practices a zerotolerance policy for violence and harassment of any kind. For emergencies contact UNCW CARE at 9622273, Campus Police at 9623184, or Wilmington Police at 911. For University or community resources visit http://uncw.edu/wrc/crisis.htm.