- An ability to apply mathematical foundations, algorithmic principles, and computer science theory and practice
- An ability to model, design, implement and test software systems in a way that demonstrates comprehension of the trade-offs involved in design and implementation choices
- An ability to learn to use new design methodologies, operating systems, languages, and other software development tools within reasonable time constraints
- An ability to function effectively on teams related to software development
- An ability to communicate with others, both orally and in writing, about technical subjects
- An understanding of professional, ethical and social responsibilities
- Preparation to do continual learning throughout alumni careers, to include such things as pursuing advanced degrees, attending short courses, reading technical or trade journals, participating in sabbaticals, etc.
- Preparation to pursue careers in all branches of computer science including technical development, project management, and technical sales
1. Illuminate—lifelong learning in computer science:
a. Alumni will be prepared to learn on their own whatever is required to stay current in their chosen profession, for example, learning new programming languages, algorithms, developmental methodologies, etc.
2. Investigate—demonstration of computer science principles:
a. Alumni should have the ability to find and access information relevant to an application under development.
b. Alumni should have the ability to model various problem domains and convert them into software solutions.
c. Alumni should have the ability to apply techniques of algorithm design and automata theory to new problem solving situations.
d. Alumni should demonstrate the ability to draw upon the expertise of others and negotiate solutions to a problem as a productive technical team member.
e. Alumni should demonstrate an understanding of the impact of computer problem solutions in a global, economic, environmental, and societal context.
3. Innovate—creative application of computer science principles
a. Alumni should be able to generate new and innovative solutions to solve problems or meet requirements in their discipline.
b. Alumni should be able to integrate global, economic, environmental, and societal considerations into their problem solutions.
The bachelor of science degree in Computer Science requires the following:
- completion of at least 128 hours
- a minimum 2.0 average in all CS courses taken, in all CS 4000-level (or higher) courses taken, and in all CU courses taken
- a senior exit interview conducted the semester you graduate.
The courses for the degree are outlined as follows:
Mathematics (21 Credit Hours)
Science (14 Credit Hours)
Selected from classes below (5 credit hours):
Computer Science Core (38 Credit Hours)
Computer Science Electives (9 Credit Hours)
CS 4010-4890 or 5020-5990 (9 credit hours)
Technical Electives (9 Credit Hours)
Select from following list:
- COMPUTER SCIENCE (3000 level or above)
- ELECTRICAL AND COMPUTER ENGINEERING (2000 level or above, except ECE 2400)
- GAME DESIGN AND DEVELOPMENT (3000 level or above)
- MATHEMATICS (3000 level or above, except MATH 4650)
- SCIENCE (additional courses fromthe list above or courses with prerequisites from above list)
- BUSINESS (3000 level or above, except 3010, 3020 or 3030)
Humanities and Social Science (24 Credit Hours)
CS 3050 Social and Ethical Implications of Computing, 1 credit hour, REQUIRED.
The remaining 23 credit hours involve study in humanities, social sciences, arts, and other disciplines that serve to broaden the background of the student.
Courses in the following departments and programs satisfy this requirement:
- Anthropology (except courses on human biology and ecology), Art History, Communication, Economics, English (1500 or above except 2080, 3010, and 3070-3160), Film, Foreign Culture Studies, Foreign Languages, History, Humanities, Interdepartmental Studies 1010, Music (except university choir and private instruction courses), Philosophy, Political Science, Psychology, Religious Studies, Sociology, and Women’s Studies. Students may also petition to include selected other courses in Interdepartmental Studies, Theater, or other departments.
Communications Skills (6 Credit Hours)
Free Electives (7 Credit Hours)
Any course that is a prerequisite course for a required course may not be counted as a free elective. A maximum of 3 credit hours of CS courses numbered less than CS 1100 can be used as free electives, provided they are taken prior to a CS course numbered 1160 or greater. Six credit hours of 2000-level CS courses may be taken as free electives. At most, 3 credit hours of free electives may be taken in a particular programming language. Students planning to later enter a graduate program in computer science or electrical engineering are advised to take at least 6 hours of CS or ECE electives at the 3000 or 4000 levels. Students who complete their ROTC programs and receive their commissions are allowed up to six semester hours of ROTC course work as free electives toward their computer science degree.