Skidmore Home

Skidmore Home

Contents

Index


CONTACT INFO

Key Contacts


STANDARD MAIL

815 North Broadway
Saratoga Springs,
New York, 12866


SKIDMORE PHONE

518-580-5000


Computer Science


Chair of the Department of Mathematics and Computer Science:
Mark Hofmann


Mathematics and Computer Science Faculty:


Professors: *Robert DeSieno, R. Daniel Hurwitz, Mark E. Huibregtse, Alice M. Dean, Gove W. Effinger


Associate Professors: Richard Speers,

Pierre von Kaenel, Mark Hofmann, Una Bray, David C. Vella

THE COMPUTER SCIENCE MAJOR: Students majoring in computer science fulfill the departmental requirements by completing the following:


1. Required computer science courses: CS106, 206, 318, and 330

2. Required mathematics courses: Any one of the following chosen in consultation with the student's advisor:
MA111, 113, 200, or MS104.

3. Required MC courses:
MC115 and 306

4. Electives: Three CS or MC courses at the 200 level or above. (Currently this includes
CS276, 321, 340, 371, 372, 381, 382, and MC302, 316. CS276 and 376 may be taken more than once for credit if offered with different topics.) For one of the three electives the student may instead take, with permission of the department, a course in another discipline that has substantial computer science content (for example, PY207 Workshop Physics or MB319 Management Information Systems). Courses counting toward the major may not be taken satisfactory/unsatisfactory.

HONORS: Students wishing to qualify for departmental honors in the computer science major must:

1) complete all departmental requirements for the computer science major and have a grade point average of 3.5 or higher for all course work (MA, MC, and CS) taken in the department, together with
PY207 if taken as an elective with permission of the department;

2) have a grade-point average of 3.0 for all course work taken at Skidmore;

3) file with the department, by the end of the official add-drop period of the spring semester of the senior year, a declaration of intention to qualify for honors; and

4) submit an honors thesis or project to be read by a review committee, and give an oral presentation of the thesis or project to the department. The review committee will evaluate the thesis or project to determine if it is of the exceptional quality which merits honors; the committee's recommendation will be submitted to the department for final adjudication.

THE COMPUTER SCIENCE MINOR: Students minoring in computer science fulfill the departmental requirements by completing CS106, 206, MC115, and three additional CS or MC courses, at most one of which may be at the 100 level, and at least one of which must be at the 300 level. For one of the three additional courses the student may instead take, with permission of the department, a course in another discipline that has substantial computer science content (for example, PY207 Workshop Physics or MB319 Management Information Systems).

Students interested in learning how to use computers to solve problems in the quantitative disciplines should consider the courses:
CS102, 103, 106, MS104.

NOTE: Courses numbered CS102 through CS382 and MC115, 302, 306, and 316 have as a prerequisite QR1 or permission of the department.

CS 102.     COMPUTING IN CONTEXT     3

A set of courses exploring interesting applications of computing in a variety of disciplines. These courses are primarily intended for students who wish to satisfy the QR requirement and enhance their abilities to apply computing to the solution of quantitative problems. Courses including the following are offered periodically depending on faculty availability. (Fulfills QR2 requirement.)

     A. Electronic Spreadsheets in the Sciences. In this course, students use electronic spreadsheets to build quantitative models of natural systems studied in biology, chemistry, and physics. This course helps students understand quantitative description of natural phenomena, develop ability to use computational methods for describing those phenomena, enhance their understanding of experimental design, and become aware of the limitations in modeling of natural systems.

     B. Robot Design. A hands-on introduction, using ideas from programming, artificial intelligence, and physics, to introduce concepts of robot design. The course explores philosophical, programming, and engineering issues related to the design of robots. Students will build their own robots, and then program them to do a variety of physical tasks. (Not open to students who have taken or are taking a CS course numbered 103 or higher.)

CS 103.     STRUCTURED PROGRAMMING IN BASIC     3

Introduction to the use of computer programming as a problem-solving tool. Students learn to design and implement their own Windows software applications using the Visual BASIC language. The course stresses the logic of software design and the careful implementation and testing of programs. Primarily for students with little or no programming experience. Not open to students who have taken or are taking CS106. (Fulfills QR2 requirement.)     The Department

CS 106.     INTRODUCTION TO COMPUTER SCIENCE I     4

Design and testing of algorithms for the solution of problems with the aid of a computer using C++ language. The course guides students through syntax, semantics, design procedures, control structures, data structures and testing of conditions with Boolean expressions. (Fulfills QR2 requirement.)     The Department

MC 115.     INTRODUCTION TO DISCRETE MATHEMATICS     3

An introduction to the study of discrete (as opposed to continuous) mathematical systems.These include systems that are essential in computer science as well as in more advanced mathematics courses. Mathematical reasoning and algorithms are fundamental themes of the course. Topics include logic and sets, complexity of algorithms, computer arithmetic, arrays, mathematical proofs and induction, elementary combinatorics, and discrete probability, graphs, and trees. Prerequisite: high school preparation including intermediate algebra or consent of department. (Fulfills QR2 requirement.)     The Department

CS 206.     INTRODUCTION TO COMPUTER SCIENCE II     4

Continuation of CS 106: study of recursion, pointers, development strategies for large software projects, and introduction to data structures, analysis of algorithms, and program verification. Prerequisite:
CS106 or permission of instructor.     The Department

CS 276.     SELECTED TOPICS IN COMPUTER SCIENCE     3

Topics that complement the established lower level course offerings in computer science will be selected. May be repeated for credit. Prerequisite: permission of instructor.     The Department

MC 302.     GRAPH THEORY     3

An introduction to the theory and application of graphs. Topics may include graphs and digraphs, connectivity, trees, Euler and Hamiltonian cycles, and graph embeddings. Prerequisite:
MC115 or MA200 or permission of the instructor. Fall 2002 and alternate years.     The Department

MC 306.     THEORY OF COMPUTATION     3

A study of the major theoretical models of computation. Topics include automata, nondeterminism, regular and context-free languages, Turing machines, unsolvability, computational complexity, and NP-completeness. Prerequisite:
MC115 and CS106, or permission of instructor.     The Department

MC 316.     NUMERICAL ALGORITHMS     3

An introduction to using computation to obtain approximate solutions to mathematical problems. A variety of algorithms are studied, as are the limitations of using computational methods. Topics include algorithms for solving equations, systems, and differential equations; approximating functions and integrals; curve fitting; round-off errors, and convergence of algorithms. Prerequisites:
CS106 and MA111 or permission of instructor. Offered in 2003 and alternate years.     The Department

CS 318.     INTRODUCTION TO COMPUTER ORGANIZATION     4

An introduction to multi-level machines, including basic components of a computer, digital circuits, microprogramming, machine and assembly languages, and operating systems. Prerequisite:
CS206 and MC115. (Does not count toward the Mathematics major.)     The Department

CS 321.     DATA STRUCTURES     3

The study of advanced data structures such as trees, multi-linked lists, hash tables, and graphs. Additional topics may include searching, sorting, and the concepts of object-oriented programming. Prerequisite:
MC115 and CS206.     The Department

CS 330.     PROGRAMMING LANGUAGES     3

An introduction to different programming language paradigms: functional, logic, and object-oriented programming. Students will also study language concepts such as regular expressions, syntax grammars, and semantics. Specific topics may include Perl, egrep, Scheme, Lex & Yacc, Java, C++ and Prolog. Prerequisite:
CS206.     The Department

CS 340.     COMPUTER MODELING OF PHYSICAL SYSTEMS     3

The study of physical systems and natural law with the aid of computers and simulation software. Students explore the relationships between theoretical scientific expression and behavior in nature by designing algorithms that probe experimental data, by examining cause and effect relationships in physical systems, and by examining the consequences of diverse variation in simulated conditions for ideal and non-ideal systems. Prerequisites:
PY207, 208, CS106.     The Department

CS 371, 372.     INDEPENDENT STUDY     3, 3

Special study in computing outside of the regular departmental offerings. Prerequisite: consent of department. Non-liberal arts.      The Department

CS 376.     ADVANCED TOPICS IN COMPUTER SCIENCE     3

Advanced topics that complement the established course offerings in computer science will be selected. May be repeated for credit. Prerequisite: permission of instructor.     The Department

CS 381, 382.     SENIOR THESIS     3,3

Optional for computer science majors. Recommended for those working toward professional careers or graduate study in computer science, and those seeking to satisfy the criteria for departmental honors.

CS 399.     INTERNSHIP IN COMPUTER SCIENCE     3 or 6

Professional experience at an advanced level for juniors and seniors with substantial academic experience in computer science and mathematics. With faculty sponsorship and departmental approval, students may extend their educational experience in computer science, software engineering, or applied mathematics. This course may not be used to satisfy the requirements of any major or minor in the department. Prerequisites:
MC115, CS206, one additional course in mathematics or computer science at the 200 level or above, and permission of the department. Non-liberal arts.


Dance



Creative Thought Matters.
Skidmore College · 815 North Broadway · Saratoga Springs, NY · 12866

Skidmore College Main Links
©2009 Skidmore College · Contact Information
Home | About Skidmore | Prospective Students | Current Students | Faculty & Staff
Parents & Friends | Alumni