The topics of arrays, linked lists, stacks, queues, trees, sets, and hash tables are introduced. Fundamentals of algorithm performance are also introduced, with an emphasis placed on time complexity analysis. Laboratory activities include implementation of data structures as well as the application of data structures from standard libraries. (prereq: SE-1021) (3-2-4)
On successful completion of this course, the student will:
- understand and apply complex data structures and algorithms.
- use appropriate algorithms (and associated data structures) to solve problems.
- have a thorough understanding of commonly used library data structures.
- be able to analyze the time complexity of algorithms.
- understand the use of recursion in problem solving.
- be able to use data structures in software design and implementation.
- be able to apply standard library data structures in software design.
- be able to select appropriate data structures for a given application.
General Course Policies
Please review the general course policies webpage.
Data Structures Abstraction and Design Using Java 2nd Ed., by Koffman and Wolfgang, Wiley, 2010. ISBN: 978-0-470-12870-1
Quizzes will be given nearly every week at the beginning of lab. The lowest quiz score will be dropped. No make-up quizzes will be given.
All Lab assignments are worth 100 points per week.
Homework assignments will not be graded however, you are expected to complete them by the given due dates. Homework may consist of watching screencasts, assigned reading, completing online surveys, writing code, etc.
|Grading||Office Hour||Office Hour|
|11:00||Office Hour||Dr. Durant||Senate|
* I would like to have lunch with you individually or as a group to get to know you better. If we eat in RWJ, housing will pick up my lunch bill. If you would prefer to eat elsewhere, we will each be responsible for our own bill. Feel free to suggest another time if the time above does not work for you.
Last modified: Monday, 20-Feb-2017 10:00:12 CST