Computer Science, BS
The universe of computer science jobs never stops expanding—especially when you earn your computer science degree at Oakland University. Our industrial partnerships in Southeast Michigan’s famed “Automation Alley” create unique career opportunities for computer science majors. You’ll work with the most current computer science technologies and get introduced to next-generation applications that are redefining what computer science is. In addition, our computer science degree equips you with professional polish and versatility that gives you an edge in the computer science job market. Our CS program is accredited by the CAC Accreditation Commission of ABET, https://www.abet.org, under the General Criteria and the Computing Program Criteria. Oakland University’s computer science degree prepares a diverse student population for an equally diverse range of computer science jobs.
Requirements for the major in Computer Science, B.S. program
The program in computer science leading to a Bachelor of Science degree prepares students for a productive career in industry, and for graduate study in computer science. The program prepares the students for a productive career in industry by providing them with the technical skills to formulate suitable abstractions, create novel computational solutions, design complex systems, and improve on existing solutions integrating current and emerging technologies. The program prepares the students for lifelong learning and graduate school by providing them with the theoretical foundations of information and computation and exposing them to areas of current and future developments. The program also includes a strong professional component for the development of skills in technical communication, ethics, and teamwork. The BS in Computer Science program is accredited by he CAC Accreditation Commission of ABET, https://www.abet.org, under the General Criteria and the Computing Program Criteria.
Program educational objectives
In the course of their careers, graduates of the Computer Science program will:
- Work productively in the creation, maintenance, and improvement of computing systems.
- Remain current in their profession through lifelong learning, including graduate school.
- Exhibit leadership and exercise their profession with the highest level of ethics, and social responsibility.
Course requirements (minimum of 128 total credits)
To earn the Bachelor of Science degree with a major in computer science students must complete a minimum of 128 credits and meet the following core requirements, in addition to OU general requirements:
Required professional subjects
- CSI 3370 – Software Engineering and Practice (4)
- CSI 3430 – Theory of Computation (4)
- CSI 3450 – Database Design and Implementation (4)
- CSI 3610 – Design and Analysis of Algorithm (4)
- CSI 3640 – Computer Organization (4)
- CSI 4350 – Programming Languages (4)
- CSI 4480 – Information Security Practices (4)
- CSI 4500 – Fundamentals of Operating Systems (4)
- CSI 4650 – Parallel and Distributed Computing (4)
- CSI 4999 – Senior Capstone Project (4)
Professional track
Select two courses from one of the following professional tracks:
Computational Intelligence Track
System Administration Track
Bioinformatics Track
Cybersecurity Track
- CSI 4460 – Information Security (4)
- CSI 4700 – Software Security (4)
- APM 4347 – Mathematics of Cryptology (4)
Game Development Track
Mobile Applications Development Track
Web Development Track
Students following older catalogs will be able to count courses under one of the tracks listed above to satisfy their professional track requirements.
Professional electives
Take 5 credits from the following courses.
Any 3000, 4000, or 5000 level engineering or computer science or information technology courses. No more than 1-credit of CSI 4950 (Internship) can be used to fulfill the professional electives requirement. Courses at the 5000-level require approval of the instructor.
No more than one of the following 2000 level courses:
- CSI 2320 – C++ for Programmers (2)
- CSI 2330 – Immersive Python (2)
- CSI 2340 – Ruby for Web Developers (2)
- CSI 2350 – Programming in Visual C# for .NET Technology (2)
Any math, science or engineering elective from the following:
- APM 2555 – Introduction to Differential Equations with Matrix Algebra (4)
- APM 3332 – Applied Matrix Theory (4)
- APM 4333 – Numerical Methods (4)
- APM 4334 – Applied Numerical Methods: Matrix Methods (4)
- APM 4663 – Graph Theory and Combinatorial Mathematics (4)
- APM 4777 – Computer Algebra (4)
- EGR 2400 – Introduction to Electrical and Computer Engineering (4)
- MTH 3552 – Complex Variables (4)
- MOR 2442 – Elementary Models in Operations Research (4)
- PHY 1110 – General Physics Lab II (1)
- PHY 3250 – Biological Physics (4)
- PHY 3260 – Medical Physics (4)
- PHY 3310 – Optics (4)
- PHY 3660 – Vibrations and Waves (4)
- PHY 3710 – Foundations of Modern Physics (4)
- Students who are interested in other upper level mathematical and natural sciences courses to satisfy their professional electives requirements should consult an academic adviser.
Minimum credit hour requirements in mathematics and sciences
Students must complete all five required mathematics and statistics courses for a minimum of 15 credits. Students with fewer than 15 credits of required mathematics and statistics, for example due to transfers from another institution, must take additional courses to satisfy the requirement. Any additional course must be approved by a petition of exception.
Students must complete an approved science elective and an approved science elective with lab for a minimum of 6 credits. Students with fewer than 6 credits of sciences, for example due to transfers from another institution, must take additional courses to satisfy the requirements. Any additional course must be approved by a petition of exception.
Major standing
To enroll in 3000- or higher level courses and to become candidates for the degree of Bachelor of Science with a major in Computer Science, students must gain major standing. An application for major standing should be submitted prior to intended enrollment in 3000- or higher level courses. Forms may be obtained from the SECS Undergraduate Advising Office or from the SECS website. At the time that major standing is approved, students with majors of Pre-Computer Science will have their major changed to Computer Science. Approval of both a major standing application and change of major to Computer Science is required prior to enrolling in any 3000- or higher-level courses.
To gain major standing in Computer Science, students must:
A) have an average GPA of 2.0 in the following mathematics and science courses: MTH 1554, MTH 1555, MTH 2775, APM 2663, an approved science elective, and an approved science elective with lab.
B) have an average GPA of 2.0 in the following computer science core courses: CSI 1420, CSI 2300, CSI 2310, CSI 2470, and CSI 2999.
C) have no more than two grades below C in the courses listed in A and B above.
D) have not attempted any course listed in A and B above more than three times.
E) have not repeated more than three different courses listed in A and B. Courses in which a W (withdrawal) grade is recorded will not be counted.
Conditional major standing may be granted in the semester in which the student will complete requirements A and B above.
Students who have questions about petition of exception, transfer credit, academic standing, major standing, or any other aspects of their degree programs should consult an academic adviser and other relevant sections of the undergraduate catalog.
Performance requirements
Satisfactory completion of the program requires an average grade of at least 2.0 within each group: mathematics and sciences, computer science core, and professional courses (including required professional subjects, professional electives, and professional track). Within the professional courses at most two different courses may be repeated, a total of three attempts per course is permitted, and at most two grades below C are permitted. A grade of C or better in CSI 4999 (Senior Capstone Project) must be received.