ICS 240

Introduction to Data Structures

4 Undergraduate credits
Effective August 17, 2014 – Present

Graduation requirements this course fulfills

This course provides basic introduction to data structures and algorithms and emphasizes the relationship between algorithms and programming. Students will learn intermediate object-oriented design, programming, testing and debugging. Topics include algorithm complexity, generic programming, linked list, stack, queue, recursion, trees, searching, and sorting.

Special information

Note: This course uses the Java language. Students are responsible to both be aware of and abide by prerequisites for ICS courses for which they enroll, and will be administratively dropped from a course if they have not met prerequisites.

Learning outcomes


  • Understanding algorithms, object-oriented programming, and gain programming experience in Java.
  • Understanding algorithms' performance and analyzing algorithms' complexity.
  • Understanding Graphical User interfaces (GUIs) in Java.
  • Understanding how the data is defined inside the machine.
  • Understanding how to apply elementary data structures to solve practical problems including simple simulations.
  • Understanding how to apply sorting and searching algorithms.
  • Understanding recursive solutions and using recursion to solve problems such sorting and searching.
  • Understanding how to store and search data using the basics of more advanced data structures such as trees.