ICS 240 Introduction to Data Structures
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 inheritance, polymorphism, algorithm complexity, generic programming, linked list, stack, queue, recursion, trees, hashing, searching, and sorting.
First day attendance is mandatory.
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.
Prerequisites
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.
4 Undergraduate credits
Effective August 17, 2014 to present
Learning outcomes
General
- Describe the object-oriented design of data structures.
- Program with statically and dynamically allocated data structures in Java, utilizing standard object oriented design principles like encapsulation, inheritance, polymorphism, and dynamic binding.
- Explain recursive sorting algorithms.
- Apply tree algorithms including pre-order, in-order, and post-order traversal; insertion, deletion, and search in binary search trees; and insertion and deletion in heaps.
- Describe the use of dictionay data types including hashing algorithns and collision avoidance.
- Implement programs that use each of the following data structures: arrays, linked lists, stacks, queues, trees.
- Analyze the time complexity of iterative and simple recursive algorithms.
Spring 2025
Section | Title | Instructor | books | eservices |
---|---|---|---|---|
01 | Introduction to Data Structures | Houeto, Sena | Books for ICS-240-01 Spring 2025 | Course details for ICS-240-01 Spring 2025 |
02 | Introduction to Data Structures | Stein, Michael | Books for ICS-240-02 Spring 2025 | Course details for ICS-240-02 Spring 2025 |
Summer 2025
Section | Title | Instructor | books | eservices |
---|---|---|---|---|
01 | Introduction to Data Structures | Armitage, Bradford C | Books for ICS-240-01 Summer 2025 | Course details for ICS-240-01 Summer 2025 |
Fall 2025
Section | Title | Instructor | books | eservices |
---|---|---|---|---|
01 | Introduction to Data Structures | Houeto, Sena | Books for ICS-240-01 Fall 2025 | Course details for ICS-240-01 Fall 2025 |
02 | Introduction to Data Structures | Houeto, Sena | Books for ICS-240-02 Fall 2025 | Course details for ICS-240-02 Fall 2025 |