Computer Science

Major & Minor Requirements

Approved by Smith Faculty 28Jan04

 

__________________________

 

 

The Major

 

Advisers:  Merrie Bergmann, Judy Franklin, Nicholas Howe, Joseph O’Rourke, Dominique Thiébaut.

 

Requirements:  At least 11 semester courses (44 graded credits) including:

 

1.    111, 112, 231, 250;

2.    a.  One of MTH 111, MTH 112, MTH 114, or MTH 125;

       b.  MTH 153;

       c.  One 200-level or higher math course,

3. Three distinct 200- or 300-level courses, designated according to the table below, as follows:

         a. At least one designated Theory;

         b. At least one designated Programming;

         c. At least one designated Systems;

4     At least one CSC 300-level course (not among those satisfying previous requirements).

 

Course

Theory

Programming

Systems

CSC220 (Adv. Prog)

 

X

 

CSC240 (Graphics)

X

X

 

CSC252 (Algorithms)

X

 

 

CSC262 (Op. Sys)

 

X

X

CSC270 (Circuits)

 

 

X

CSC274 (Comp Geom)

X

X

 

CSC290 (AI)

X

X

 

CSC294 (Linguistics)

X

 

 

CSC265 (Networks)

 

 

X

CSC293 (Compilers)

X

X

 

ENG321 (Dig. Sig. Proc.)

 

 

X

CSC352 (Parallel Prog)

 

X

X

CSC353 (Robotics)

 

X

X

CSC364 (Architecture)

 

 

X

CSC390 (AI seminar)

X

 

 

CSC354 (Music)

X

X

 

CSC370 (Vision)

X

X

 

 

 

The Minor

 

Students may minor in Computer Science by fulfilling the requirements for one of the following concentrations or by designing, with department approval, their own sequence of six courses, which must include 111 and 112, and one 300-level course.

1.    Theory (six courses)

 

Advisers:  Nick Howe, Judy Franklin, Joseph O’Rourke, Ileana Streinu.

 

This minor is appropriate for a student with a strong interest in the theoretical aspects of computer science.

 

Required courses:

111  Computer Science I

112  Computer Science II

Two distinct 200- or 300-level courses designated Theory.

One other 200- or 300-level course.

One CSC 300-level course designated Theory (and not among those satisfying the previous requirements).

 

 

2.    Programming (six courses)

 

Advisers:  Judith Cardell, Judy Franklin, Nick Howe, Ileana Streinu, Dominique Thiébaut.

 

This minor is appropriate for a student with a strong interest programming and software development.

 

Required courses:

111  Computer Science I

112  Computer Science II

Two distinct 200- or 300-level courses designated Programming.

One other 200- or 300-level course.

One CSC 300-level course designated Programming (and not among those satisfying the previous requirements).

 

3.    Systems (six courses)

 

Advisers:  Judith Cardell, Judy Franklin, Dominique Thiébaut.

 

This minor is appropriate for a student with a strong interest in computer systems, computer engineering, and computing environments.

 

Required courses:

111  Computer Science I

112  Computer Science II

Two distinct 200- or 300-level courses designated Systems.

One other 200- or 300-level course.

One CSC 300-level course designated Systems (and not among those satisfying the previous requirements).

 

4.    Computer Science and Language (six courses)

 

Adviser:  Merrie Bergmann.

 

The goal of this minor is to provide the student with an understanding of the use of language as a means of communication between human beings and computers.

 

Required courses:

111  Computer Science I

112  Computer Science II

250  Foundations of Computer Science

Two of:

280  Topics in Programming Languages

290  Introduction to Artificial Intelligence

293  Introduction to Translators and Compiler Design

294  Computational Linguistics

One of:

390  Seminar in Artificial Intelligence

354  Seminar in Digital Sound and Music Processing

 

 

5.    Mathematical Foundations of Computer Science (six courses)

 

Adviser:  Michael Albertson.

 

The goal of this minor is the study of algorithms, from the points of view of both a mathematician and a computer scientist, developing the correspondence between the formal mathematical structures and the abstract data structures of computer science.

 

Required courses:

111  Computer Science I

112  Computer Science II

250  Foundations of Computer Science

One of:

252 Algorithms

274 Computational Geometry

MTH 254  Combinatorics.

MTH 353  Advanced Topics in Discrete Applied Mathematics