C S 111
Download as PDF
Introduction to Computer Science
Computer ScienceCollege of Computational, Mathematical, & Physical Sciences
Course Description
Teaches how to design, develop, reason about, and test programs. Topics include higher-order functions, object-oriented programming, recursion, algorithms, data structures, decomposition, interpreters, and regular expressions.
When Taught
All Semesters/Terms
Min
3
Fixed/Max
3
Fixed
3
Fixed
2
Other Prerequisites
CS 110 or equivalent prior programming experience
Recommended
Prior programming experience should include statements, variables, control flow (if/while), and functions
Title
Design
Learning Outcome
Design and develop moderate to medium-sized programs, using both object-oriented and functional paradigms. Students will approach the creative process of software design as a spiritually strengthening endeavor, learning to bring structure and purpose to complex systems.
Title
Confidence
Learning Outcome
Demonstrate increased confidence in the ability to design, develop, and test programs. This growing self-reliance is character building, as students recognize their potential to master difficult skills and contribute meaningfully to their communities.
Title
Algorithms
Learning Outcome
Effectively use basic algorithms including recursion, merge sort, and others. Students will engage in the intellectually enlarging study of algorithmic efficiency, recognizing the elegance and order inherent in well-designed computational logic.
Title
Data Structures and Abstraction
Learning Outcome
Use data structures, modules, classes, and functions to organize information and behavior within a program. This mastery over data and complexity prepares students for lifelong learning by providing them with the mental frameworks necessary to adapt to a constantly evolving technical landscape.
Title
Modules & Libraries
Learning Outcome
Independently read documentation for external python packages and extend program functionality. This autonomy encourages a habit of lifelong learning, teaching students how to seek out and apply new knowledge to solve real-world problems.
Title
Testing and Debugging
Learning Outcome
Write unit tests and use debuggers to identify the source of bugs. The iterative process of identifying and correcting errors is a character building exercise that fosters humility, persistence, and a commitment to integrity and truth.
Title
Computing and Service
Learning Outcome
Write programs that accomplish tasks relevant to computer science, such as data visualization or internet protocols. Students will view these technical applications as a means of service, using their intellectually enlarging skills to address the needs of a global society.