CSCI 3230 Data Structures (Summer 2019) |
Instructor: Office: Office hours: Phone: Email: Lecture class: Folio: Important Dates: |
Dr. Weitian Tong Assistant Professor at Department of Computer Science CEC 2305 MTWRF 3:40 pm – 4:40 pm; or by appointment (912) 478-7251 (If I am unavailable, please do not leave a message. Send an email instead. Thanks.) wtong@georgiasouthern.edu (Please indicate your name, ID, and class information in your emails. ) MTWRF 2:00 pm – 3:40 pm; CEIT 2212 Course materials (such as syllabus, slides, and homework descriptions) are available in Folio.
|
This course introduces basic data structures and their application using the Java programming language. We introduce a mathematical framework for evaluating the efficiency of Java code, and develop implementations of basic data structures such as lists, stacks and queues. We study searching and sorting algorithms and introduce recursion as a strategy for improving the running time of these algorithms. This leads us to study more advanced data structures that are defined recursively, such as trees and heaps. We cover several advanced topics, such as hash tables and the storage and exploration of graphs. Prerequisite(s): A minimum grade of ``C" in CSCI 1302, MATH 2130. |
Proficiency in data structures (including containers, trees, heaps, priority queues, hash tables and graphs) and algorithms for manipulating data (including sorts and tree traversals).
Develop the ability to implement those data structures and analytic understanding of the time and space trade offs of different data structures and different implementations.
Write larger programs that require interacting with a data structure.
At the end of the course, a successful student should be able to:
|
|
Your final grade will be derived from your performance in three areas:
Homework: 20%; Coding Assignments: 30%; Project: 20%; Mid-term: 15%; Final: 15%.
You are encouraged to track your scores on Folio to ensure that
you have received the appropriate credit for each of your assignments and exams.
No extra credit or ``make-up” assignments will be given
(with exception to the cases stated in the course policy). The final grade is based on the following standards:
A: 90% or above; B: 80-89.99%; C: 70-79.99%; D: 60-69.99%; F: 59.99% below.
|
Please note that the schedule is tentative, which might change during the semester. In particular, please double check the time for our final exam on our University website around the last day of classes. |
Date | Topics | Useful Recourses |
---|---|---|
Module 1 |
|
|
Module 2 | ||
A1 Due | ||
Module 3 | Linear Data Structures |
|
Module 4 | Trees | |
Module 5 | Priority Queues and Heaps |
|
A2 Due | ||
Midterm | ||
Module 6 | Hash Tables |
|
Module 7 | Search Trees |
|
A3 Due | ||
Module 8 | Comparison sorts |
|
Module 9 | Linear sorts |
|
Module 10 |
|
|
A4 Due | ||
Project Due | ||
Project Presentations | ||
Final exam |