Lafayette College
Department Home

About Computer Science
News
Curriculum
Department Policy
Faculty
Current Courses
Resources
Directions
Contact Us

ACM Chapter
Programming Team
Student Web-pages
Honors Theses
Independent Studies

Curriculum Requirements

Students interested in computer science have a variety of choices: They may obtain a Bachelor of Science degree, a Bachelor of Arts degree, a minor, or take one or more courses. A major goal of the program is to prepare students for the lifetime of learning that is necessary in this emerging discipline. This is accomplished in two ways. First, exploration and self-paced work are encouraged in laboratories. Second, students are encouraged to undertake independent study courses: Several recent projects have been in the areas of computer graphics, computer networks, artificial intelligence, operating systems and computational complexity. Another program goal is to promote team-building activities. For example, in several courses, students work together on team projects. This spirit of cooperation is also reflected in the student chapter of the Association for Computing Machinery, the professional society of computer scientists. The student chapter organizes field trips, guest lectures and other social activities.

Bachelor of Science Program

The Bachelor of Science program in computer science provides a comprehensive curriculum. Here are the objectives of the program:

Graduates of the program should:

be able to work in a team to analyze, design and implement a computerized solution to a substantial problem;

be able to enter an appropriate graduate program or be hired as a computing professional;

have a broad background in computer science.

The requirements are as follows:

Principles I (CS102), Principles II (CS103), Analysis of Algorithms (CS202), Computer Organization (CS203), Software Engineering (CS205), Calculus I (MATH161), Calculus II (MATH162), and Discrete Structures (MATH182) should be completed by the end of the sophomore year.

In addition, 2 of the above courses must be enhanced writing courses.

Sample Bachelor of Science Curriculum



First Year
Fall Courses

Spring Courses

CS 102 CS 103
Phil 200 Math 162
First-Year Seminar English 110
Math 161 Math 182


Second Year
Fall Courses

Spring Courses

CS 202 CS303 or a 300-400 level course
CS 203 CS 205
Math 263 VAST 200
Humanities/Social Science Elective Math 282 (Modeling)


Third Year
Fall Courses

Spring Courses

CS 401 or a 300-400 level course (CS303 & Hum/Soc) or (CS301 & CS406)
Physics 121 (Physics 131) Physics 122 (Physics 133)
Math 186 Free Elective
Humanities/Social Science Elective  


Fourth Year
Fall Courses

Spring Courses

CS495 CS470
CS 401 or a 300-400 level course (CS303 & hum/soc) or (CS301 & CS406)
Natural Science with Lab Humanities/SocialScience Elective
Free Elective Free Elective

Bachelor of Arts

The Bachelor of Arts program in computer science meets the needs of students who seek a balanced education or the opportunity for interdisciplinary study. The requirements for this degree are 32 courses including the following:

Principles I (CS102), Principles II (CS103), Software Engineering (CS205), and Discrete Structures (MATH182) should be completed by the end of the sophomore year.

In addition, 2 of the above courses must be enhanced writing courses.

Minor in Computer Science

The minor in computer science is intended for students who wish to develop a supplementary curriculum in computer science while majoring in another subject.

The requirements for a minor in computer science are:


Lafayette College Computer Science Department Courses

The Lafayette College Computer Science department offers a number of courses to students seeking to gain a broader appreciation of the depth available in the field. These course descriptions will be of value to anyone who seeks to understand what the department has to offer.

CS102. Principles of Computer Science I

A rigorous introduction to object-oriented design and implementation. This course requires considerable analytical ability; it is not a course in computer literacy or basic computer skills.
Meeting time: 3 hours lecture, 3 hours laboratory.
Course offered: every semester.
Permission of department head required.

CS103. Principles of Computer Science II

Continuation, from CS102, of an object-oriented approach to the design and implementation of software systems.
Meeting time: 3 hours lecture, 3 hours laboratory
Prerequisite: CS102.
Course offered: every semester.

CS202. Analysis of Algorithms

The design and analysis of algorithms and their complexity. This course will study techniques for measuring algorithm complexity, fundamental algorithms and data structures, intractable problems and algorithm design techniques.
Meeting time: 3 hours lecture.
Prerequisite: CS 103 and Math 182.
Course offered: every fall semester

CS203. Computer Organization

A study of digital logic, computer components, internal and external memory, computer arithmetic, instruction sets, interrupts, and microprogramming.
Meeting time: 3 hours lecture, 3 hours lab.
Prerequisite: CS103.
Course offered: every fall semester.

CS205. Software Engineering

The analysis, design, implementation and maintenance strategies appropriate for large software projects.

Meeting time: 3 hours lecture, 3 hours lab
Prerequisite: CS103
Course offered: every spring semester.

CS301. Principles of Programming Languages

An introduction to the theory of the design and implementation of contemporary programming languages. Topics include the study of programming language syntax, programming language semantics, program translators,and imperative, functional, logic and object-oriented language paradigms.
Meeting time: 3 hours lecture, 3 hours lab.
Prerequisite: CS202, CS203
Course offered: spring semester of even numbered years.

CS303. Theory of Computation

An introduction to the theoretical foundations of computer science and formal models of computation. Topics will include formal languages, finite automata, computability and undecidability.
Meeting time: 3 hours lecture.
Prerequisite: PHIL 200 and CS 202
Course offered: spring semester of odd numbered years.

CS305. Computer Networks

The implementation and use of computer networks. Topics will include the ISO reference model, communication protocols, local-area and wide-area networks, and satellite communications.
Prerequisites: CS203.
Corequisite: CS205.
Meeting time: 3 hours lecture, 3 hours lab.
Course offered: spring semester of odd numbered years.

CS320. Database Management Systems

This course examines the organization, design and implementation of data base management systems.
Meeting time: 3 hours lecture, 3 hours lab.
Prerequisites: CS205, or CS202 as a co-requisite.
Course offered: fall semester of even numbered years.

CS390-394. Independent Study and Research

Independent study projects for juniors and seniors. Hours arranged.
Prerequisites: consent of instructor and permission of department head.
Course offered: every semester.

CS401. Computer Graphics

A course in the creation and use of graphical information and user interfaces.
Meeting time: 3 hours lecture, 3 hours lab.
Prerequisites: CS202, CS205, Math162.
Course offered: fall semester of even numbered years.

CS406. Operating Systems

An in-depth study of operating systems, covering such topics as concurrent processes, memory management, input/output and file systems, and resource allocation.
Meeting time: 3 hours lecture, 3 hours lab.
Prerequisite: CS203 or ECE313, CS205 as a co-requisite.
Course offered: spring semester of even numbered years.

CS410. Special Topics

This course will consider recent advances and/or subjects of current interest in computer science. The special topic(s) for a given semester will be announced prior to registration.
Prerequisite: consent of instructor.
Course offered: fall semester of odd numbered years.

CS420. Artificial Intelligence

An introduction to the study of intelligence as computation. Topics covered will include problem-solving techniques, heuristic searches and knowledge representation.
Meeting time: 3 hours lecture, 3 hours lab.
Prerequisite: CS202, CS205
Course offered:fall semester of odd numbered years.

CS470. Senior Project

In this course, students work in teams on the analysis, design and implementation of a large-scale software project.
Prerequisites: Senior standing and either CS320 or CS305.
Course offered: every spring semester.
Fall 2002 project garners rave reviews (read article )

CS495-96. Senior Thesis

A two-semester, independent research project on a topic selected by the student and approved by the department. A student must undertake such a program for two semesters to graduate with honors.
Course offered: every semester.

VAST200. Computers & Society

This course examines the computer\'s cultural context: the managerial, political, legal, ethical, psychological, and philosophical implications of computing. Lecture/laboratory.
Course offered: spring semesters.


Last modified: 06/25/2009