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.