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)

Outcomes

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

Textbooks

  1. Data Structures Abstraction and Design Using Java 4th Ed., by Koffman and Wolfgang, Wiley, 2021. ISBN: 978-1-119-70361-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

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%