C S 235

Download as PDF

Data Structures and Algorithms

Computer ScienceCollege of Computational, Mathematical, & Physical Sciences

Course Description

Fundamental data structures and algorithms of computer science; basic algorithm analysis; recursion; sorting and searching; lists, stacks, queues, trees, hashing; object-oriented data abstraction.

When Taught

Fall, Winter, Spring

Min

3

Fixed/Max

3

Fixed

3

Fixed

0

Title

Data Computing Fundamentals

Learning Outcome

Utilize fundamental data types including lists, stacks, queues, priority queues, sets, maps, and trees. This mastery of organizational structures is intellectually enlarging, as students learn to apply precise logical frameworks to represent complex information.

Title

Implementing Fundamental Data Types

Learning Outcome

Understand and implement major techniques for data storage, such as linked lists, binary search trees, hashing, and heaps. This deep dive into technical implementation is character building, requiring the meticulous attention to detail and personal integrity necessary to build reliable systems.

Title

Select Data Structures

Learning Outcome

Properly select and use data structures from language-provided libraries. Making these informed choices is a form of stewardship, helping students develop the wisdom to use available resources effectively in a life of service.

Title

Analysis

Learning Outcome

Classify the runtime complexity of algorithms using Big O notation. This ability to evaluate efficiency is intellectually enlarging, providing a rigorous mathematical lens through which to view the physical constraints of computation.

Title

Recursion

Learning Outcome

Understand and apply recursive logic to solve complex problems. Mastering this powerful mental model is spiritually strengthening, as students learn to find elegant, simple truths within layered and repetitive challenges.

Title

Usage of Algorithms

Learning Outcome

Make informed decisions regarding sorting and searching algorithms in specific contexts. This evaluative skill fosters a capacity for lifelong learning, equipping students with the critical thinking needed to adapt to new technologies and methodologies.

Title

Program Writing

Learning Outcome

Write substantial programs requiring approximately 500 lines of code. The endurance required to complete these projects is character building, fostering the resilience and work ethic needed to see significant commitments through to completion.