Skip to Main Content

Computer Science

Download as PDF

Program Requirements

The program leading to a Bachelor of Science degree in Computer Science equips students for a successful career in the industry and graduate studies in diverse disciplines. It emphasizes the development of crucial skills, such as formulating abstract concepts, creating innovative computational solutions, designing complex systems, and incorporating cutting-edge technologies. The curriculum not only establishes a robust foundation for lifelong learning but also integrates theoretical principles in information and computation, keeping students informed about the latest developments. With a strong focus on professional development, encompassing technical communication, ethical considerations, and teamwork, the program ensures that graduates are well-prepared for the dynamic demands of the computing landscape. The Bachelor of Science in Computer Science program is accredited by the Computing Accreditation Commission of ABET.

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.

Requirements for the Major in Computer Science, B.S. Program


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 requirements:

General Education Requirements


In order to graduate on-schedule without taking additional courses, it is highly recommended that students meet with an Undergraduate Academic Adviser concerning the selection of all of their General Education courses.

Each candidate for an Oakland University baccalaureate will need to satisfactorily complete approved courses in each of the following areas: Foundations, Explorations, Integration, Writing Intensive, and US Diversity. For details, refer to the General Education Requirements section of the catalog. In order to satisfy both General Education and other program requirements, in some of the general education areas students should select from the courses listed below.

Foundations

  • Writing Foundations (course)

  • Formal Reasoning (Satisfied by course; see Quantitative Foundations)

Explorations: 1 Course from Each of the 7 Explorations Areas

  • Arts

  • Language and Culture

  • Global Perspective

  • Literature

  • Natural Science and Technology (Satisfied by an approved science elective with lab)

  • Social Science

  • Western Civilization (Satisfied by course; see Additional Major Requirements)

Integration

  • Knowledge Applications (Satisfied by course; see Quantitative Foundations)

U.S. Diversity

  • May be met by an approved course in the Explorations Area.

Writing Intensive and Capstone

  • Capstone (Satisfied by course; see Required Professional Subjects)

  • Writing Intensive in the Major (Satisfied by course; see Required Professional Subjects)

  • Writing Intensive in General Education (may be met by an approved course in the Explorations Area)

Additional Major Requirements

All students must complete the following requirement.

  • Professional Ethics: course Introduction to Ethics in Science and Engineering

Quantitative Foundations


  • course Calculus I (4)

  • course Calculus II (4)

  • course Discrete Structures with Applications (4)
    or course Discrete Mathematics (4) 

  • course Computational Linear Algebra (4)
    or course Linear Algebra (4) 

  • course Applied Probability and Statistics (4)

Approved Science Elective with Lab


Take 1 of the following biology, chemistry, or physics courses with the corresponding laboratory:

  • course Biology I (4) and course Biology Laboratory (1) 

  • course Biology II (4) and course Biology Laboratory (1) 

  • course General Chemistry I (4) and course General Chemistry Laboratory I (1) 

  • course Introductory Physics I (4) and course General Physics Lab I (1) 

Computer Science Core


  • course Introduction to Python Programming and Unix (4) *

  • course Object-Oriented Computing (4)

  • course Data Structures (4)

  • course Programming in C (2)
    or course C++ for Programmers (2)

  • course Introduction to Computer Networks (4)

*Students who already have credit for at least 1 of course or course, for example due to transfer from another institution, can use course and course together to fulfill the combined requirements for course and either course or course.

Required Professional Subjects


  • course Software Engineering and Practice (4)

  • course Theory of Computation (4)

  • course Design and Analysis of Algorithms (4)

  • course Database Design and Implementation (4)

  • course Security and Privacy in Computing (4)

  • course Computer Organization (4)

  • course Programming Languages (4)

  • course Operating Systems (4)

  • course Parallel and Distributed Computing (3)

  • course Senior Capstone Project (4)

Professional Electives


Students must complete 3 courses as part of the professional electives requirements. Courses can be selected from within 1 area if the student has a particular academic interest or any combination of courses listed under different areas.

Artificial Intelligence Area


  • course Artificial Intelligence (4)

  • course Deep Learning and Applications (4)

  • course Machine Learning (4)

  • course Natural Language Processing (4)

  • course Visual Computing (4)

  • course Information Retrieval and Knowledge Discovery (4)

Computer Systems and Networking Area


  • course System Administration (4)

  • course AI for IT Operations (4)

  • course Cloud Computing (4)

  • course IT Project Management (4)

  • course Computer Networks (4)

  • course Enterprise System Administration (4)

Cybersecurity Area


  • course Software Verification and Testing (4)

  • course Information Security (4)

  • course Information Security Practices (4)

  • course Mobile Security (4)

  • course Network Security (4)

  • course Software Security (4)

Data Science Area


  • course Data Visualization (3)

  • course Contemporary Issues in Data Science (3)

  • course Database System I (4)

  • course Bioinformatics (4)

  • course Big Data Analysis with Cloud Computing (4)

Game Development Area


Web and Mobile Systems Area


  • course Web and Mobile Systems (4)

  • course Integrated Computing Systems (4)

  • course Android Application Development (4)

  • course Advanced Web Design Application (4)

Note


course (Special Topics), course (Undergraduate Research), and course (Independent Study) may also count toward fulfilling the professional electives requirement, provided each course is at least 3 credits. General elective credits may be needed to meet the minimum of 128 credits required for the degree, depending on the chosen professional electives courses. Students following this catalog may apply any future courses introduced within the professional electives to meet the professional electives requirement.

Flexible Electives


Students must complete a minimum of 6 additional credits in flexible electives. Flexible elective courses can be chosen from 3000-level or higher courses in CSI, BE, ECE, ISE, ME, APM, MOR, MTH, STA, BIO, CHM, or PHY, or from the approved courses listed below. No more than 2 credit of course (Internship) can be used to fulfill the flexible electives requirement. Additionally, courses at the 5000-level require approval from the instructor.

Approved flexible elective courses:*

  • course Immersive Python (2)

  • course Ruby for Web Developers (2)

  • course Programming in Visual C# for .NET Technology (2)

  • course Programming in C (2)

  • course Fundamentals of Cybersecurity (4)

  • course Introduction to Artificial Intelligence (4)

  • course Introduction to Data Science in Python (4)

  • course Introduction to Differential Equations with Matrix Algebra (4)

  • course Introduction to Electrical and Computer Engineering (4)

*Students can receive credit for either course or course, but not both. Similarly, credit can be received for either course or course, but not both.

Minimum Credit Hour Requirements in Quantitative Foundations


Students must complete all 5 required quantitative foundations courses for a minimum of 15 credits. Students with fewer than 15 credits of required quantitative foundations, 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.

Optional Concentrations


The Computer Science and Engineering Department offers optional major-dependent concentrations to any student enrolled in the Bachelor of Science degree in Computer Science. These concentrations aim to broaden students’ knowledge in specific areas. The concentrations will be noted on the transcript of the students. To earn a concentration as part of the Bachelor of Science degree in Computer Science, students must fulfill all the requirements of the Bachelor of Science degree in Computer Science and complete a minimum of 15 credits by selecting specific courses. These selected courses also count towards fulfilling the professional and flexible electives requirements of the Bachelor of Science degree in Computer Science. Please refer to the individual concentration requirements for more details. Students interested in the concentration should consult an Academic Adviser for guidance on course selection. The following major-dependent concentrations are available to students enrolled in the Bachelor of Science degree in Computer Science:


Concentration in Artificial Intelligence


Students are required to take 4 courses from Group A and Group B, at least 1 of which should be from Group A.

Group A:

  • course Artificial Intelligence (4)

  • course Deep Learning and Applications (4)

  • course Machine Learning (4)

Group B:

  • course Natural Language Processing (4)

  • course Visual Computing (4)

  • course Information Retrieval and Knowledge Discovery (4)

Concentration in Computer Systems and Networking


Students are required to take all 3 courses from Group A and 1 course from Group B.

Group A:

  • course System Administration (4)

  • course Computer Networks (4)

  • course Enterprise System Administration (4)

Group B:

  • course Script Programming (4)

  • course AI for IT Operations (4)

  • course Cloud Computing (4)

  • course IT Project Management (4)

Concentration in Cybersecurity


Students are required to take both courses from Group A, 1 from Group B, and 1 from either Group B or Group C.

Group A:

  • course Information Security (4)

  • course Information Security Practices (4)

Group B:

Group C:

  • course System Administration (4)

  • course Script Programming (4)

  • course Computer Networks (4)

  • course Enterprise System Administration (4)

Concentration in Data Science


Students are required to take 4 courses: both courses from Group A, 0 or 1 from Group B, and the rest from Group C.

Group A:

  • course Introduction to Data Science in Python (4)

  • course Big Data Analysis with Cloud Computing (4)

Group B:

  • course Data Visualization (3)

  • course Contemporary Issues in Data Science (3)

Group C:

  • course Database System I (4)

  • course Information Retrieval and Knowledge Discovery (4)

Concentration in Game Development


Students are required to take all 3 courses from Group A and 1 course from Group B.

Group A:

Group B:

  • course Web and Mobile Systems (4)

  • course Android Application Development (4)

Concentration in Web and Mobile Systems


Students are required to take 3 courses from Group A and 1 course from Group B.

Group A:

  • course Web and Mobile Systems (4)

  • course Integrated Computing Systems (4)

  • course Android Application Development (4)

Group B:

  • course Script Programming (4)

  • course Cloud Computing (4)

  • course Advanced Web Design Application (4)

Computer Science and Data Science Double Major


Students interested in pursuing a double major in Computer Science and Data Science are encouraged to consult with an Academic Adviser for a 9-semester course plan.

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. Students can obtain the major standing form from the SECS Undergraduate Advising 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:

• have a minimum average GPA of 2.0 in major standing courses which consist of course, course, course or course, approved science elective with lab, coursecourse, course, and course;

• have no more than 2 grades with C-, D+, or D in the major standing courses;

• have not attempted any major standing course more than 3 times; and

• have not repeated more than 3 different major standing courses, with courses bearing a W (withdrawal) grade not being counted.

Conditional major standing, which permits students to register for 3000- or 4000-level SECS courses, will be granted in the semester during which the student will fulfill requirements for major standing courses.

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: quantitative foundations and approved science elective with lab; computer science core; and professional courses (including required professional subjects, professional electives, and flexible electives). Within the professional courses at most 2 different courses may be repeated, a total of 3 attempts per course is permitted, and at most 2 grades below C are permitted. A grade of C or better in course (Senior Capstone Project) must be received.

Sample Computer Science Schedule


Students entering the School of Engineering and Computer Science with the required background may follow a schedule such as the one indicated below. However, students will need additional time to complete the program if they do not have the required background upon entrance to the program.

Freshman Year


Fall Semester – 16 credits

  • course Calculus I (4) 

  • course Introduction to Python Programming and Unix (4) 

  • General Education (4)

  • General Education (4)

Winter Semester – 17 credits

  • course Object-Oriented Computing (4)

  • course Calculus II (4)

  • Approved Science Elective with Lab (5)

  • General Education (4)

Sophomore Year


Fall Semester – 16 credits

  • course Discrete Structures with Applications (4) 
    or course Discrete Mathematics (4) 

  • course Data Structures (4) 

  • General Education (4)

  • General Education (4)

Winter Semester – 18 credits

  • course Programming in C (2)
    or course C++ for Programmers (2)

  • course Computational Linear Algebra (4)
    or course Linear Algebra (4) 

  • course Introduction to Computer Networks (4)

  • General Education (4)

  • General Education (4)

Junior Year


Fall Semester – 16 credits

  • course Applied Probability and Statistics (4) 

  • course Security and Privacy in Computing (4) 

  • course Design and Analysis of Algorithms (4) 

  • course Computer Organization (4) 

Winter Semester – 15 credits

  • course Software Engineering and Practice (4) 

  • course Theory of Computation (4) 

  • course Parallel and Distributed Computing (3)  

  • Professional Elective (4)

Senior Year


Fall Semester – 16 credits

  • course Database Design and Implementation (4) 

  • course Programming Languages (4) 

  • Flexible Elective (4)

  • Professional Elective (4)

Winter Semester – 14 credits

  • course Operating Systems (4)

  • course Senior Capstone Project (4)

  • Flexible Elective (2)

  • Professional Elective (4)

Applicable Minors


All Minors are applicable to this major with the exception of the following Minor(s): Child Welfare, Computer Science, Information Technology, Mathematics, Two Science, and Three Science.