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
- Understanding algorithms, object-oriented programming, and gain programming experience in Java.
- Identify appropriate use of and implement statically allocated data structures.
- Identify appropriate use of and implement dynamically allocated data structures.
- Analyze recursive and iterative algorithms for space-time complexity
- Write programs that use each of the following data structures: arrays, linked lists, stacks, and queues .
- Implement applications utilizing standard object oriented design principles like encapsulation, inheritance, polymorphism, and dynamic binding.
- Implement recursive and iterative algorithms over appropriate data structures (e.g., tree traversal, pre-order, and post-order)
- Understand resursive solutions and use recursion to solve problems such as sorting.
- Develop and implement a dictionary data type incorporating hashing algorithms and collision avoidance.
Summer 2024
Section | Title | Instructor | books | eservices |
---|---|---|---|---|
01 | Introduction to Data Structures | Cassidy, Benjamin | Books for ICS-240-01 Summer 2024 | Course details for ICS-240-01 Summer 2024 |
02 | Introduction to Data Structures | Armitage, Bradford C | Books for ICS-240-02 Summer 2024 | Course details for ICS-240-02 Summer 2024 |
Fall 2024
Section | Title | Instructor | books | eservices |
---|---|---|---|---|
01 | Introduction to Data Structures | Stein, Michael | Books for ICS-240-01 Fall 2024 | Course details for ICS-240-01 Fall 2024 |
02 | Introduction to Data Structures | Houeto, Sena | Books for ICS-240-02 Fall 2024 | Course details for ICS-240-02 Fall 2024 |
03 | Introduction to Data Structures | Houeto, Sena | Books for ICS-240-03 Fall 2024 | Course details for ICS-240-03 Fall 2024 |
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 |