Undergraduate program
The computer science program is designed to provide students with the educational background required for a professional career in the computing industry and for further study at the graduate level. The program includes a core of required courses and an elective program of courses over a wide range of topics. Seniors work in teams to carry out community-based projects during the two-term capstone course in software engineering.
The computer science curriculum at Portland State University is accredited by the Computing Accreditation Commission of ABET, 111 Market Place, Suite 1050, Baltimore, MD 21202-4012 - Telephone: (410) 347-7700. This national organization sets standards for computer science education defined in terms of curricular content, quality of faculty, and adequacy of facilities.
Computer Science B.S.
Majors in computer science must complete the following University and departmental degree requirements.
- 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.
- 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.
- 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.
- 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.
- 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 162 | Introduction to Computer Science | 4 |
CS 163 | Data Structures | 4 |
CS 202 | Programming Systems | 4 |
Mth 251 | Calculus I | 4 |
Mth 252 | Calculus II | 4 |
| | |
Mth 253 | Calculus III | 4 |
| or | |
Mth 261 | Introduction to Linear Algebra | 4 |
| | |
| Freshman Inquiry | 15 |
| Electives | 12 |
Total Credit Hours: | 51 |
Sophomore year
CS 201 | Computer Systems Programming | 4 |
CS 250 | Discrete Structures I | 4 |
CS 251 | Discrete Structures II | 4 |
| Approved Laboratory Science | 15 |
| Sophomore Inquiry | 12 |
Total Credit Hours: | 39 |
Junior year
CS 300 | Elements of Software Engineering | 4 |
CS 305 | Social, Ethical, and Legal Implications of Computing | 2 |
CS 311 | Computational Structures | 4 |
CS 320 | Principles of Programming Languages | 4 |
CS 333 | Introduction to Operating Systems | 4 |
CS 350 | Algorithms and Complexity | 4 |
| Approved upper division CS elective | 4 |
| Approved upper-division programming intensive CS elective | 4 |
Wr 227 | Introductory Technical Writing | 4 |
| Upper-division cluster | 12 |
Total Credit Hours: | 46 |
Senior year
CS 469 | Software Engineering Capstone I | 3 |
CS 470 | Software Engineering Capstone II | 3 |
CS 486 | Introduction to Database Management Systems | 4 |
ECE 341 | Introduction to Computer Hardware | 4 |
| Approved upper-division computer science electives | 12 |
| Approved Math electives | 7 |
| Approved Science elective | 4 |
| Free electives | 7 |
Total Credit Hours: | 44 |
Note: The University requires all students to have a minimum of 72 upper-division credits to graduate. Since fewer than 72 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 455 | AI: Neural Networks I | 4 |
ECE 456 | AI: Neural Networks II | 4 |
ECE 485 | Microprocessor System Design | 4 |
ECE 486 | Computer Architecture | 4 |
Stat 451 | Applied Statistics for Engineers and Scientists I | 4 |
except that no more than a total of 4 credits may be taken from:
At least 4 credits must be taken from the list of approved "Programming Intensive" courses that is available on the the Computer Science departmental web site. 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 211 | General Physics (with Calculus) | 4 |
Ph 212 | General Physics (with Calculus) | 4 |
Ph 213 | General Physics (with Calculus) | 4 |
| With | |
Ph 214 | Lab for Ph 201 or Ph 211 or Ph 221 | 1 |
Ph 215 | Lab for Ph 202 or Ph 212 or Ph 222 | 1 |
Ph 216 | Lab for Ph 203 or Ph 213 or Ph 223 | 1 |
Sequence 2:
Ch 221 | General Chemistry I | 4 |
Ch 222 | General Chemistry II | 4 |
Ch 223 | General Chemistry III | 4 |
| With | |
Ch 227 | General Chemistry Laboratory | 1 |
Ch 228 | General Chemistry Laboratory | 1 |
Ch 229 | General Chemistry Laboratory | 1 |
Sequence 3:
Bi 211 | Principles of Biology I | 4 |
Bi 212 | Principles of Biology II | 4 |
Bi 213 | Principles of Biology III | 4 |
Bi 214 | Principles of Biology Lab I | 1 |
Bi 215 | Principles of Biology Lab II | 1 |
Bi 216 | Principles 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 261 | Introduction to Linear Algebra | 4 |
Mth 311 | Introduction to Mathematical Analysis I | 4 |
Mth 343 | Applied Linear Algebra | 4 |
Mth 344 | Introduction to Group Theory and Applications | 4 |
Mth 346 | Number Theory | 4 |
Mth 356 | Discrete Mathematics | 4 |
Mth 457 | The Mathematical Theory of Games | 3 |
Mth 458 | The Mathematical Theory of Games | 3 |
Mth 461 | Graph Theory I | 3 |
Mth 462 | Graph Theory II | 3 |
Stat 366 | Introduction to Experimental Design | 4 |
Stat 451 | Applied Statistics for Engineers and Scientists I | 4 |
Stat 452 | Applied Statistics for Engineers and Scientists II | 3 |
Stat 464 | Applied Regression Analysis | 3 |
Stat 467 | Applied Probability I | 3 |
Stat 468 | Applied 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.
Note: Stat 451 can be used either as an approved mathematics elective, or as an approved upper-division computer science elective, but not both.