© 2002 Trinity College

Faculty

Laurie Johnson, Clare Boothe Luce Assistant Professor of Mathematics (Program Chair)
Bill Steel, Assistant Professor of Information Technology

Return to top


Description

The Computer Science Program offers a major and minor in computer science to students in the College of Arts and Sciences. The field of computer science applies the principles of the scientific method and mathematics to the problems of computer software and hardware engineering. Students explore how to design hardware systems, including memory, circuits, busses, and other components. They also learn about the intricacies of computer programming and coding. In completing the requirements for the major and minor, students develop problem solving skills and critical thinking abilities that derive from a liberal arts education.

During their senior year, students complete an independent project in the field of computer science under the supervision of the program faculty. Students must successfully complete this project to receive their degree. 

Objectives

Students who complete the requirements for a major in computer science will be able to:

  • Write and modify programs in order to accomplish a specific task
  • Develop thorough testing processes for software
  • Write clear and thorough documentation for software
  • Work effectively with end users and other programmers
  • Learn new programming languages quickly and effectively
  • Approach and troubleshoot problems that do not have clear specifications

Return to top


Major Requirements

Required Courses (35 credits)

ALL of the following computer science courses:

MAT 141 Introduction to Programming
MAT 241 Intermediate Programming
MAT 306 Computer Organization and Architecture
MAT 343 Computer Networks
MAT 385 Data Structures and Algorithms
MAT 441 Principles of Programming Languages
MAT 443 Operating Systems
MAT 445 Systems Analysis and Design

ALL of the following mathematics courses:

MAT 110 Introduction to Statistics
MAT 125 Calculus and Analytic Geometry I
MAT 290 Discrete Mathematics and Mathematical Modeling

Electives (6 credits)

TWO courses chosen from among:

IT 306 Introduction to Programming for the Internet
MAT 307 Database Management Systems
MAT 249  Social Implications of Information Systems
MAT 447 Introduction to Artificial Intelligence
MTS 235 Introduction to Computer Illustration & Design

Co-Requisite Course (4 credits)

ONE laboratory science class chosen from:

BIO 151 General Biology I
BIO 152 General Biology II
CHE 105 Fundamentals of Chemistry I
PHY 115 General Physics I

Students planning to major in computer science should take on of the laboratory science courses listed above as a part of their FLC requirements; other laboratory science courses may be approved by the Program Chair.

Return to top


Minor Requirements

Required Courses ( credits)

ALL of the following courses:

MAT 141 Introduction to Programming
MAT 214 Intermediate Programming
MAT 306 Computer Organization and Architecture
MAT 385 Data Structures and Algorithms

TWO courses chosen from among:

MAT 307 Database Management Systems
MAT 343 Computer Networks
MAT 443 Operating Systems
MAT 445 Systems Analysis and Design

Return to top


Program Policies

Advanced Placement: Students should consult the Program Chair.

CLEP Policy: Students should consult the Program Chair.

Cross-listed Courses: Courses that are cross-listed represent identical courses offered with a different program prefix. Students may not enroll in or receive credit for more than one iteration of a cross-listed course even in different semesters.

Grades in Major and Minor Courses: Students are required to earn a grade of "C" (2.0) or better in all courses counted to fulfill requirements for the major or the minor.

Pass/No Pass: No major or minor courses may be taken pass/no pass. 

Senior Assessment: During their senior year, students complete an independent project under the supervision of the program faculty. Students must successfully complete this project to receive their degree. 

TELL Policy: Students should consult the Program Chair.

Transfer Credits: Students wishing to transfer credits must consult the Program Chair.

Return to top


Course Descriptions

MAT 110 Introduction to Statistics
Presents the basic principles of statistics with applications to the social sciences. Topics include descriptive statistics, probability theory, normal and binomial distributions, and central limit theorem, with an introduction to the use of statistical software.
3 credits
Prerequisite: MAT 108 or MAT109 

MAT 125 Calculus and Analytic Geometry I
Examines the following topics: functions, limits, continuity, differentiation and applications, and basic integration.
4 credits
Prerequisite: MAT 123
FLC Area IV, Exploration Cluster
Core III 

MAT 141 Introduction to Programming
Serves as an entry-level programming course recommended for all students. Objects, arrays, program flow (if-then-else, while, do-while, for, switch), simple graphical user interfaces and applets, problem solving techniques, and elementary algorithms are covered. Effective design, implementation, debugging, and documentation of object-oriented programs are emphasized.
4 credits
FLC Area IV, Exploration Cluster

MAT 241 Intermediate Programming
Provides a continuation of the development of object-oriented design and implementation using a current programming language. Inheritance, polymorphism, error-handling, I/O, advanced graphical user interfaces, and data representation are covered.
3 credits
Prerequisite: MAT 141

MAT 249 Social Implications of Information Systems
Develops students' awareness of the social, moral, ethical, and philosophical impact of computers and computer-based systems on current and future society. Topics include the impact of major computer-based applications, human-machine relationships, and the major problems of controlling the use of computers.
3 credits
Prerequisite: MAT 141

MAT 290 Discrete Mathematics and Mathematical Modeling
Introduces discrete mathematics with applications to mathematical modeling. Possible topics include Markov chains, game theory, group decision-making, measurement, and utility. 
3 credits
Prerequisite: MAT 126

MAT 306 Computer Organization
An introduction to the principles of computer organization and architecture including register and memory organization, representations of numbers and data, digital logic, and boolean algebra. Also, an introduction to assembly language programming including files, interrupts, and arithmetic and logical operations. Algorithm efficiency analysis is discussed. 
3 credits
Prerequisite: MAT 141

MAT 307 Database Management Systems
An introduction to the design, organization, implementation and evaluation of database systems. File organization and processing, hierarchical, network and relational models of database structure, database languages and queries are studied.
3 credits
Prerequisites: MAT 141

MAT 343 Computer Networks
Introduces concepts of computer networks, including systems architecture, system communication and protocols, shared resource management, and memory management.
3 credits
Prerequisite: MAT 241

MAT 385 Data Structures and Algorithms
Advanced algorithms such as recursion, sorting and searching and data representation such as lists, linked lists, stacks, queues and hash tables are discussed. Programming assignments are in a current programming language. 
3 credits
Prerequisite: MAT 241 

MAT 441 Principles of Programming Languages
Studies the syntax and semantics of computer languages. Topics include language scope of objects and time of binding, definition structure, data types and structures, data abstraction, control structures, run-time considerations, interpretive languages and parsing. Functional, object-oriented, and logic programming languages will be covered.
3 credits
Prerequisite: MAT 385

MAT 443 Operating Systems
Covers significant topics in operating systems, including system structure, process management (scheduling, synchronization, deadlocks), memory management (allocation, scheduling, swapping), file systems, and computer security.
3 credits
Prerequisite: MAT 385

MAT 445 Systems Analysis and Design
Introduces principles of software engineering. Topics studied include requirements analysis, data flow diagrams, software design and implementation techniques, testing strategies, and project management techniques. The course includes team development of a large software project written in a current programming language, utilizing concepts learned in the course.
3 credits
Prerequisite: MAT 385

MAT 447 Introduction to Artificial Intelligence
Introduces various concepts and applications in artificial intelligence (AI), the construction of computer programs that act rationally within an environment to solve problems. Topics include knowledge representation, searching, heuristic search, reasoning with uncertainty, and learning.
3 credits
Prerequisite: MAT 385

Return to top