Computer Science
Department Overview
Computer Science is an academic discipline that is fascinating to study in its own right but also has very wide-ranging applications throughout the modern world. Our faculty are all skilled and dedicated teachers as well as active scholars; we strive to make each course we offer engaging and challenging. Our graduates go on to a great variety of careers in such areas as theoretical computer science, the computer science industry, teaching at various levels, and many more.
Chair of the Computer Science Department: Christine Reilly
Associate Professors: Michael Eckmann, Thomas O’Connell, Aarathi Prasad, Christine Reilly
Associate Teaching Professor: David Read
Assistant Professor: Wenlu Du
Visiting Assistant Professors: Nelson Dellis, Esma Wali
Technical Director for Computer Science Infrastructure: William Jojo
Administrative Assistant: Kim Newsom
Computer Science B.A.
Effective for Students Who Entered Skidmore in Fall 2020 and Beyond
Students majoring in computer science fulfill the departmental requirements by completing the following:
Code | Title | Hours |
---|---|---|
Required Computer Science Courses | ||
CS 209 | Data Structures and Mathematical Foundations | 4 |
CS 226 | Software Design | 4 |
CS 230 | Programming Languages | 4 |
CS 305 | Design and Analysis of Algorithms 1 | 4 |
CS 306 | Computability, Complexity, and Heuristics | 4 |
CS 318 | Introduction to Computer Organization | 4 |
Required Mathematics Courses | ||
MA 200 | Linear Algebra | 4 |
Select one of the following: | 3-6 | |
Calculus I | ||
Calculus with Algebra I and Calculus with Algebra II | ||
Calculus II | ||
Calculus III | ||
Electives | ||
Select one of the following: A CS course at the 200 level or above, MA 302 Graph Theory, MA 305 Introduction to Probability, MA 316 Numerical Algorithms, or MS 251 Topics in Statistics (Introduction to Data Science) 3 | 3-4 | |
Select two CS courses at the 300-level, including IL 305 Robotics 4 | 6-8 | |
Total Hours | 40-46 |
- 1
In CS 305 Design and Analysis of Algorithms, students will fulfill the writing requirement in the major by acquiring the skills necessary to clearly describe algorithmic processes and argue about their properties.
- 2
With permission of the department, a student may instead take a course in another discipline that has substantial computer science content.
- 3
Excluding CS 202 Computers and Society, CS 275 Introduction to Research in Computer Science, CS 275H Introduction to Research in Computer Science, CS 371 Independent Study in Computer Science, CS 381 Senior Thesis, CS 382 Senior Thesis and, CS 399 Internship in Computer Science.
- 4
Excluding CS 371 Independent Study in Computer Science, CS 381 Senior Thesis, CS 382 Senior Thesis and, CS 399 Internship in Computer Science.
No more than 8 credit hours of S/U can be used toward the major.
The following courses must be taken for a letter grade: CS 305 Design and Analysis of Algorithms, CS 306 Computability, Complexity, and Heuristics, and CS 318 Introduction to Computer Organization.
Effective for Students Who Entered Skidmore Prior to Fall 2020
Students majoring in computer science fulfill the departmental requirements by completing the following:
Code | Title | Hours |
---|---|---|
Required Computer Science Courses | ||
CS 206 | Introduction to Computer Science II | 4 |
CS 230 | Programming Languages | 4 |
CS 305 | Design and Analysis of Algorithms | 4 |
CS 306 | Computability, Complexity, and Heuristics | 4 |
CS 318 | Introduction to Computer Organization | 4 |
Required Mathematics Courses | ||
MA 200 | Linear Algebra | 4 |
MA 215 | Introduction to Mathematical Reasoning and Proof 1 | 4 |
Electives | ||
Select one of the following: 2 | 3 | |
Graph Theory | ||
Introduction to Probability | ||
Numerical Algorithms | ||
Topics in Statistics (Introduction to Data Science) | ||
One CS course at the 200 level or above 3 | ||
Select two CS courses at the 300 level 4 | 6 | |
Total Hours | 37 |
- 1
In MA 215 Introduction to Mathematical Reasoning and Proof, students will acquire writing skills that are necessary to work on advanced material in mathematics and will fulfill the writing requirement in the major.
- 2
With permission of the department, a student may instead take a course in another discipline that has substantial computer science content.
- 3
Excluding CS 275 Introduction to Research in Computer Science, CS 275H Introduction to Research in Computer Science, CS 371 Independent Study in Computer Science, CS 381 Senior Thesis, and CS 382 Senior Thesis.
- 4
Excluding CS 371 Independent Study in Computer Science, CS 381 Senior Thesis, and CS 382 Senior Thesis.
No more than 8 credit hours of S/U can be used toward the major.
The following courses must be taken for a letter grade: CS 305 Design and Analysis of Algorithms, CS 306 Computability, Complexity, and Heuristics, CS 318 Introduction to Computer Organization.
Computer Science Minor
Effective for Students Who Entered Skidmore in Fall 2020 and Beyond
Code | Title | Hours |
---|---|---|
CS 209 | Data Structures and Mathematical Foundations | 4 |
Select one of the following: | 4 | |
Design and Analysis of Algorithms | ||
Introduction to Computer Organization | ||
Programming Languages | ||
Select three courses of the following: Any CS courses (at most one of which may be at the 100 level); IL 305 Robotics, MA 316 Numerical Algorithms 1 | 9-12 | |
Total Hours | 17-20 |
- 1
Excluding CS 202 Computers and Society, CS 275 Introduction to Research in Computer Science, CS 275H Introduction to Research in Computer Science, CS 371 Independent Study in Computer Science, CS 381 Senior Thesis, CS 382 Senior Thesis, and CS 399 Internship in Computer Science
Effective for Students Who Entered Skidmore Prior to Fall 2020
Students minoring in computer science fulfill the departmental requirements by completing the following:
Code | Title | Hours |
---|---|---|
CS 206 | Introduction to Computer Science II | 4 |
Select two of the following: | 8 | |
Design and Analysis of Algorithms | ||
Introduction to Computer Organization | ||
Programming Languages | ||
Select two additional courses of the following: | 6-8 | |
Introduction to Mathematical Reasoning and Proof | ||
Graph Theory | ||
Numerical Algorithms | ||
any CS courses (one of which may be at the 100 level) | ||
Total Hours | 18-20 |
Honors
Students wishing to qualify for departmental honors in the computer science major must:
- Complete all departmental requirements for the computer science major and have a GPA of 3.5 or higher for all course work (MC and CS) taken in the department, together with a course in another discipline that has substantial computer science content if taken as an elective with permission of the department;
- Have a GPA of 3.0 for all course work taken at Skidmore;
- File with the department, by the end of the official add-drop period of the fall semester of the senior year, a declaration of intention to qualify for honors; and
- Submit an honors thesis to be read by a review committee, and give an oral presentation of the thesis to the department. The review committee will evaluate the thesis to determine if it is of the exceptional quality that merits honors; the committee will submit its recommendation to the department for final adjudication.
Additional Guidance Regarding the Honors Thesis
An honors thesis may take a variety of forms. The following guidelines provide some clarity regarding the department's expectations. In all cases, further discussion with your thesis advisor will be necessary before formalizing your research plan.
A computer science honors thesis will:
- Require at least one full academic year of applied effort to complete;
- Involve significant review of existing research in the area of interest. The thesis will include an extensive literature review section highlighting relevant concepts, frameworks, and theories; and
- Result in a creative contribution. The contribution might be an implementation and validation of existing work or an identification of a gap in existing literature, along with a validation of your proposed solution. The creative contribution must confirm the student's grasp of the subject matter while demonstrating independent thinking.
Note: All CS and MC courses have satisfaction of QR1 as a prerequisite.