Computer Science


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

Fall 2021 Classes:

  • CSCI 150 Introduction to the Science of Computing
  • CSCI 160 Problem Solving, Programming and Computers
  • CSCI 200 Data Structures
  • CSCI 217A Programming Contest Team
  • CSCI 239 Discrete Computational Structures
  • CSCI 312/332 Networks/Machine Learning with Big Data
  • CSCI 330 Software Engineering
  • CSCI 339 Theoretical Foundations
  • CSCI 369 Ethical Issues in Computing
  • CSCI 373 Senior Research in Computer Science
Contact the Computer Science Department
College of Saint Benedict
Saint John’s University

Imad Rahal
Chair, Computer Science Department
CSB Main 262