|
Computer Science is the study of problem solving. Therefore, the primary goal of the program is to develop problem-solving skills in students. With that in mind, the emphasis of this major is to prepare graduates to understand the field of computing, both as an academic discipline and as a profession, within the context of a larger society. Further, the major is designed to challenge students to consider the ethical and societal issues that are associated with the computing field, to prepare students to rigorously apply their knowledge to the solution of specific, constrained problems, to expose students to the rich theoretical basis of the field, and to integrate their understanding of computing with the foundation of a liberal arts education.
These goals and the curriculum are based on the recommendations found in "Computing Curricula 1991: Report of the ACM/IEEE-CS Joint Curriculum Task Force."
Concrete objectives of the program are:
1. To prepare students for careers in computer science.
2. To prepare students for entry into graduate programs in computer science.
Requirements for Computer Science Major
All courses which are applied to the major must be completed with a grade of C- or higher.
Computer Science majors intending to attend graduate school are strongly encouraged to pursue a minor in mathematics at Thiel.
MATH 211 Elementary Statistics
MATH 181 Calculus I
MATH 182 Calculus II
MATH 221 Discrete Mathematical Structures
CSCI 109 Principles of Computer Science
CSCI 159 Introduction to Programming
CSCI 169 Data Structures
CSCI 269 Theory of Programming Languages
CSCI 319 Database Management
CSCI 419 Computer Organization with Assembler
CSCI 427 Operating Systems
CSCI 369 Design and Analysis of Algorithms
OR
CSCI
349 Theory of Computation
CSCI 300+ Any 300-level course or higher
Requirements for Computer Science Minor
All courses which are applied to the minor must be completed with a grade of C- or higher.
MATH 221 Discrete Mathematical Structures
CSCI 109 Principles of Computer Science
CSCI 159 Introduction to Programming
CSCI 169 Data Structures
CSCI 419 Computer Organization with Assembler
and any one of the following four courses
CSCI 269 Theory of Programming Languages
CSCI 369 Design and Analysis of Algorithms
CSCI 427 Operating Systems
CSCI
349 Theory of Computation
and any one of the following four courses
CSCI 139 Web Design and Development
CSCI 319 Database Management
CSCI 439 Data Communications and Networks
CIS 469 Systems Analysis
|