Portland-State-University 2022-2023 Bulletin

Computer Science B.S.

Majors in computer science must complete the following University and departmental degree requirements.

  1. All computer science courses used to satisfy the departmental major must be graded C or better. Courses taken outside the department as part of departmental requirements must be graded C- or better. If a course is offered only on a Pass/No Pass (P/NP) grading scale, it must be graded as a Pass.
  2. All courses specifically required by the department must be taken for a letter grade unless a required course is only offered with a Pass/No Pass option.
  3. After admission to the computer science program, students are required to complete a minimum of 44 upper-division computer science credits in residence at PSU.
  4. Freshmen entering with 29 or fewer prior university/college credits must complete all University Studies requirements, including freshman and sophomore inquiry sequences and upper-division cluster courses.
  5. Transfer students must have a minimum of 39 credits of University Studies courses and/or arts and letters/social science courses prior to graduation; 12 of these credits are upper-division cluster courses that must be taken at PSU. Transfer students should consult with the CS departmental adviser for more information.

The following is a sample curriculum. Students choosing to make modifications to this schedule are urged to consult with an adviser.

Requirements

Freshman year

CS 161Introduction to Programming and Problem-Solving

4

CS 162Introduction to Computer Science

4

Mth 251Calculus I

4

Mth 252Calculus II

4

 

Approved Laboratory Science

15

Freshman Inquiry

15

Total Credit Hours:46

Sophomore year

CS 163Data Structures

4

CS 201Computer Systems Programming

4

CS 250Discrete Structures I

4

CS 251Discrete Structures II

4

 

Mth 253Calculus III

4

or

Mth 261Introduction to Linear Algebra

4

  

Sophomore Inquiry

8

Free electives

16

Total Credit Hours:44

Junior year

CS 302Programming Methodologies and Software Implementation

4

CS 314Elements of Software Engineering

4

CS 333Introduction to Operating Systems

4

CS 350Algorithms and Complexity

4

CS 486Introduction to Database Management Systems

4

Approved upper-division programming intensive CS elective

4

ECE 341Introduction to Computer Hardware

4

Wr 227Introductory Technical Writing

4

Upper-division cluster

12

Total Credit Hours:44

Senior year

CS 305Social, Ethical, and Legal Implications of Computing

2

CS 358Principles of Programming Languages

4

CS 469Software Engineering Capstone I

3

CS 470Software Engineering Capstone II

3

Approved upper-division computer science electives

16

Approved Math electives

7

Approved Science elective

4

Free electives

7

Total Credit Hours:46

Note: The University requires all students to have a minimum of 62 upper-division credits to graduate. Since fewer than 62 upper-division credits are required in computer science, mathematics, and general education for the computer science major, the extra credits of upper-division work must be taken from either the approved math or science electives, or the free electives.

Upper Division Credits

Approved upper-division Computer Science electives

The total may include any regular 300- and 400-level computer science course, and any of the courses:

ECE 485Microprocessor System Design

4

ECE 486Computer Architecture

4

except that no more than a total of 4 credits may be taken from:

CS 401Research

1-6

CS 405Reading and Conference

1-6

CS 406Special Projects

1-6

CS 407Seminar

1-6

CS 409Practicum

1-9

At least 4 credits of approved "Programming Intensive" courses must be taken.  These courses can be identified by the "P" suffix in the course number (e.g., CS 410P, CS 465P, CS 494P, etc.).  Additionally, CS 404, University Studies courses, and courses specifically described as not being applicable to the CS degree may not be used.

Approved Laboratory Science

Students must select one of the following 15 credit sequences, including their associated laboratories:

Sequence 1:

Ph 211General Physics (with Calculus) I

4

Ph 212General Physics (with Calculus) II

4

Ph 213General Physics (with Calculus) III

4

With

Ph 214Lab for Ph 201 or Ph 211 or Ph 221 or Ph 231

1

Ph 215Lab for Ph 202 or Ph 212 or Ph 222 or Ph 232

1

Ph 216Lab for Ph 203 or Ph 213 or Ph 223 or Ph 233

1

Sequence 2:

Ch 221General Chemistry I

4

Ch 222General Chemistry II

4

Ch 223General Chemistry III

4

With

Ch 227General Chemistry Laboratory

1

Ch 228General Chemistry Laboratory

1

Ch 229General Chemistry Laboratory

1

Sequence 3:

Bi 211Principles of Biology: Biology of Cells

4

Bi 212Principles of Biology: The biology of organisms

4

Bi 213Principles of Biology: Evolution and ecology of living organisms

4

Bi 214Principles of Biology Lab I

1

Bi 215Principles of Biology Lab II

1

Bi 216Principles of Biology Lab III

1

Approved Science electives

Students must complete additional credits of Approved Science electives chosen from Biology, Chemistry, Physics, Geology, or Environmental Science. A total of at least 19 credits of Approved Laboratory Science and Approved Science electives must be taken.

Approved Mathematics electives

Students must complete 7 or more credits of approved mathematics electives. The current list of approved courses includes:

Mth 261Introduction to Linear Algebra

4

Mth 311Introduction to Mathematical Analysis I

4

Mth 343Applied Linear Algebra

4

Mth 344Introduction to Group Theory and Applications

4

Mth 346Number Theory

4

Mth 356Discrete Mathematics

4

Mth 457The Mathematical Theory of Games I

3

Mth 458The Mathematical Theory of Games II

3

Mth 461Graph Theory I

3

Mth 462Graph Theory II

3

Stat 366Introduction to Experimental Design

4

Stat 451Applied Statistics for Engineers and Scientists I

4

Stat 452Applied Statistics for Engineers and Scientists II

3

Stat 464Applied Regression Analysis

3

Stat 467Applied Probability I

3

Stat 468Applied Probability II

3

Other upper-division mathematics or statistics courses may be used to satisfy the requirement with prior written approval from the Computer Science Undergraduate Adviser.