Computer Science, B.S.C.S.

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.

Program Educational Objectives:

The computer science program prepares graduates who will:

  1. Be successful as practicing professionals in diverse career paths or in graduate school.
  2. Distinguish themselves in breadth of perspective and the ability to solve complex problems.
  3. Be effective communicators and team members, with many assuming leadership roles.
  4. Be active in their profession and participate in continuing education opportunities to foster personal and organizational growth.
  5. Be able to advance, engage, and respond to issues of justice, ethics, diversity, equity, and inclusion in professional and civic settings.

Student Outcomes:

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.

  1. Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.

Curriculum:

The Computer Science curriculum is 120 credit hours distributed into three categories:

  1. University Core Curriculum Requirements – 40 credit hours
  2. General Engineering Requirements – 30 credit hours (includes 6 credit hours shared with the Core Curriculum Requirements)
  3. Computer Science Requirements – 56 credit hours

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 110Introduction to Engineering

2

EGR 300Introduction to Capstone Project

0

EGR 361Analysis of Engineering Data

3

MTH 201Calculus I

4

MTH 202Calculus II

4

PHY 204General Physics I

3

PHY 274General Physics Lab I

1

PHY 205General Physics II

3

PHY 275General Physics Lab II

1

Professional Electives

9

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 203Introduction to Computer Science

3

CS 273Computer Science Laboratory

1

CS 301Object-Oriented Design

3

CS 305Data Structures

3

CS 324Analysis of Algorithms

3

CS 333Computer Architecture

3

CS 334Operating Systems

3

CS 341Software Engineering

3

CS 352Programming Languages

3

CS 357Theory of Computation

3

CS 358Compiler Design

3

CS 368Computer Science Seminar

2

CS 371Object-Oriented Design Laboratory

1

CS 376Unix/Linux Tools Laboratory

1

MTH 311Discrete Structures

3

Capstone Project I - 3 credit hours

Select one course from the following:
CS 483Computer Science Capstone Project I

3

EGR 483Multi-disciplinary Capstone Project I

3

Capstone Project II - 3 credit hours

Select one course from the following:
CS 484Computer Science Capstone Project II

3

EGR 484Multi-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:
BUS 364Innovation

3

CS 364Business and Technology Ventures

3

ENT 480Creating a World-Class Venture

3

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

400 levelCS Electives

6

Does not include CS 48x capstone project courses. Must be taken for a grade A - F.

 

Computer Science Math Elective - 3 credit hours

MTH 300 or higher

3

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.

 

Total Credit Hours: 120