Colorado CollegeWebsiteAcademic Catalog
Mathematics and Computer ScienceDepartment Website
BA Degree in Computer Sciencesource 1source 2
CS Courses
- Computational ThinkingCP115 (1)introCP115: Computational Thinking
Introduction to the encoding of information as data and the automation of quantitative reasoning with computer programs. This course covers the basics of the Python programming language with examples drawn from many fields (e.g. chemistry, biology, linguistics, art, music). This is the first course for those interested in computer science.
- Applied PythonCP116 (1)introCP116: Applied Python
In-depth exploration of the Python programming language and its applications, with emphasis on object-oriented Python, data visualization, and data analysis. A brief review of Python will be provided for students entering with prior programming experience that does not include Python.
- Computer Science IICP222 (1)introCP222: Computer Science II
Study of the design and implementation of computer programs in Java at the intermediate level with a focus on object-oriented programming. Foundational concepts that lead towards formal discussion of software design (e.g. design patterns), analysis of algorithms (e.g. asymptotic complexity), and computer architecture (e.g. stack/heap memory) are introduced in this course. Students will use data structures and other tools to build robust, efficient, extensible programs that utilize Graphical User Interfaces (GUIs). The concepts behind multi-threaded programming are also introduced. Students will also deepen their understanding of how computers manipulate memory and execute programs.
- Computer OrganizationCP275 (1)sysCP275: Computer Organization
Exploration of the design and organization of computer processors, memory, and operating systems. Topics include processor architecture, digital circuits, memory management, scheduling, file systems, assembly language, and peripheral device control.
- Data Structures and AlgorithmsCP307 (1)algsCP307: Data Structures and Algorithms
Study of fundamental data structure and algorithm concepts, and analysis techniques thereof. Examination of hash function and tree based data structures. Analysis techniques including asymptotic analysis and proof of algorithm correctness and performance. Exploration of reduction and algorithmic categories (e.g., NP- completeness).
- 2 units from
Computer GraphicsCP360 (1)graphicsCP360: Computer GraphicsIntroduction to the algorithms and theory necessary for producing graphic images with the computer. Topics include perspective, projection, hidden line removal, curve design, fractal images, shading, and some animation. (Not offered 2024-25).
- Attend at least four Fearless Friday talks
- Poster or Oral Presentation on the CP499 team project
Math/Stat Courses
- pick 2
Elementary Probability and StatisticsMA117 (1)mathMA117: Elementary Probability and StatisticsAn introduction to the ideas of probability, including counting techniques, random variables and distributions. Elementary parametric statistical tests with examples drawn from the social sciences and life sciences.
Applied Linear AlgebraMA120 (1)mathMA120: Applied Linear AlgebraThe study of systems of linear equations and matrix algebra with an emphasis on applications. Topics include the use of matrices to represent linear systems, independence and bases, invertibility, and eigenvalues. The use of computer algebra systems is emphasized. Applications will be drawn from economics, statistics, computer science, biology, and other fields.
Calculus 1MA126 (1)mathMA126: Calculus 1Introduction to calculus for functions of one variable. Focus is on the definition, methods, and applications of derivatives. Integrals are briefly introduced. Students normally begin the calculus sequence with this course if they have solid precalculus preparation and have not previously studied calculus. Students who need a thorough review of precalculus should take MA125 instead; students who have previously studied calculus should consider MA129 instead.
Calculus 2MA129 (1)mathMA129: Calculus 2Development of the definite integral, techniques of integration, and applications of the definite integral. Modeling with differential equations. Taylor polynomials and non-Cartesian coordinate systems in two dimensions. Students who have successfully completed a first course in calculus that focused on derivatives should consider this as an appropriate next course.
Introduction to Probability and StatisticsMA217 (1)mathMA217: Introduction to Probability and StatisticsA calculus-based introduction to probability theory and statistical inference. Topics include probability, random variables, discrete and continuous distributions, sampling distributions, confidence intervals, hypothesis testing, and linear regression. This course also provides basic introduction to statistical programming language R.
- Foundations of Discrete MathematicsorMA201 (1)mathMA201: Foundations of Discrete Mathematics
An introduction to combinatorics, graph theory, and combinatorial geometry. The topics are fundamental for the study of many areas of mathematics as well as for the study of computer science, with applications to cryptography, linear programming, coding theory, and the theory of computing.