Computer Science

The computer science undergraduate major at Penn State has two phases. The first phase introduces the concepts of modern computer science, including structured programming languages and efficient, productive programming. The second phase examines data structures, programming languages, and computer systems in detail. Course work involves writing computer applications and polishing programming skills.

The baccalaureate program in computer science provides a fundamental education to prepare students for positions in industry, government, education, or commerce, or to pursue graduate study. The computer science curriculum is organized with two goals in mind. First, upon graduation a student must be prepared to meet immediate demands in solving computational problems. Second, a student must have sufficient understanding of basic principles and concepts in computer science to avoid technological obsolescence in the rapidly changing information technology environment.

In particular, within a few years after graduation, graduates in computer science should be able to: 

  1. Apply appropriate theory, practices, and tools to the specification, design, implementation, maintenance and evaluation of both large and small software systems.
  2. Work in teams to design, implement, and/or maintain components of computer software systems.
  3. Stay current through professional conferences, certificate programs, post-baccalaureate degree programs, or other professional educational activities.

Student outcomes describe what students are expected to know and be able to do by the time of graduation. The computer science program is designed to enable students to:

  1. Analyze a complex computing problem and to 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.

This program is intended to produce computer science professionals and not merely technicians with some training in computer programming. Success requires a strong aptitude in mathematics. Because of the close relationship to computer science, concurrent majors in computer engineering and computer science are not permitted.

Many US states and territories require professional licensure/certification to be employed. If you plan to pursue employment in a licensed profession after completing this program, please visit the Professional Licensure/Certification Disclosures by State interactive map.

Below is a semester-by-semester chart of what courses to take with notes describing any choices to be made or restrictions to be followed. Please realize that although all the courses listed are required for the degree, they need not be taken during the semesters shown in the charts. You should be sure to check course prerequisites before you deviate from the suggested schedule. Care should be exercised to be sure core courses are taken in the proper sequence and in a time frame allowing you to meet entrance to major requirements. Also remember that a course that is designated as C required must be completed with a C or higher in order to both move on to a course for which it is a prerequisite and to graduate. It is suggested that, if possible, you not wait until your last semester to take C required courses. A total of 126 credits are required for graduation.

A description of all computer science courses can be found in LionPATH.

Semester 1 (16 credits)

  • MATH 140 or 140E GQ (Calculus I)
  • CMPSC 121 GQ (Intro. to Programming Tech.)
  • ENGL 15 or 30 GWS (Rhetoric & Comp.)
  • GA, GH, or GS course
  • GA, GH, or GS course

Semester 2 (15 credits)

  • MATH 141 or 141E GQ (Calculus II)
  • PHYS 211 (Mechanics)
  • CMPSC 122 (Intermediate Programming)
  • GA, GH, or GS course
  • First-year Seminar

Semester 3 (16 credits)

  • CMPSC 221 (OOP with Web Applications)
  • MATH 230 (Calculus III)
  • MATH 220 (Matrices)
  • PHYS 212 (Electricity & Magnetism)
  • CAS 100 A/B (Effective Speech)

Semester 4 (14-15 credits)

  • CMPEN 271 (Intro to Digital Systems)
  • Natural Science (GN)
  • GA, GH, or GS course
  • ENGL 202C GWS (Technical Writing)
  • CMPSC 311 (Systems Programming)

Semester 5 (16 credits)

  • CMPEN 331 (Comp. Organization & Design)
  • CMPSC 360 (Discrete Math for CMPSC)
  • GA, GH, or GS course
  • STAT 318 (Elementary Probability)
  • Foreign Language (level 002 proficiency)

Semster 6 (15 credits)

  • CMPSC 465 (Data Structures & Algorithms)
  • CMPSC 473 (Operating Systems)
  • STAT 319 (Applied Statistics in Science)
  • CMPSC Computer Science Elective
  • GA, GH, or GS course

Semester 7 (17.5 credits)

  • CMPSC 483W or CMPSC 431W
  • CMPSC 464 (Intro. to the Theory of Comput.)
  • Department List (General Elective)
  • Department List (General Elective)
  • Supporting Course
  • Health & Physical Activity (GHA)

Semester 8 (16.5 credits)

  • CMPSC 461 (Programming Lang. Concepts)
  • Department List (General Elective)
  • Supporting Course
  • CMPSC Computer Science Elective
  • CMPSC/CMPEN 400-level
  • Health & Physical Activity (GHA)
cover of cmpsc handbookcover of 2019 computer science undergraduate handbook cover of 2018 computer science undergraduate handbook cover of 2018 computer science undergraduate handbook

Hard copies of the computer science undergraduate handbook can be found in W209 Westgate.



The School of Electrical Engineering and Computer Science was created in the spring of 2015 to allow greater access to courses offered by both departments for undergraduate and graduate students in exciting collaborative research fields.

We offer B.S. degrees in electrical engineering, computer science, computer engineering and data science and graduate degrees (master's degrees and Ph.D.'s) in electrical engineering and computer science and engineering. EECS focuses on the convergence of technologies and disciplines to meet today’s industrial demands.

School of Electrical Engineering and Computer Science

The Pennsylvania State University

207 Electrical Engineering West

University Park, PA 16802


Department of Computer Science and Engineering


Department of Electrical Engineering