CIS Homeline
Note from Undergraduate Chair
Degree Programs
  CIS Minor
CS as a Second Major
Academic Advising
  Penn Tutoring Services
Penn Mentoring Program
CIS Courses

Course Descriptions
Fall Course Schedule
Spring Course Schedule
Summer Course Schedule

Research at CIS
  Undergraduate Research
Student Groups and Activities
Financial Aid
Job and Internship Opportunities


CIS Home divider Penn Engineering divider PENN   spacer


To major in Computer Science, College students must take the following 12 required courses:

  • CIS 110 - Introduction to Computer Programming
  • CIS 120 - Programming Languages and Techniques I
  • CIS 121 - Programming Languages and Techniques II
  • CIS 160 - Mathematical Foundations of Computer Science
  • CIS 240 - Introduction to Computer Architecture
  • CIS 262 - Automata, Computability, and Complexity
  • CIS 320 - Introduction to Algorithms
  • Project elective*
  • Project elective*
  • CIS elective
  • CIS elective
  • CIS elective

 Please note: Students may count at most 1 c.u. of 1xx credit towards their CIS Electives.

*Project electives include: CIS 277, CIS 330/450, CIS 341, CIS 371,

  CIS 380, CIS 455, CIS 553, ESE 350, or CIS 350 taken in Spring 14 or after.


Course descriptions for all CIS undergraduate courses

Application for a Second Major for Non-SEAS students

For more information, contact Jackie Caliman (

CIS Home divider Penn Engineering divider PENN   spacer