Computer Science, B.S.C.S.
Software is at the core of many fields: technology, 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 sophomore and junior years provide additional theory and applications in computer science. Capstone course work during the senior year enables students to design, implement, test, and communicate projects within a team environment. Computer science electives, professional electives, a technology ventures elective, a math elective, and a natural science elective enable students to pursue their particular fields of interest. Professional electives offer students the opportunity to choose courses (with advising and mentoring) that offer technical depth or professional breadth that align with their professional goals. Development of written and oral communication, teamwork, design and analysis, and agile project management skills are incorporated throughout the computer science curriculum.
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:
- Be successful as practicing professionals in diverse career paths or in graduate school.
- Distinguish themselves in breadth of perspective and the ability to solve complex problems.
- Be effective communicators and team members, with many assuming leadership roles.
- Be active in their profession and participate in continuing education opportunities to foster personal and organizational growth.
- 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.
- Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions.
- Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.
- Communicate effectively in a variety of professional contexts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline.
- 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:
- UP Core Requirements – 40 credit hours
- General Engineering Requirements – 26 credit hours (includes 6 credit hours shared with the UP Core Requirements)
- Computer Science Requirements – 60 credit hours
UP Core 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 UP Core Requirements
Two of the three core requirements in the Science & Problem Solving Habit are satisfied by the mathematics and science requirements within the major.
CS 341 and CS/EGR 483 are the designated Writing in the Discipline courses for Computer Science.
General Engineering Requirements — 26 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.
Professional Electives: Professional elective credit will not be awarded for courses that satisfy other degree requirements or for AP or IB exams. Must be taken for a grade A - F.
Computer Science Requirements — 60 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.
Natural Science Elective - 4 credit hours
Select one lecture with corresponding lab from the following:
Must be taken for a grade A - F.
ABET Credit minima: 15 credit hours of math, 6 credit hours of natural science (must include laboratory work), and 40 credit hours of computer science.
Total Credit Hours: 120