CSC1120: Data Structures and Graphical Interfaces

This course covers graphical user interfaces and event-driven programming as well as the organization of data and the algorithms that act upon them. Various sorting algorithms and data structures are covered. 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 development of GUI applications that apply data structures from standard libraries. (prereq: CSC1110 or CSC1110A) (3-2-4)


On successful completion of this course, the student will be able to:


  1. Data Structures Abstraction and Design Using Java 3rd Ed., by Koffman and Wolfgang, Wiley, 2016. ISBN: 978-1-119-23914-7
  2. 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:
    1. VitalSource Inclusive Access eBook with Online Access, ISBN: 978-1-26-095839-3
    2. If you'd like a hard copy, you can also add Loose Leaf Inclusive Access, ISBN: 978-1-26-426033-1


Most weeks you will have a module to complete for homework. These are design to reinforce the concepts and include prose, sample code, short videos, and exercises for you to complete. These are designed to take between half an hour and three hours to complete.


Labs 20%
Homework 10%
Daily Reflection 5%
Reading Quizzes 5%
Exam I 20%
Exam II 20%
Final Exam 20%
Total 100%