Students in computer science gain experience in how computers work together in building networks like the Internet, how teams of people build systems, and how computers can be made to behave like people. Students learn the principles of how computers and the languages that run on them are designed, how to write good and well-structured programs, and how to analyze how fast a problem can be solved. The fundamentals of computer science include programming systems and languages, computer architecture, data structures, algorithm design, operating systems, databases, computer networks, image processing and recognition, and artificial intelligence.
As well, students study the modeling of real-life systems on computers, often using numerical models of continuous physical systems. This is especially related to biology.
As well as computer science courses, students take courses in business, mathematics, psychology, and various other subjects depending on their ultimate concentration of choice. This allows student to gain experience in creating state-of-the-art computer systems that support the needs and goals of modern businesses. To better understand the various computer science environments, topics such as data communications, operating systems, and distributed systems are covered as well.
Many programs incorporate a practicum, where students get to work on a project of their choice, or work for various companies in the industry, in order to put their classroom theory into practice.