Computer Science Overview
Computer science is the discipline of managing complexity. Its fundamental concept is the algorithm: an outline of the steps to solve a problem. Programming is devising algorithms to solve problems; computer programming adds the dimension of implementing the algorithm in a computer language. The organization, problem-solving, and clear expression that go into a good computer program are the same key ingredients of a liberal arts and sciences education in any discipline.
THE COMPUTER SCIENCE CURRICULUM
A student's first course in computer science at Beloit is likely to be introduction to programming and algorithms. Here students learn to analyze a problem, devise an algorithm to solve it, and implement the algorithm in a computer language.
The next courses will be digital electronics and data structures. Students complete these first three courses by the end of the sophomore year, together with calculus and discrete mathematics. The data structures course includes learning the "object-oriented" paradigm of programming in the Java computer language.
In the junior and senior years students take at least five of the nine advanced courses offered. The "capstone" course is the software projects course, taken by juniors and seniors for 3 to 4 semesters during these last two years. This course emphasizes team programming, working on open source projects, and learning current programming tools, as well as reading and discussing problems and topics of current interest to computer professionals. In addition to regularly offered courses (listed in the catalog), the faculty offer advanced courses that reflect their research interests, such as networking, software engineering, advanced digital systems, artificial intelligence databases, and scientific visualization.
For students who are particularly interested in hardware aspects, Beloit offers 32 programs in cooperation with leading engineering universities in computer or electrical engineering.
We encourage students to pursue additional internship opportunities offered through Beloit, which have included programming and systems work for a local retail computer firm, payroll programming, database design, operation of mainframes at a local engineering firm, and software conversion.
Most majors share their expertise by working on campus. Many work for Beloit's Information and Technology Services office during the academic year or in the summer as user consultants, research assistants, systems programmers, Web masters, or UNIX system, laboratory, or project managers.
FUTURES IN COMPUTER SCIENCE
Most of our computer science majors enter the work force directly, taking starting positions as programmer-analysts, systems support personnel, network managers, or managers of computer centers. Some examples: one alumnus is a designer of controllers for industrial equipment, another developed microcomputer interfaces for oscilloscopes, and a third co-authored a commercial software package used in teaching genetics. Because many students are worried about the issue of outsourcing of computer jobs to other countries, it is worth noting that the types of jobs a Beloit College education prepares you for are exactly the types of jobs which are nearly impossible to outsource, because they are the ones that involve extensive interaction with other employees or clients in this country.
Courses such as Networks, Databases, and Software Projects have proven extremely popular with employers, as has experience in work-study jobs involving the Web, Unix system management, and the college-wide networks. Many of our graduates also attend graduate school at institutions such as Indiana University, University of California-Berkeley, University of Colorado, University of Michigan, and University of Wisconsin-Madison.