CSC1010: Graphical Software and Data Structures

This course covers the organization of data and the algorithms that act upon them. 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. In addition, graphical user interfaces and event-driven programming are introduced. Laboratory activities include implementation of data structures as well as development of GUI applications that apply data structures from standard libraries. (prereq: CSC-1000) (4-2-5)


On successful completion of this course, the student will:


  1. Introduction to Programming with Java: A Problem Solving Approach, 3rd Ed., by Dean and Dean, McGraw-Hill, 2021. You likely have this book from CSC1000, 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
  2. Data Structures Abstraction and Design Using Java 3rd Ed., by Koffman and Wolfgang, Wiley, 2016. ISBN: 978-1-119-23914-7

Self-Learning Modules

Most weeks you will have a self-learning module to complete. These modules will be available in Canvas and our design to take you between one and three hours to complete. You will watch videos and read portions of the textbook and then answer a series of questions to demonstrate your mastery of the material.

Tentative schedule