Dec 04, 2024  
2024-2025 Undergraduate Catalog 
    
2024-2025 Undergraduate Catalog

Computer Science, B.S.


Department Website

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, under the General Criteria and the Computer Science 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.

Schedule of Classes


Specific offerings for each semester may be found in the Schedule of Classes.

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, and Integration. 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 (WRT 1060)
  • Formal Reasoning (Satisfied by MTH 1554; see Mathematics and sciences)

Explorations: One course from each of the seven Explorations areas

  • Arts
  • Language and Culture
  • Global Perspective
  • Literature
  • Natural Science and Technology (Satisfied by an approved science elective with lab; see Mathematics and Sciences)
  • Social Science
  • Western Civilization (Satisfied by PHL 1310; see additional major requirements)

Integration

  • Knowledge Applications (Satisfied by MTH 1555; see Mathematics and sciences)

U.S. Diversity

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

Writing Intensive and Capstone

  • Capstone (Satisfied by CSI 4999; see Required professional subjects)
  • Writing Intensive in the Major (Satisfied by CSI 4999; 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: PHL 1310 - Introduction to Ethics in Science and Engineering

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

Professional track


Select two courses from one of the following professional tracks:

Computational Intelligence Track

Decision Optimization Track

System Administration Track

Bioinformatics Track

Cybersecurity Track

Game Development Track

Mobile Applications Development Track

Web Development Track

AI on Cloud Track

Software Engineering Track

Data Analysis 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 9 additional credits from the following courses.

Any 3000 or higher level CSI, BE, ECE, ISE, or ME designated 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.

Any of the following 2000 level courses:*

*Students who have not taken a course on C or Python as part of the core requirement, for example due to transfers from another institution, are encouraged to consider taking CSI 2320 or CSI 2330 as part of their professional electives.

Any math, science or engineering elective from the following: 

Students who are interested in other upper level mathematics 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.

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

A) have an average GPA of 2.0 in the following mathematics and science courses: MTH 1554 , MTH 1555 , APM 2663  and an approved science elective with lab.

B) have an average GPA of 2.0 in the following computer science core courses: CSI 1320  or 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.

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


Winter semester – 17 credits

Sophomore year


Fall semester – 16 credits

Winter semester – 18 credits

Junior year


Senior year


Fall semester – 16 credits

Winter semester – 13 credits