The Computer Science department supports four programs of study:
- Bachelor of Arts in Computer Science
- Bachelor of Arts in Numerical Computation
- Computer Science minor
- Pre-Computer Engineering program
Computer science is the study of computation. The computation we study is rarely arithmetic, though - often the computation is more symbolic. We might ask about how to compute a good move in chess. Or we might ask how to draw a picture of a three-dimensional scene. As computer scientists, we look for models of computation. And we ask what we can - or cannot - do with these models.
Computer scientists learn to program computers, because a program is an excellent way of precisely describing a particular computational technique. We also study programming as a profession because it is an important job in today's society.
Thus, a computer science student can expect to study all of the following questions.
- How do you design an algorithm, (a step by step plan), to solve a problem?
- How do you write a computer program to implement your plan?
- How can you analyze a program's speed?
- How does a computer work to execute a program?
- What social responsibilities do programmers have?
- How can we develop reliable software systems?
- What are the mathematical properties of computation?
You can expect a large emphasis on computer programming and on mathematics.
Equally important is what computer science is not. It does not emphasize the use of computers in a corporate environment. You can liken it to the difference between an aerospace engineer and an airplane pilot; computer science is more like aerospace engineering. Computer science students do not learn how to use spreadsheets, word processors and other application programs as part of their study of computer science, but may develop those skills on their own or through workshops offered on campus. When we study operating systems or networks, we emphasize the internals, not how they should be configured for use. If you want to study these topics, you want to look for an information technology or information systems program. (Many schools offer a major in information systems; CSB/SJU does not at this time.)
We also are not computer engineering. Computer engineering emphasizes how computer hardware works. Computer science students learn about the fundamentals, but only as much as needed to understand how computer software works. (CSB/SJU does not offer a major in computer engineering, but we do have an agreement with the University of Minnesota where a student can study with us for two or three years and then go to U of M to complete the engineering degree.)
- CSCI 130 Concepts of Computing: Business and Society
- CSCI 140 Concepts of Computing: Science and Mathematics
- CSCI 150 Introduction to the Science of Computing
- CSCI 160 Problem Solving, Programming and Computers
- CSCI 230 Software Development
- CSCI 281 Problem Solving
- CSCI 310 Computer Organization
- CSCI 317 Data Intelligence
- CSCI 321 Computer Graphics
- CSCI 338 Algorithm Design and Analysis
- CSCI 373 Senior Research in Computer Science