Academics»Computer Science
learn-more-icon.gif

Computer Science

Professors Roos, Cupper, Jadud, Kapfhammer

Computer Science is about computers and computation; the essence of the discipline is the study of algorithms--the design, development and characterization of algorithms, their realization as computer programs, the analysis of the correctness and efficiency of algorithms, and the limitations of the algorithmic method as an approach to problem solving. The department's offerings include an introduction to the discipline including programming, data structures, and discrete mathematics; core courses in theoretical computer science, computer languages, computer organization, algorithm analysis and software systems design; advanced courses in compiler design, operating systems and distributed systems; and a variety of applications and electives. The human dimensions of computing--social, professional and ethical implications--are treated throughout the department's courses. The Computer Science programs have an integral laboratory component--nearly all of the courses include a weekly formal laboratory session to provide for practice and experimentation utilizing the principles learned in the classroom and from the course texts. The laboratory component affords the opportunity for hands-on experience with several computing and network systems. The Department has laboratories adjacent to faculty offices and classrooms in Alden Hall including an advanced-technology computer science classroom, facilitating interactive learning; a software development laboratory designed for group work on large software systems; and a laboratory for advanced coursework and research.

The study of computer science leads to and requires the ability to analyze ideas, to think logically, and to communicate ideas clearly and concisely. In this way, study of computer science contributes to the foundation of an excellent liberal arts education.

Programs

The major and minor field programs are designed to provide a solid academic basis in the principles of computer science combined with practical experience in software systems design, implementation and analysis. Courses are divided into four categories: basic courses, core courses, advanced courses and applications. There are two majors in computing, Computer Science and Applied Computing, and several interest-focused minors.

The Computer Science major is designed to prepare students for advanced study of computer science or any of a variety of positions in the computing industry or in other industries requiring computing expertise. The Applied Computing major is designed to prepare students for entry level software development positions or entrepreneurial and management positions in computing and computing related areas.

The Computer Science Major

The major in Computer Science requires successful completion of at least 44 semester hours in Computer Science. A student seeking a Bachelor of Science degree in Computer Science must complete the three basic courses, Computer Science 111 and 112, and Mathematics 205 (see Mathematics course descriptions); four core courses, Computer Science 210, 220, 230, and 250; plus one or more advanced courses, Computer Science 420, 440, or 441; and two Computer Science electives. Computer Science electives may be chosen from courses listed in the core, applications and advanced categories below, or in some cases, special topics courses (Computer Science 490) or independent study courses (Computer Science 590). Additionally, students pursuing the major in Computer Science must complete a mathematics unit consisting of two courses to be chosen from Mathematics 320, 325, 345, 360, and 365, or, with approval of the faculty of the Department of Computer Science, some special topics courses in mathematics (those numbered 490 through 499). Students who plan to pursue graduate studies in Computer Science are encouraged to also complete the calculus sequence through Mathematics 210. As a capstone to the major in Computer Science, the student must complete the Junior Seminar (Computer Science 580), and write and defend a Senior Thesis (Computer Science 600 and 610).

The Applied Computing Major

Students seeking to major in Applied Computing must select either the Software Development track or the Management and Entrepreneurship track.

The Software Development Track
The major in the Software Development track of the Applied Computing major requires successful completion of at least 44 semester hours in computer science, four semester hours in economics, and 12 semester hours in mathematics. Students must complete:
1. Four basic courses, Computer Science 111 and 112, Mathematics 205, and Economics 100.
2. Four core courses, Computer Science 210, 220, 250, and 290.
3. One advanced course, Computer Science 440 or 441.
4. One applications course: Computer Science 370, 380, or 381.
5. An internship sequence consisting of Computer Science 550, an internship approved by the department faculty, and Computer Science 551. If, after completion of CS 550, the student is unable to obtain an internship meeting the department's guidelines, the department may allow a substitute requirement. In any case, the student must complete CS 550 and 551.
6. A mathematics unit consisting of Mathematics 170, and either Mathematics 320, 345, 360, or 365. 7. As a capstone, the student must complete the Junior Seminar (Computer Science 580), and prepare and defend a Senior Project (Computer Science 600 and 601).

The Management and Entrepreneurship Track
The major in the Management and Entrepreneurship track of the Applied Computing major requires successful completion of at least 32 semester hours in computer science, 20 semester hours in economics, four semester hours in mathematics, and eight semester hours of research project (junior seminar and senior project) in the student's choice of computer science or economics. Students must complete
1. Four basic courses, Computer Science 111 and 112, Mathematics 205, and Economics 100.
2. Five core courses: Computer Science 210, 220, and 250, and Economics 240 and 300
3. One advanced course, Computer Science 440.
4. One application course, Computer Science 380 or 381.
5. An economics component consisting of Economics 320 and either Economics 290 or 440.
6. An internship sequence consisting of Computer Science 550, an internship approved by the department faculty, and Computer Science 551.
7. As capstone, the student must complete an independent research project made up of a Junior Seminar and a Senior Project (Computer Science 580, 600, and 601 or Economics 580-589 and 600 and 610).

To graduate with a major in Computer Science or Applied Computing, a student must have an earned GPA of at least 2.0 in required Computer Science and other courses presented for the major.

The Minor

The minor in Computer Science requires the completion of at least 20 semester hours of course work in Computer Science including at least 12 semester hours from courses numbered 200 and above. Course sequences for various interests follow:

Theory of Computing
Computer Science 111, 112, 210, 230, and 250;
Computer Architecture
Computer Science 111, 112, 210, and two of 220, 250, 420, 440, or 441;
Computer Languages
Computer Science 111, 112, 210, 220, 230, and 420;
Computer Systems
Computer Science 111, 112, 210, 220, and 440 or 441;
Artificial Intelligence
Computer Science 111, 112, 210, 220, and 370;
Computers, Databases, and Data Transmission
Computer Science 111, 112, 210, 380, and 381;
Computers and Mathematics
Computer Science 111, 112, 230, 250, and 360;
Computer Applications
Computer Science 111, 112, and three of the following: 360, 370, 380, and 381;
Software Systems Design
Computer Science 111, 112, 210, 220, and 290;
Computer Interface Design
Computer Science 111, 112, 210, 290, and 390.

With the exception of Computer Science 111, no course presented for the major or minor in Computer Science may be taken on the Credit/No Credit grade basis.

Unless otherwise noted, all Computer Science courses count as four semester credit hours.

Basic Courses

Core Courses

Applications

Advanced Courses

Internships

Other Courses