Skip to main content area Skip to institutional navigation Skip to sub-navigation

Computer Science                                     

www.coloradocollege.edu/academics/dept/mathematics/

Professor JANKE; Assistant Professor WHITEHEAD

The department of mathematics and computer science offers a major in computer science; computer science courses are designated by CP. For details about the mathematics major and a list of mathematics (MA) courses, see the listing under mathematics elsewhere in the catalog.

In addition to the general college requirements, a major in computer science must complete:

  • 122, MA126 and MA129;
  • 222 and either MA201 or MA251 (a student should complete these before declaring the major);
  • 215 and 275;
  • One unit from 342 and 344;
  • One unit from 360, 365, and 341;
  • 405 and 407.
  • 499.

A student majoring in computer science must also attend at least four departmental seminars or department-approved talks after declaring the major, and submit a one-page summary of each to the department chair within two weeks of the seminar. This should be completed by the end of Block 7 of the student’s senior year.

To be considered for graduation with Distinction in Computer Science, a student must complete two additional units selected from the computer science courses 248, 342, 344, 360, 365, 341, 398, and the mathematics courses MA201, MA217, MA220, MA227, MA251, MA313, MA315, MA318, MA325. In addition, such students must present a talk on their senior project and be approved by a vote of the department faculty. Further information is available from the department.

THE MINOR — REQUIREMENTS:

To a minor in computer science, a student must complete each of the following:

  • 22, 215, and 275;
  • Two additional units of computer science at the 300 or 400 level;
  • Obtain approval of the choice of courses from a member of the mathematics and computer science department.

Computer Science Courses

CP122 Computer Science I

Introduction to the design of algorithms, the design of data structures, and the design of computer programs using the computer language JAVA. This is the first course for those interested in computer science. 1 unit - Janke, Bredin, McDougall. Meets the Critical Perspectives: Quantitative Reasoning requirement.

Also listed as Film and New Media Studies 116.

1 unit —

CP215 Application Design

An introduction to the design patterns and methods necessary to solve computational problems in the natural and social sciences. Specific tools will be drawn from various languages (e.g. Python, Perl, shell scripting, mySQL queries, etc.) and various applications (e.g. Mathematica, MATLAB, etc.) Example projects: Building databases of selected web information, finding patterns in survey or genome data, recognizing characters or faces, processing sound files. (Some programming experience is helpful.) Meets the Critical Perspectives: Quantitative Reasoning requirement.

Prerequisite: Computer Science 122 or Mathematics 126 or consent of instructor.

1 unit —

CP222 Computer Science II

Examination of algorithms for searching, sorting, and manipulation of data structures. Exploration of queues, stacks, trees, and graphs using a variety of design techniques including recursion and object-oriented programming. Meets the Critical Perspectives: Quantitative Reasoning requirement.

Prerequisite: Computer Science 122.

Also listed as Film and New Media Studies 219.

1 unit —

CP241 Topics in Computer Science:

Special topics in computer science not offered on a regular basis (Not offered 2013-14).

1 unit

CP248 Introduction to Robotics

Construction and programming of a small robot over the course of a semester. Introduction to algorithms and techniques for navigation, planning, and error correction.

Prerequisite: Computer Science 122.

.5 unit —

CP255 Independent Study:

Prerequisite: consent of instructor.

1 unit —

CP275 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.

Prerequisite: Computer Science 215 or Computer Science 222.

1 unit —

CP341 Topics in Computer Science

Special topics in computer science not offered on a regular basis.

Prerequisite: Computer Science 215, Computer Science 222, Computer Science 275.

Also listed as Philosophy 203.

1 unit —

CP342 Distributed Systems

Fundamentals of network design and interaction of computing systems. Topics include network protocols, security, synchronization, transactions, and network programming. Bredin. (Not offered 2013-14).

Prerequisite: Mathematics 251 and Computer Science 275.

1 unit

CP344 Database Systems

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.

Prerequisite: Mathematics 251 and Computer Science 275.

1 unit —

CP355 Independent Study:

Prerequisite: consent of instructor.

1 unit —

CP360 Computer 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 2013-14).

Prerequisite: Computer Science 342 or Computer Science 344.

1 unit

CP365 Artificial Intelligence

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 2013-14).

Prerequisite: Computer Science 342 or Computer Science 344.

1 unit

CP398 Seminar in Computer Science

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 2013-14).

Prerequisite: Computer Science 275 & consent of instructor.

.5 unit

CP405 Theory of Computation

Examination of the logical basis of computation. Topics include automata theory, Turing machines, time complexity, and space complexity theory. (Not offered 2013-14).

Prerequisite: Computer Science 342 or 344 or (Computer Science 222 & Mathematics 321).

1 unit

CP407 Analysis of Algorithms

Investigation of the efficiency and design of algorithms including order estimates, complexity, and NP problems.

Prerequisite: Computer Science 342 or Computer Science 344 or (Computer Science 222 & Mathematics 313).

1 unit —

CP499 Senior Project

Software project in computer science approved by the student’s advisor. Students design, document, implement, and test a long-term software project. Required for majors in computer science.

1 unit —