Computer Science

Curriculum

Our dedicated computer science faculty have expertise in cutting-edge topics such as artificial intelligence, high-performance computing, data science, database systems, software engineering, and ethics. Students typically complete one or more paid internships during their education. Computer science coursework, combined with exciting learning opportunities such as fully-funded summer research positions and access to top-notch research resources through unique collaborations, prepares students for careers where you can change the world or admission to top graduate programs in computer science such as Stanford and the University of Washington.

The computer science department supports these programs of study:

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.)