Software is at the core of many fields: science, medicine, education, business, and government. As a computer science major, you will study the entire software engineering process from defining a problem to designing a solution, as well as building, refining, and testing it.
The program of study provides both breadth and depth of topics in a progression of course work, beginning with a foundation of mathematics and computer science fundamentals during the first and second years. Courses during the junior year provide additional theoretical and practical background in computer science. Capstone course work during the senior year enables students to pursue their areas of interest through in-depth analysis, experimentation, and design. CS electives and professional electives are available in various specialties for students to pursue their particular fields of interest. Development of written and oral communication skills and teamwork are incorporated as important components of the educational experience.
The computer science program leads to a bachelor of science in computer science (B.S.C.S.) degree accredited by the Computing Accreditation Commission of ABET.
The Shiley School of Engineering prepares computer science majors with the following outcomes so that as graduates, they can attain the Program Educational Objectives listed above.
The Computer Science curriculum is 120 credit hours distributed into three categories:
University Core Curriculum Requirements — 40 credit hours
All University of Portland students progress through a set of shared course options as part of the University’s liberal arts Core Curriculum. This curriculum offers a foundation of multiple lenses to address enduring questions of human concern, integrating the liberal arts, the University mission, and the knowledge, skills, and values needed in a diverse society and in the workplace.
See Core Curriculum Requirements
Two of the three core requirements in the Scientific and Quantitative Literacy and Problem Solving Habit are satisfied by the mathematics and science requirements within the major.
CS 341 and CS 483 are the designated Writing in the Discipline courses for Computer Science.
General Engineering Requirements — 30 credit hours
EGR 110: For transfer students into the Shiley School who have declared a major and have not had an Introduction to Engineering course, the dean or designee may approve the substitution of an engineering or computer science elective depending on the student’s educational background.
EGR 361: Successful completion of both MTH 361 and MTH 461 will substitute for EGR 361 and the computer science math elective.
PHY 205/PHY 275: Students who complete four science credit hours (including at least one credit hour of lab) as part of the requirements for a science minor may substitute those credits for the PHY 205/275 degree requirement. Course combinations allowed for the substitution include: CHM 207/277, BIO 207/277, BIO 208/278 or any 300-level or above science course/lab requirement for the minor.
Professional Electives: The professional electives may be a combination of courses (each 3-credit hours or more unless approved by the program chair) offered by the University at the 200-level or higher (or equivalent transfer credit). Professional electives include: courses offered by the Shiley School, courses that comprise a University minor, and courses included in an approved cluster. Professional elective credit may not be awarded for AP and IB examinations, or ROTC credit. Must be taken for a grade A - F.
Computer Science Requirements — 56 credit hours
Required Courses — 38 credit hours
CS 203 | Introduction to Computer Science | 3 |
CS 273 | Computer Science Laboratory | 1 |
CS 301 | Object-Oriented Design | 3 |
CS 305 | Data Structures | 3 |
CS 324 | Analysis of Algorithms | 3 |
CS 333 | Computer Architecture | 3 |
CS 334 | Operating Systems | 3 |
CS 341 | Software Engineering | 3 |
CS 352 | Programming Languages | 3 |
CS 357 | Theory of Computation | 3 |
CS 358 | Compiler Design | 3 |
CS 368 | Computer Science Seminar | 2 |
CS 371 | Object-Oriented Design Laboratory | 1 |
CS 376 | Unix/Linux Tools Laboratory | 1 |
MTH 311 | Discrete Structures | 3 |
Capstone Project I - 3 credit hours
Select one course from the following:
CS 483 | Computer Science Capstone Project I | 3 |
EGR 483 | Multi-disciplinary Capstone Project I | 3 |
Capstone Project II - 3 credit hours
Select one course from the following:
CS 484 | Computer Science Capstone Project II | 3 |
EGR 484 | Multi-disciplinary Capstone Project II | 3 |
Dual degrees within engineering: Students completing dual degrees within the Shiley School have two options for completing the Capstone requirements: 1) The student takes EGR 483 and EGR 484 and the student’s contributions to the capstone project include both disciplines, or 2) The student takes both discipline-specific 483 and 484 courses.
Tech Ventures Elective - 3 credit hours
Select one course from the following:
ENT 480 may only be used if the student has completed the Entrepreneur Scholars program. Must be taken for a grade A - F.
Computer Science Electives - 6 credit hours
Does not include CS 48x capstone project courses. Must be taken for a grade A - F.
Computer Science Math Elective - 3 credit hours
Does not include MTH 311. Must be taken for a grade A - F.
Successful completion of both MTH 361 and MTH 461 will substitute for EGR 361 and the computer science math elective.
ABET Credit minima: 15 credit hours of math, 6 credit hours of natural science, and 40 credit hours of computer science.