This section describes the core courses and electives that are required for a B.A. or
B.S. in computer science. A five year Master's degree in computer science is available
through a combined Trinity College - and the Computer Science Department at Rensselaer at
Hartford. This document also describes integrated tracks in the computer science major.
Computer science is a broad discipline that employs a variety of approaches in an effort
to advance our understanding and use of computing. Study in computer science can range
from mathematical work aimed at understanding the theoretical and practical limits of what
can be computed, to experimental work aimed at understanding the functioning of existing
computer languages and systems, to design work aimed at building algorithms and computer
systems that help people solve problems.
The computer science major is designed to provide students with a broad background in the
field. A major in computer science would provide an adequate preparation for a wide
variety of career paths, ranging from graduate study in computer science or closely
related disciplines to technical or management positions in industries that depend heavily
on information processing.
Computer science can also be studied as a means of acquiring problem solving, reasoning
and design skills that can be applied successfully in other disciplines. The Computer
Coordinate major and the Applications of Computing minor are two formal ways of combining
an interest in computing with study in another discipline.
The Computer Science Major
The computer science major has required mathematics courses, required computer science courses, and 7 computer science electives.
The required mathematics courses are calculus courses through Mathematics 132 (either Mathematics 131 and Mathematics 132 or Mathematics 125, Mathematics 126, and Mathematics 132).
The required computer science courses are Computer Science 115L, Computer Science 203,
Computer Science 215L, and either Computer Science 403 or Computer Science 404, either or both of which must be taken in conjunction with the senior project.
Mathematics 205 may be substituted for Computer Science 203.
The 7 electives must be chosen from computer science courses with numbers greater than 215 and less than 399 plus Mathematics 252, Mathematics 254, Mathematics 309, and Computer Science 415.
The 7 electives chosen must include Computer Science 219 or Computer Science 320 and both Computer Science 315 and Computer Science 316.
Students considering doing graduate work in computer science should elect all four of these courses.
A minimum grade of C- must be maintained in all courses counted toward the major.
- Mathematics 131- Calculus I (prerequisite: Appropriate grade on the Math
Placement Exam or Mathematics 109)- may be substituted by the sequence of the following courses:
- Mathematics 125- Calculus with Algebra and Trigonometry I (prerequisite: Appropriate grade on the Math Placement Exam)
- Mathematics 126- Calculus with Algebra and Trigonometry II (prerequisite: Mathematics 125)
- Mathematics 132- Calculus II (prerequisite: Mathematics 131)
Required Computer Science Courses |
- Computer Science 115L-Introduction to Computing
- Computer Science 203-Mathematical Foundations of Computing (prerequisite: Computer
Science 114 or previous programming experience)- may be substituted by Mathematics 205- Abstraction and Argument
- Computer Science 215L-Data Structures and Algorithms (prerequisite: Computer
Science 115L)
Required Theory Course (choose 1)
- Computer Science 219-Theory of Computation (prerequisite: Computer Science 115L
and either Computer Science 203 or a mathematics course numbered above 200)-offered
alternate years
- Computer Science 320-Analysis of Algorithms (prerequisite: Computer Science 215L
and either Computer Science 203 or a mathematics course numbered above 200)-offered
alternate years
Required Systems Course
- Computer Science 315-Systems Software (prerequisite:
Computer Science 203 or Mathematics 205 and Computer Science 215L)
- Computer Science 316-Foundations of Programming Languages (prerequisite:
Computer Science 215L)
Required Seminar (choose 1)
- Computer Science 403-Computer Science Seminar (prerequisite: permission of
instructor)-offered every fall.
- Computer Science 404-Computer Science Seminar (prerequisite: permission of
instructor)-offered every spring.
Computer Science Electives (any 7, including any from the Theory or Systems groups) |
- Computer Science 240-Principles of Software Engineering (prerequisite: Computer Science 215L)
- Computer Science 304-Graphical Software: Design and Implementation (prerequisite:
Computer Science 215L)
- Computer Science 333-Computer Networks (prerequisite: Computer Science 215)
- Computer Science 352-Artificial Intelligence (prerequisite: Computer Science
215L)-same as Psychology 352
- Computer Science 365-Distributed Computing (prerequisite: Computer Science 315)
- Computer Science 371-Compiler Theory (prerequisite: Computer Science 316L or
Computer Science 230L
- Computer Science 372-Database Fundamentals (prerequisite: Computer Science 215L)
- Computer Science 375-High-Performance Computing (prerequisite: Computer Science 215L)
- Computer Science 415-Special Topics in Computing
- Mathematics 252-Introduction to Mathematical Modeling I (prerequisites: Computer Science 115L and 1 year of calculus)
- Mathematics 254-Introduction to Mathematical Modeling II (prerequisites: Computer Science 115L and 1 year of calculus)
- Mathematics 309-Numerical Analysis (prerequisites: Computer Science 115L and
Mathematics 132)