Information for Prospective Undergraduate

Computer Science Majors

Frequently Asked Questions

Following is information for students considering applying to the CSU computer science major as new freshmen, or as transfer students:

Is computer science for me?

Why should I consider computer science at CSU?

What is Computer Science?

Is Computer science the same as programming?

How is computer science different from computer engineering or computer information systems?

Is there a major that will help me to learn to repair computers?

What kinds of facilities do you have?

What courses should I take while in HS, or before I transfer to prepare to be a CS major?

What kinds of skills or talents do I need to succeed in computer science?

What are the requirements for a CS degree?

What kinds of jobs can I expect after graduating?

What is the average starting salary for people with a BSCS?

How do I apply to CSU?

Is computer science for me?

Computers are everywhere these days, and most people in our society will rely heavily on them in both their professional and personal lives. Computer Science (CS) is an exciting and vital field that is tremendously interesting and fun for many people, but not everyone who likes to use or program computers will enjoy majoring in this field. In general, the people who will be most successful in CS are those who will be really interested in learning the theory and techniques of how computer programs work. CS may or may not be a good fit for people who primarily are interested in doing things with computers. People who really like using computers but who aren't really interested in the underlying computation techniques for developing new applications will probably not enjoy a computer science major.

An analogy: if what you like is just playing games, CS probably will not be a good fit; if what you want to do is to program computers to play games, CS may or may not be a good degree choice; but if you are interested in the theory and practice of making games run really fast, or the precise mathematical techniques for putting the dots and shapes on the screen, CS is likely to be an excellent choice for you.

Another useful analogy may be the differences between people who want to drive cars, those who want to repair cars and fix engines and those that want to understand the internal combustion engine and design new engines. A CS major learns how to design new engines, but most will end up doing something closer to repairing and maintaining engines. If you just want to drive a car and never look under the hood, CS is not for you.

A Computer Science degree has a heavy mathematics component. Some of this math helps you directly in learning our CS curriculum, and all of it helps you develop ways of thinking and of viewing problems that are critical for computer scientists. If you really dislike math you are likely to find the first two years of CSU's CS program challenging. It sometimes comes as a surprise to new students that computer science has as much to do with math as it does with computers.

Students who are interested in applying computers to another field, for example, biology or chemistry, may wish to consider majoring in the other field with a minor or double major in computer science.

Why should I consider computer science at CSU?

While computer science degree requirements are pretty similar across the country, the school, the location, the faculty, and the other students can make the difference between an enlightening and enjoyable four years, and a stressful and unpleasant experience. Prospective students should consider the quality of the program they intend to major in as well as the atmosphere of the school itself.

The CS Department has 17 full-time, regular faculty. Professors teach most of the undergraduate courses and welcome contact with undergraduate students. Class size varies can vary considerably but is always under 100. Class size goes down to between 20 and 40 for more advanced courses. Computer laboratories are open long hours, including evenings and weekends.

What sets CSU's computer science program apart from others is its practical orientation, and its accessible and congenial faculty combined with cutting edge, world-class research. The CS department maintains close relations with information technology companies in the region, consulting with its Industrial Advisory Board for recommendations on improving its program. There are many opportunities for undergraduates to be involved in faculty research.

What is Computer Science?

Computer science is a remarkably young field. It was just over fifty years ago that the first electronic computers were developed, and there was no recognition at the time of computer science as a field of study separate from electrical engineering or mathematics. Over time, as computers became increasingly powerful and were applied to more and more tasks, people began to realize that the task of programming those computers to solve problems was an extremely difficult problem requiring theories and practice unlike those used in existing fields. Computer science-the science of solving problems with the aid of a computer-became a new discipline in its own right. Because of its importance to the modern world, computer science has now become an extremely exciting field of study and is likely to remain one well into the twenty-first century.

Computer science versus programming:

Many students are attracted to the computer science major because they find computer programming to be a challenging but enjoyable endeavor. While it is true that the computer science major includes a significant amount of programming, it is important to realize that there is a reason why the major is not called "computer programming." The reason for including the term science in computer science is that the theory of problem solving plays a large role in the application of computer technology to practical problems. Unfortunately, the emphasis society places on computer applications often tends to overshadow the science on which those applications are based. The science, however, is there nonetheless. Before you write most applications, you will need a good deal of background knowledge concerning data structures, algorithms, and the management of complexity. It is this knowledge from which the science part of computer science stems. Now that's not to say that your typical computer hacker writing yet another version of the Asteroids video game took years of computer science courses before writing the first line of code. However, once you are ready to cross the line between "hacking" and building maintainable applications, you must rely on a more fundamental knowledge of programming tools, concepts, and methodology. It is important to realize that computer science goes far beyond just concepts of programming, encompassing such diverse areas as discrete mathematics, logic, computer architecture, and numerical analysis. These theoretical foundations are fundamental to computer science and to the development of many programming applications.

How is computer science different from computer engineering or computer information systems?

Many people have a hard time distinguishing between different majors having to do with computers, and while there are some points of overlap, in general, the subject matter of each discipline is quite distinct.

Computer Engineering (ECE) is the study of the physical circuitry that makes up a computer. It is the study of the design of computers as specific kinds of electronic machines. It is therefore related to electrical engineering and requires the most mathematics.

Computer Science (CS) is the study of the instructions, or software, that tells a computer which tasks to perform. Computer science is about writing computer code in order to create user software applications from scratch (this is software engineering). It concerns the most basic kind of computer programming: the creation of operating systems, network software, user applications, and device drivers. This major requires considerable mathematical skill, though not as much as ECE.

Computer Information Systems is the study of the use of computers and computer software in a business or organizational environment. CIS majors study some programming, but usually not in as much technical depth as a CS major. By and large, CIS graduates are concerned with setting up systems, made up of commercially available hardware and software, to solve specific business problems, such as keeping track of inventories or expenses, or printing payroll checks.

One way to think of the difference is in terms of an analogy: if computer engineers and computer scientists design the car (hardware and software), the CIS folks drive the car.

Is there a major that will help me to learn to repair computers?

This is not normally the kind of thing taught in a University major, but is more likely to be a program available at a community college or vocational school.

What kinds of facilities do you have?

The department's computing facilities include 150 Unix-based systems (Sun, HP, Linux), 125 Windows-based systems, 28 X-terminals, and 5 Macintoshes. Of these systems, 85 Unix workstations and 22 Windows workstations are housed in open laboratories for general student use or available as servers on the department network. The rest are devoted solely to faculty and graduate student work and research. The Department network is connected to the campus backbone via a 100 Mbps link. The backbone is connected to the internet by both a 40 Mbps link to Internet One and a 150 Mbps link to Internet Two.

What courses should I take while in HS, or before I transfer to prepare to be a CS major?

High school students intending to major in computer science should take all the mathematics, science, and English they can.

Mathematics is especially important for computer science. New computer science (CS) majors tend to struggle for reasons that have very little to do with computers. More often than not, such struggles are rooted in weaknesses related to math. If you plan on getting a CS degree, you need to come to grips with one important fact first: computer science has as much to do with math as with computers.

In addition, students should take a computer programming course if possible. AP computer science will not only prepare you for a major in computer science, you can earn up to eight semesters of credit towards the degree.

Transfer students should have taken at least one calculus course, and a computer programming course, preferably in Java or C++.

What kinds of skills or talents do I need to succeed in computer science?

Students with strong mathematical problem solving skills and a willingness to spend a long time concentrating on small, precise details as part of a larger problem should do well in computer science.

What are the requirements for a CS degree?

The requirements for the CS majors can be found at CS Major Requirements.

What kinds of jobs can I expect after graduating?

A list of possible careers with a degree in computer science can be found by clicking on the following link: Careers in Computer Science.

What is the average starting salary for people with a BSCS?

In Fall 2003, 80% of graduates had job offers before graduation; the average starting salary for graduates of the computer science program was about $45,000.

How do I apply to CSU?

Call the Office of Admissions (970/491-6909) or go to: The Office of Admissions for further instructions.