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.