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
|