Trinity
College

Major Requirements

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 Requirements

  • 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)