Computer Science (B.A.)
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.
Concrete objectives of the program are:
- to prepare students for careers in computer science.
- to prepare students for entry into graduate programs in computer science.
A student who graduates from Thiel College with a major in computer science will:
- be able to apply a variety of problem-solving techniques to design algorithms.
- be able to design, implement and test intermediate-level computer programs to meet a specific set of requirements using a high-level programming language.
- understand the theoretical foundations of programming languages and data structures and possess the ability to transfer knowledge of existing languages to new ones.
- understand the software development life cycle and possess the ability to use various modeling techniques and tools to aid in the software design and documentation processes.
- understand the theoretical foundations of databases and possess the ability to design, build and maintain a relational database system.
- understand the theoretical foundations of system software, including various operating systems and possess the ability to transfer knowledge of current systems to new ones.
- understand societal challenges and the ethical responsibilities of the computer science professional.
- understand both the possibilities and limitations of computer technology.
- be able to quantitatively analyze possible solutions to a problem.
- be able to work effectively as a member of a development team.
- understand the basics of integral and differential calculus, statistics and discrete mathematics.
All courses that are applied to the major must be completed with a grade of C minus or higher.
To satisfy the prerequisite for a course, the student must earn a C minus or higher in the listed course(s). A prerequisite may always be waived for selected students by permission of the instructor. Junior or senior standing is required for courses numbered 300 and above.
Computer science majors intending to attend graduate school are strongly encouraged to pursue a minor in mathematics at Thiel.
- MATH 181 Calculus I (4 CH)
- MATH 182 Calculus II (4 CH)
- MATH 211 Elementary Statistics (4 CH)
- MATH 221 Discrete Mathematical Structures (3 CH)
- CSCI 109 Principles of Computer Science (3 CH)
- CSCI 159 Introduction to Programming (4 CH)
- CSCI 169 Data Structures (4 CH)
- CSCI 269 Theory of Programming Languages (4 CH)
- CSCI 319 Database Management (4 CH)
- Choose one of the following two courses:
- CSCI 347 Theory of Computation (3 CH)
- CSCI 369 Design and Analysis of Algorithms (3 CH)
- CSCI 419 Computer Organization with Assembler (4 CH)
- CSCI 427 Operating Systems (3 CH)
- CSCI 300+ any 300-level course or higher (3-4 CH)