Bachelor of Science Program

Meet Harkirat Singh

The Bachelor of Science in Computer Science is the first university degree in the field and usually takes at least four years of full-time work to complete. Students may enter the program directly from high school, after preliminary coursework in a two-year community college program, or after they have work experience in the field without a college degree. The department makes every effort to place students in courses appropriate to their actual level of knowledge. Those who have a bachelor's degree in another field can complete the degree more quickly under the post-bac program.

The undergraduate 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 projects for industry during the two-term capstone course in software engineering. Details about the program are given below.

The objective of the undergraduate program in computer science is to produce graduates with:

  • A thorough understanding of and ability to apply the core principles and practices of computing;
  • The professional skills to meet the immediate needs of regional and other employers, while being able to adapt to rapidly changing technology;
  • A foundation in the supporting areas of communication, science, and mathematics;
  • An understanding of ethical responsibilities in the social context in which their contributions occur;
  • The motivation and preparation to engage in life-long learning, including entering advanced degree programs in computer science.

To achieve these objectives students should master the following expected competencies (learning-based outcomes).

A. Knowledge

Students should acquire knowledge of:

  • Computing at all levels of abstraction, including: (a) Circuits and computer architecture; (b) Operating systems; (c) Programming languages, and (d) Algorithms.
  • The management and sharing of persistent data.
  • The interdependence of hardware and software.
  • Engineering principles used to meet the challenge of large-scale software production.
  • Mathematical foundations of computer science.
  • The impact of computing on society.
  • The ethical and legal responsibilities of computing professionals.

Students should acquire the ability to:

  • Develop program specifications from a variety of informal descriptions.
  • Develop program designs from specifications under a variety of software paradigms/architectures.
  • Use analytical techniques to evaluate and compare different designs that meet specifications.
  • Adapt algorithms and data structures drawn from a large standard repertoire to new problems.
  • Implement selected designs as programs in a variety of programming languages.
  • Debug and test programs.
  • Perform quantitative evaluation of program behavior by experiment.
  • Assess new developments in computer science.
  • Present the results of their work orally.
  • Present the results of their work as written technical documents.
  • Communicate with other members of development teams and with customers.

Statistical Profile

Information on the Computer Science Department's annual enrollment can be found here. Information on the number of graduates we produce each year can be found here .

The Portland State undergraduate CS program is fully accredited by the Computing Accreditation Commission (CAC) of the Accreditation Board for Engineering and Technology (ABET), 111 Market Place, Suite 1050,Baltimore, MD 21202-4012, phone 410-347-7700.

Accreditation has two advantages for students. First, accreditation is a form of quality control. CAC sets minimum standards for every aspect of a degree program. They periodically send an evaluation team to examine everything from the degree requirements (which are stiffer than average, at their insistence) to the way classes are conducted and graded. They interview students, staff, and faculty. They examine facilities. A program is accredited only if everything is up to par. The second advantage of accreditation is that it increases the real market value of the B.S. in CS. Some companies (particularly those accustomed to hiring engineers) pay better starting salaries if the employee comes from an accredited degree program. They may give better job titles as well.

Admission to the Computer Science Program

Upon achieving junior standing at PSU (90 credits or more) and completing all lower-division CS requirements, students should file an Application for Admission to the CS program at the Computer Science Office. Admitted CS students are assigned an adviser and may register for upper-division CS courses.  Questions about Undergraduate and Post-Baccalaureate admissions and course registration (capstone courses included) should be addressed to the undergraduate advisor:

DEADLINES:  Fall Admission    July 1

Spring Admission   Feb 1

Eligibility for Admission

In order to be eligible for CS program admission, each student should meet the following requirements:

1. Have completed

each of the following core Computer Science courses: CS162, CS163, CS201, CS202, CS250, and CS251 with a grade of C or better;

2. Have an overall average grade point of 2.0 or better in all required CS courses, computed over all graded attempts to take these courses. For example, if a student receives a D in CS250, retakes it and receives a C, the student average grade point over these two attempts would be 1.5. However, a B in another required CS course, such as CS202, would raise the average grade point to 2.0 over these three graded attempts. X’s and W’s are not counted as graded attempts.

3. Have completed these required courses from outside the Computer Science Department with a grade of C- or better:  Mth251; Mth252; the first two terms of an approved three term laboratory science sequence; Comm220; and Freshman Inquiry or Wr121.

4. Have completed a minimum of 90 credits.

5. Be in good academic standing at PSU.

Post Baccalaureate students following the Grad Prep option, only need to meet requirement #1 and must have B’s or better in these courses.

Students not meeting these requirements may petition the CS Appeals Committee for special admission.

Students not admitted to the CS program, will be blocked from registering for upper division and/or graduate CS courses.

Proficiency Demonstration

As part of their application to the CS program, all students must satisfactorily complete a programming proficiency demonstration. Contact the Undergraduate Advisor for details and scheduled demonstration times.

Admitted CS undergraduate students who are not making acceptable progress towards their degree requirements will be dropped from the program and required to reapply for admission.   Acceptable progress is defined as completion of at least 8 credits of coursework with acceptable grades (C or better for required CS courses, C- or better for required non-CS courses) satisfying departmental requirements, over the preceding 12 months. Readmission will be determined by the CS Appeals Committee.

Freshmen through seniors as well as prospective transfer students and Post-Bacs seeking advising should contact the undergraduate adviser, Barbara Sabath, at 503-725-4220 or .

Juniors, seniors, and post-bac students who are accepted for admission to the CS program will be assigned a faculty adviser the fourth week of their first term. Students who will be inactive (i.e. not taking any classes at PSU) for a term must file a leave request with the CS Office in order to retain their adviser. Students may file a maximum of one leave request per year. As a CS major, you should feel free to consult your faculty adviser about your overall program of study, your career plans, or any problems you encounter in CS at PSU. You should make a point of seeing your adviser your first term as an admitted CS major for an initial consultation.

Your CS adviser is particularly useful in helping you interpret the CS requirements for your degree. However, if you are depending on this interpretation, make sure that you get it in writing (usually in the form of a "Substitution/Waiver of CS Requirements") and that it is added to your file in the Computer Science Office. It is also important to know when not to consult your faculty adviser because someone else is more appropriate.

  • For information about a specific course, see the course's instructor.
  • For information about University degree requirements, rules, exceptions to rules, forms, etc. consult the PSU Bulletin. If the Bulletin is not clear, you may check with the CS adviser at 503-725-4220.

The PSU Bulletin is the absolute authority for all regulations.

Students are responsible for knowing the rules, regulations, and requirements in the PSU Bulletin. Ultimately, the responsibility of ensuring that you have completed all requirements for your degree is yours. Your CS adviser and the advisers at the Information and Academic Support Center will help you interpret the requirements that are in the PSU Bulletin. Their role is not to "approve" or otherwise construct a program of study for you. An approved program of study can be found in the PSU Bulletin under the section on CS.

Departmental Requirements

Department requirements are interpreted by the Department of Computer Science. Variances from these requirements are permitted only when a "Substitution/Waiver of CS Requirements" form (copies are in the CS office) is on file with the department. Substitutions/Waivers are only valid for seven years from the date they were issued.

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. Transfer students majoring in computer science are required to complete a minimum of 40 credits of upper-division computer science courses in residence at PSU.

Prerequisite Policy

Required Computer Science Courses

These reflect the requirements for the most recent catalog. For earlier catalogs, consult the department.


Category: Computer Science

Similar articles: