close
Home People Research Programs Admissions

A Major Redesign


The Computer Science Department is pleased to announce that it is implementing changes that will result in more a flexible major, modified major, and minors offered by the department. As part of these changes, the department will replace the current prerequisites with two newly designed introductory courses, starting next fall. The undergraduate courses will also be renumbered for a simpler design for the major.  This page provides preliminary information on the changes to the major, as well as the new prerequisite courses.

Undergraduate Courses

Computer Science undergraduate courses will be renumbered as follows:

  • 1–19: Introductory and non-major courses
  • 20–29: Digital arts
  • 30–49: Theory and algorithms
  • 50–69: Systems and hardware
  • 70–89: Applied computer science
  • 90–99: Reading and culminating experience

Major

The new Computer Science major has the following requirements:

  1. Prerequisites:  Computer Science 1 and Computer Science 10.
  2. Passing at least 10 additional courses as described below.

Among the additional courses must be:

  1. Two Computer Science courses numbered 30 to 49 (Theory and algorithms)
  2. Two Computer Science courses numbered 50 to 69 (Systems and hardware )
  3. Two Computer Science courses numbered 70 to 89 (Applied computer science)
  4. Three elective courses
  5. Computer Science culminating experience: either two terms of Computer Science 98, or one or two terms of Computer Science 99 (Honors Thesis Research).

An elective course is any Computer Science course numbered from 30 to 89 that is not used to fulfill another requirement.  Other elective courses are possible as described in the ORC.

Computer Science 1:  Introduction to Programming and Computation

The first prerequisite course for the Computer Science major is the newly designed Computer Science 1, which replaces the former Computer Science 5

This course introduces computational concepts that are fundamental to computer science and are useful for the sciences, social sciences, engineering, and digital arts. Students will write their own interactive programs to analyze data, process text, draw graphics, manipulate images, and simulate physical systems. Problem decomposition, program efficiency, and good programming style are emphasized throughout the course. No prior programming experience is assumed.

The course offering for Academic Year 2011-2012 is as follows:

Computer Science 10:  Problem Solving via Object-Oriented Programming

The second prerequisite course for the Comptuer Science major is the newly designed Computer Science 10, which replaces the former Computer Science 8, which will be offered once more next fall. 

Motivated by problems that arise in a variety of disciplines, this course examines concepts and develops skills in solving computational problems. Topics covered include abstraction (how to hide details), modularity (how to decompose problems), data structures (how to efficiently organize data), and algorithms (procedures for solving problems). Laboratory assignments are implemented using object-oriented programming techniques.

The course offering for Academic Year 2011-2012 is as follows:

Course Renumbering:  Old to New

Old # New # Old Name New Name
  1   Introduction to Programming and Computation
2 2 Programming for Interactive Digital Arts  
3 3 Computational Thinking  
4 4 Concepts in Computing  
5   Introduction to Computer Science  
7 7 First-Year Seminar in Computer Science  
8 8 Problem Solving with Computer Science  
  10   Problem Solving via Object-Oriented Programming
12 20 Motion Study: Using Motion Analysis for Science, Art and Medicine  
19 30 Discrete Mathematics in Computer Science  
22 22 3D Digital Modeling  
23 50 Software Design and Implementation  
25 31 Algorithms  
26 71 Numerical Methods in Computation  
32 24 Computer Animation: The State of the Art  
33 61 Information Systems Database Systems
34 74 Machine Learning and Statistical Data Analysis  
36 70 Numerical and Computational Tools for Applied Science  
37 51 Computer Architecture  
38 55 Security and Privacy  
39 39 Theory of Computation  
42 27 Projects in Digital Arts  
43 75 Introduction to Bioinformatics  
44 76 Artificial Intelligence  
46 84 Mathematical Optimization and Modeling  
47 56 Digital Electronics  
48 57 Implementation of Programming Languages Compilers
52 77 Computer Graphics  
53 79 Introduction to Computational Neuroscience  
54 81 Principles of Robot Design and Programming  
58 58 Operating Systems  
63 63 Programming Parallel Systems  
64 83 Computer Vision  
68 59 Principles of Programming Languages  
72 28 Advanced Projects in Digital Arts  
78 60 Computer Networks  
80 95 Reading Course  
82 89 Topics in Computer Graphics  
85 49 Topics in Theoretical Computer Science Topics in Algorithms and Complexity
88 69 Topics in Computer Systems Topics in Computer Systems or Topics in Applied Computer Science
97 99 Honors Thesis Research  
98 98 EPICS: Engineering Projects in Community Service  
104 276 Artificial Intelligence Advanced Artificial Intelligence
105 231 Algorithms and Data Structures Advanced Algorithms
106 240 Numerical Linear Algebra  
107 251 Computer Architecture  
108 258 Advanced Operating Systems  
109 239 Theory of Computation Computational Complexity
110 191 Writing, Presenting, and Evaluating Technical Papers in Computer Science  
118 259 Programming Languages  
134 174 Machine Learning and Statistical Data Analysis  
136 170 Numerical and Computational Tools for Applied Science  
143 175 Introduction to Bioinformatics  
146 184 Mathematical Optimization and Modeling  
153 179 Introduction to Computational Neuroscience  
164 183 Computer Vision  
180 295 Reading Course  
181 219 Special Topics Seminar Special Topics
182 189 Topics in Computer Graphics  
185 149 Algorithms Seminar Topics in Algorithms and Complexity
186 189 Numerical Analysis Seminar  
187 169 Computer Architecture and Hardware Seminar  
188 169 Computer Systems Seminar Topics in Computer Systems or Topics in Applied Computer Science
210 210 Computer Science Colloquium  
257 296 Supervised Undergraduate Teaching  
297 297 Graduate Research  
298 298 Thesis Research  
299 299 Full-Time Thesis Research  

Course Renumbering:  New to Old

Course Renumbering:  Old to New

New # Old # Old Name New Name
1     Introduction to Programming and Computation
2 2 Programming for Interactive Digital Arts  
3 3 Computational Thinking  
4 4 Concepts in Computing  
7 7 First-Year Seminar in Computer Science  
8 8 Problem Solving with Computer Science  
10     Problem Solving via Object-Oriented Programming
20 12 Motion Study: Using Motion Analysis for Science, Art and Medicine  
22 22 3D Digital Modeling  
24 32 Computer Animation: The State of the Art  
27 42 Projects in Digital Arts  
28 72 Advanced Projects in Digital Arts  
30 19 Discrete Mathematics in Computer Science  
31 25 Algorithms  
39 39 Theory of Computation  
49 85 Topics in Theoretical Computer Science Topics in Algorithms and Complexity
50 23 Software Design and Implementation  
51 37 Computer Architecture  
55 38 Security and Privacy  
56 47 Digital Electronics  
57 48 Implementation of Programming Languages Compilers
58 58 Operating Systems  
59 68 Principles of Programming Languages  
60 78 Computer Networks  
61 33 Information Systems Database Systems
63 63 Programming Parallel Systems  
69 88 Topics in Computer Systems Topics in Computer Systems or Topics in Applied Computer Science
70 36 Numerical and Computational Tools for Applied Science  
71 26 Numerical Methods in Computation  
74 34 Machine Learning and Statistical Data Analysis  
75 43 Introduction to Bioinformatics  
76 44 Artificial Intelligence  
77 52 Computer Graphics  
79 53 Introduction to Computational Neuroscience  
81 54 Principles of Robot Design and Programming  
83 64 Computer Vision  
84 46 Mathematical Optimization and Modeling  
89 82 Topics in Computer Graphics  
95 80 Reading Course  
98 98 EPICS: Engineering Projects in Community Service  
99 97 Honors Thesis Research  
149 185 Algorithms Seminar Topics in Algorithms and Complexity
169 187 Computer Architecture and Hardware Seminar  
169 188 Computer Systems Seminar Topics in Computer Systems or Topics in Applied Computer Science
170 136 Numerical and Computational Tools for Applied Science  
174 134 Machine Learning and Statistical Data Analysis  
175 143 Introduction to Bioinformatics  
179 153 Introduction to Computational Neuroscience  
183 164 Computer Vision  
184 146 Mathematical Optimization and Modeling  
189 182 Topics in Computer Graphics  
189 186 Numerical Analysis Seminar  
191 110 Writing, Presenting, and Evaluating Technnical Papers in Computer Science  
210 210 Computer Science Colloquium  
219 181 Special Topics Seminar Special Topics
231 105 Algorithms and Data Structures Advanced Algorithms
239 109 Theory of Computation Computational Complexity
240 106 Numerical Linear Algebra  
251 107 Computer Architecture  
258 108 Advanced Operating Systems  
259 118 Programming Languages  
276 104 Artificial Intelligence Advanced Artificial Intelligence
295 180 Reading Course  
296 257 Supervised Undergraduate Teaching  
297 297 Graduate Research  
298 298 Thesis Research  
299 299 Full-Time Thesis Research  
About
People
Research
Programs
Admissions
© Copyright 2010, Dartmouth College Computer Science Department, All Rights Reserved