Colorado CollegeWebsiteAcademic Catalog
Mathematics and Computer ScienceDepartment Website
Majors
Courses
source 1CP110: Explorations in Computer Science (1) intro
No offerings are currently scheduled.
CP115: Computational Thinking (1) intro
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.
CP116: Applied Python (1) intro
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.
CP122: Computer Science I (1) intro
Introduction to algorithms and data structures, and the design of computer programs using the programming language Java. This course requires some experience in programming.
CP222: Computer Science II (1) intro
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.
CP228: Computer Science Seminar (0.5) talks
Students will meet regularly during the semester in order to learn about topics in computer science. Students may take the course more than once, but at most two times for credit (in different years). Pass/Fail grade only.
CP241: Topics in Computer Science (1) special
Special topics in computer science not offered on a regular basis.
CP248: Introduction to Robotics (0.51) ai
Construction and programming of a small robot over the course of a semester. Introduction to algorithms and techniques for navigation, planning, and error correction.
CP255: Independent Study (0.51) special
CP274: Software Design (1) softeng
Fundamentals of design and implementation of 'real world' software. Topics include testing, databases, user interface design, collaborative development practices, and software specifications.
CP275: Computer Organization (1) sys
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.
CP307: Data Structures and Algorithms (1) algs
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).
CP341: Topics in Computer Science (1) special
Special topics in computer science not offered on a regular basis.
CP342: Distributed Systems (1) sys
Fundamentals of network design and interaction of computing systems. Topics include network protocols, security, synchronization, transactions, and network programming. Bredin. (Not offered 2024-25).
CP344: Database Systems (1) sys
Introduction to data base management systems including the design, implementation, and analysis of data bases. Topics include relational models, concurrent access, data mining, and SQL programming. (Not offered 2024-25).
CP355: Independent Study (0.51) special
CP360: Computer Graphics (1) graphics
Introduction 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).
CP365: Artificial Intelligence (1) ai
An introduction to the theories and methods of artificial intelligence. Topics include problem solving, game playing, knowledge representation, natural language understanding, and expert systems. (Not offered 2024-25).
CP398: Seminar in Computer Science (1) special
A semester-long study based on journal articles in computer science or on problems selected by the instructor. Topics will be chosen based on interest and accessibility, and there will be some writing and presentation of material. May be repeated for a total of 1 unit. (Not offered 2024-25).
CP405: Theory of Computation (1) theory
Examination of the logical basis of computation. Topics include automata theory, Turing machines, time complexity, and space complexity theory.
CP407: Analysis of Algorithms (1) algs
Investigation of the efficiency and design of algorithms including order estimates, complexity, and NP problems. (Not offered 2024-25).
CP498: Senior Research Thesis in Computer Science (1) capstone
Research on an on-going project with a Computer Science faculty member. Students will read discipline-specific literature and contribute to research design. Students will produce a written thesis along with any supporting software. Students will present their projects during Block 7. This course does not count towards major or minor requirements.
CP499: Team Software Project (1) softeng
Students work in teams to design, document, implement, and test a software project. Required for majors in computer science.
MA117: Elementary Probability and Statistics (1) math
An 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.
MA120: Applied Linear Algebra (1) math
The 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.
MA126: Calculus 1 (1) math
Introduction 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.
MA129: Calculus 2 (1) math
Development 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.
MA201: Foundations of Discrete Mathematics (1) math
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.
MA217: Introduction to Probability and Statistics (1) math
A 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.
MA251: Number Theory (1) math
A careful study of major topics in elementary number theory, including divisibility, factorization, prime numbers, perfect numbers, congruences, Diophantine equations and primitive roots.