This information is designed to help you explore computing related programs and opportunities at Western Michigan University.
Computer science is one of three computing disciplines offered at Western Michigan University. Our department offers programs of study that fall between the hardware oriented programs provided by the Department of Electrical and Computer Engineering in the College of Engineering and Applied Sciences and the business application programs offered by the Department of Business Information Systems in the Haworth College of Business.
How do these disciplines differ? Computer science students study mathematics and engineering along with computer science courses. Mathematics courses provide foundation knowledge to allow computer scientists to analyze both software and hardware performance and interactions. Engineering courses focus on practical aspects in design and implementation of hardware. Computer science courses target the analysis and design of algorithms and data structures. Students learn to design and implement programs and software systems using a variety of programming languages on several hardware platforms. Graduates of computer science programs have worked as entry level programmers, systems analysts, testers, designers, maintenance programmers, and software engineers. They have worked in both government and industry, in computer centers, as independent consultants, in research and development, and as applications programmers. Our students have gone on to graduate school and earned both masters and doctoral degrees in computer science. Graduates in our computer science programs now work around the globe, and some have started their own companies.
The Department of Computer Science offers two distinct major programs of study. Both lead to bachelor degrees in computer science through the College of Engineering and Applied Sciences. One program leads to a B.S. in Computer Science – Theory and Analysis. The other program leads to a B. S. in Computer Science – General. We feel that both programs offer excellent opportunities for students completing them. Neither is better than the other one. Both programs include a built-in minor concentration in mathematics (19 credit hours). Each program has a particular focus designed for students with different personalities and goals. We will describe both of these programs now and differentiate them.
The Computing Accreditation Commission of ABET, Inc., www.abet.org accredits this program. Of our two programs, it is most like engineering programs because it features more requirements in computer science, mathematics, engineering, physics, natural science, communications, ethics, and general education. These extra requirements mean that taking this program will be very difficult to double major in some other program or to seek a second minor. The program is more structured, but offers more technical content than our other major program (44 credit hours of computer science). If you seek a technology packed program and one that is highly structured, then you will like the Theory and Analysis major.
In addition to students who want the extra technical content, the Theory and Analysis program would be more appropriate to prepare them for employment with companies directly related to computing (e.g., hardware vendors and software developers). If you are interested in computer science research or would like to work in a computing center offering support to users and other programmers, you also might find the Theory and Analysis program more to your liking. In addition, the program provides excellent preparation for graduate education in computer science.
This computer science program is more flexible than our other program. It requires fewer computer science credit hours (39 credit hours) and few other requirements outside of mathematics and only one course in engineering. This tradeoff allows students to pursue a second major (or minor) field of concentration or to just take other courses of interest, either in computer science or in other disciplines.
If you like the freedom to elect courses outside of the program, this major could be quite appropriate for you. If you are seeking employment in applications areas, this program is also a good fit for you. Prior to the existence of the Theory and Analysis program, some graduates of this general program also successfully earned both doctoral and master’s degrees in computer science. Graduates have also worked directly within the computer industry.
It’s never too early to investigate and invest in a career opportunity, so we encourage you to make an appointment to discuss computer science with one of our advisors. Initially, you might just want to find out about the discipline and early courses you should take. Later, if you decide to major or minor in computer science, you will meet with an advisor who will help you plan a program (i.e., a series of courses in computer science and related disciplines) you will follow to graduation.
If you are considering a major or minor concentration in computer science but have no previous experience with programming computers or are not prepared to enroll in a precalculus course, you should first complete CS 1106 — Programming Logic and Design or some equivalent course. Many high schools and community colleges offer introductory courses in computing and in programming. You can improve your prospects by enrolling in one or two of these courses before beginning a computer science major or minor program. Furthermore, students should also possess a mathematics background sufficient for enrolling in MATH 1180 — Precalculus Mathematics. Some institutions offer this background as a course in college algebra and trigonometry. Students are placed into mathematics courses based on ACT or SAT scores or prior mathematics work at the college level.
Computer science majors and minors all take a group of common courses early in their programs. This common core of courses gives you a firm foundation in the discipline. It also allows more freedom to switch between a number of computer science majors or from minor to major or major to minor programs.
The Department of Computer Science encourages you to consider pursuing undergraduate research as part of your education. If you are enrolled in the accredited program (B.S. degree in Computer Science – Theory and Analysis), you can request permission to pursue supervised research as a for-credit elective under the umbrella courses: CS 4990 — Undergraduate Research in Computer Science or CS 5990 – Independent Study in Computer Science.
In order to officially enroll in a program in computer science, you must see a departmental advisor to complete program forms. We encourage you to sign up for a program in computer science as soon as you can. This will allow us to give you better counseling. It will also eliminate the possibility of you enrolling in courses that will not be suitable for a particular program. If you are interested in our Theory and Analysis Major, which is accredited, you should see an advisor as soon as possible. This program has a number of specific requirements scattered throughout your curriculum schedule.