| |
Mar 04, 2026
|
|
|
|
|
CIS 228 - Algorithms and Data Structures Description This course introduces the basics of algorithms and data structures, including sorting, runtime complexity, lists, stacks, queues, hash tables, trees, and graphs. Students develop in-depth understanding of data structures, their representations, and role as the foundation in the development of computer algorithms. Credit Hours: 3 Contact Hours: 3 Prerequisites/Other Requirements: CIS 123 (C or Higher) and CIS 117 (C or Higher) English Prerequisite(s): None Math Prerequisite(s): None Course Corequisite(s): None Academic Program Prerequisite: None Consent to Enroll in Course: No Department Consent Required Dual Enrollment Allowed?: Yes Number of Times Course can be taken for credit: 1 Programs Where This Course is a Requirement: None General Education Requirement: None General Education Learner Outcomes (GELO): NA Course Learning Outcomes:
- Explain the relationship between data structures and algorithms.
- Illustrate abstract data types and describe their most common pre-defined operations.
- Classify algorithms based on efficiency, computational complexity, and worst-case runtime.
- Use Big-O Notation to perform algorithm analysis and derive worst-case runtime approximations.
- Compare and contrast various sorting algorithms, such as Selection Sort, Insertion Sort, Shell Sort, Quicksort, and Merge sort.
- Develop implementations of Abstract Data Types using Java, such as Lists, Stacks, Queues, and Hash Tables.
- Design Binary Search Trees in Java that contain algorithms for searching, inserting, removing, and inorder transversal.
- Create graphs using vertices and edges to represent paths between nodes that describe algorithm implementations, such as breadth-first search, or depth-first search.
- Create and/or organize data and information into meaningful patterns in order to interpret and draw inferences from it.
- Use creativity and alternative thinking to brainstorm new ideas and possible solutions to problems or issues.
Course Outline: I. Introduction to Data Structures and Algorithms
II. Abstract Data Types
III. Algorithm Analysis and Big-O Notation
IV. Searching Algorithms
V. Sorting Algorithms
VI. Lists
VII. Stacks
VIII. Queues
IX. Hash Tables
X. Trees
XI. Introduction to Graphs
XII. Advanced Topics in Graphs Approved for Online and Hybrid Delivery?: Yes Instructional Strategies: Lecture: 30-60%
Facilitated discussion: 0-20%
Group work: 0-10%
Applied work: 10-40% Mandatory Course Components: None Equivalent Courses: None Name of Industry Recognize Credentials: None
Course-Specific Placement Test: None Mandatory Department Assessment Measures: None Course Type: Elective- Offering designed to expand learning opportunities for degree seeking students. May or may not be required for students in a specific GRCC program. Course Format: Lecture - 1:1 Total Lecture Hours Per Week: 3 People Soft Course ID Number: 105057 Course CIP Code: 11.9999 Maximum Course Enrollment: 24 School: School of STEM Department: Computer Information Systems Discipline: CIS First Term Valid: Fall 2021 (8/1/2021) 1st Catalog Year: 2021-2022 Name of Course Author: Jonnathan Resendiz Faculty Credential Requirements: Master’s Degree (GRCC general requirement), 18 graduate credit hours in discipline being taught (HLC Requirement), Other (list below) Faculty Credential Requirement Details: The instructor must possess a Master's Degree in Computer Science; at least five years of programming experience that includes object-oriented programing; and the ability to clearly explain the topics covered in the course. Course Review & Revision Year: 2025-2026
Add to Catalog (opens a new window)
|
|