CSC1120: Data Structures and Graphical Interfaces
Outcomes
On successful completion of this course, the student will be able to:
- 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.
- Interpret and implement multiple sorting algorithms.
- 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.
- Write unit tests to verify software behavior.
- Use Git to mangage versioning of source code.
- Understand the event-driven programming model.
- Be able to design and implement applications with graphical user interfaces.
Textbooks
- Data Structures Abstraction and Design Using Java 4th Ed., by Koffman and Wolfgang, Wiley, 2021. ISBN: 978-1-119-70361-7
- Optional: Introduction to Programming with Java: A Problem Solving Approach, 3rd Ed., by Dean and Dean, McGraw-Hill, 2021. You likely have this book from CSC1110, but, if not, there are two purchasing options:
- VitalSource Inclusive Access eBook with Online Access, ISBN: 978-1-26-095839-3
- If you'd like a hard copy, you can also add Loose Leaf Inclusive Access, ISBN: 978-1-26-426033-1
Homework
There will be weekly homework assignments given to further your understanding of the topics and give you practice with additional coding. The topics will correspond to the work being done in class and lab. They will be due Friday at 11:00PM.
Quizzes
Quizzes will be very short, based on the assigned reading material, and posted in Canvas. They are to be done outside of class, are not timed, and are open book. Due Sunday at 11:00PM.
Labs
There will be weekly labs assigned every Monday. During each lab meeting there will be some form of submission or demonstration related to the lab assignment. Each lab will also have a paper quiz given at the start of lab. They will be due on the following Tuesday at 11:00PM.
Exams
There will be two midterm exams during weeks 5 and 10, and a cumulative final exam during week 16.
Grading
Labs | 20% |
Quizzes | 10% |
Homework | 10% |
Exercises | 5% |
Exam I | 15% |
Exam II | 15% |
Final Exam | 25% |
Total | 100% |