Description: Description: Description: Description: UNCW Home

Description: Description: Description: Description: UNCW HomeDescription: Description: Description: Description: Breaking News! Click here for details.

 CSC 332 - Data Structures

Course Syllabus

CSC 332:    

Section 001: Lecture:        TR      12:30pm- 1:45pm                CI 1012  

Section 002: Lecture:        TR       2:00pm-  3:15pm                CI 1012

Schedule

INSTRUCTOR

Curry Guinn
E-mail: mailto:guinnc@uncw.edu?subject=CSC 332
Office hours:  MTWR 11:00am-12:00pm and by appointment
Phone: (910) 962-7937

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 Linux-based 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, Addison-Wesley.

Description: Description: Description: Description: Z:\courses\Fall12\332\CSC3321.jpgDescription: Description: Data Structures and Algorithm Analysis in Java (3rd Edition)

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

Description: Description: Description: Description: Z:\courses\Fall12\332\CSC3322.jpg

 

GRADING

This course will require substantial problem-solving and programming outside of class.   Homeworks will involve a combination of "pencil-and-paper" 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 Big-O notation.

4        Students implement projects in Java using the Linux environment.          

Mapping of SLOs to Course Artifacts

 

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 Big-O notation.

 

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

Homework

Homework 1: Introduction to unix, vi, and command-line 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 zero-tolerance policy for violence and harassment of any kind.  For emergencies contact UNCW CARE at 962-2273, Campus Police at 962-3184, or Wilmington Police at 911.  For University or community resources visit http://uncw.edu/wrc/crisis.htm.