Degree Requirements

The MCIT Online degree program requires the completion of 10 fully online computer science courses made up of six core courses and four electives. There are no required real-time sessions.

6 Core Courses

  • Introduction to Software Development (CIT 591) This course is an introduction to fundamental concepts of programming and computer science, including principles of modern object-oriented programming languages: abstraction, types, polymorphism, encapsulation, inheritance, and interfaces. This course also focuses on best practices and aspects of software development such as software design, software testing, pair programming, version control, and using IDEs.

  • Mathematical Foundations of Computer Science (CIT 592) This course introduces students to math concepts that form the backbone of the majority of computer science. Topics covered include sets, functions, permutations and combinations, discrete probability, expectation, mathematical induction, and graph theory. The course goal of is to ensure students are comfortable with the math required for most CIS electives.

  • Introduction to Computer Systems (CIT 593) This course provides an introduction to fundamental concepts of computer systems and computer architecture. Students learn C programming language and an instruction set (machine language) as basis for understanding how computers represent data, process information, and execute programs.

  • Data Structures & Software Design (CIT 594) This course focuses on data structures, software design, and advanced Java; starting with an introduction to data structures and basics of algorithm analysis. Important data structures covered include arrays, lists, stacks, queues, trees, hash maps, and graphs. The course also focuses on software design and advanced Java topics such as software architectures, design patterns, and concurrency.

  • Computer Systems Programming (CIT 595) This course is a continuation of CIT 593 and introduces students to fundamental concepts in computing systems. Divided into two parts, the first half of the course introduces important concepts in modern operating systems: processes, scheduling, caching, and virtual memory. The second half of the course provides an introduction to fundamental concepts in the design and implementation of networked systems, their protocols, and applications. The course will use the C program language, and will develop your knowledge on C system calls, and libraries for process/thread creation and manipulation, synchronization, and network communication.

  • Algorithms & Computation (CIT 596) This course focuses primarily on the design and analysis of algorithms. It begins with sorting and searching algorithms, then investigates graph algorithms. General algorithm design patterns like dynamic programming and greedy algorithms are then introduced. A section of this course is also devoted to understanding NP-Completeness.

The core courses must be taken in sequential order. Students may waive or transfer up to two required MCIT Online computer science courses.

4 Electives

MCIT Online students must complete four graduate-level electives. The electives will be broadly in the areas of machine learning, data science, and computing systems.

Starting in January 2020, MCIT Online plans to launch two new electives every semester for the foreseeable future. The electives planned for Spring 2020 are CIS 549 Wireless Communications for Mobile Networks with Dr. Bongho Kim, and CIS 581 Computer Vision & Computational Photography with Dr. Jianbo Shi. Further electives in 2020 include Mathematical Foundations in Machine Learning, Software Analysis, Statistics for Data Science (an Applied Machine Learning course), and Databases.

Enrollment Options

Courses are offered year-round (spring, summer, fall) and the program generally follows the University of Pennsylvania academic calendar. The summer semester is optional. View a few sample course plans here.

Students may enroll in the MCIT Online program on a part-time or full-time basis. Students are allowed a maximum of seven years to complete the MCIT Online degree program.

When you graduate, you’ll be able to:

  • Combine mathematical foundations and engineering principles to develop solutions to real-world computing problems
  • Design, construct and maintain high-quality software as part of a collaborative development team
  • Assess the appropriate use of modern techniques, skills and tools in creating a technology solution
  • Apply algorithmic thinking and computer science theory to the modeling and analysis of software systems

Try a course

Wondering if the MCIT Online is right for you?

Get familiar with online learning by taking Penn Engineering’s stand-alone course, Computational Thinking for Problem Solving, and assess your ability to think like a computer scientist. The course is open for enrollment and costs $49.

Wondering if an online program is right for you?

Take this quiz from Penn Engineering to help decide if now is the right time for you to pursue this degree. Note: This quiz will in no way factor into your application -- this is purely to assess your ability to thrive in an online degree program and to help you prepare for success in MCIT Online. This blog post helps explain more about the expectations of the degree.

Program Length

Sample ScheduleMCIT Online Sample 2 Year PlanTuition + FeesMCIT Online Sample 3.5 Year PlanTuition + Fees
FallCIT 591 - Intro to Software Development + CIT 592 - Mathematical Foundations of Computer Science$5,260CIT 591 - Intro to Software Development$2,630
SpringCIT 593 - Intro to Computer Systems + CIT 594 - Data Structures & Software Design$5,260CIT 592 - Mathematical Foundations of Computer Science$2,630
SummerCIT 595 - Computer Systems Programming$2,630CIT 593 - Intro to Computer Systems$2,630
FallCIT 596 - Algorithms & Computation + Elective$5,260CIT 594 - Data Structures & Software Design$2,630
SpringElective+ Elective$5,260CIT 595 - Computer Systems Programming$2,630
SummerElective$2,630CIT 596 - Algorithms & Computation$2,630
Fall  Elective$2,630
Spring  Elective$2,630
Summer  Elective$2,630
Fall  Elective$2,630

Online Degree Experience

  • Courses are offered year-round (spring, summer, fall) and the program generally follows the University of Pennsylvania academic calendar. All courses are approximately 15 weeks in length.
  • 24/7 access to video lectures from world class faculty
  • Weekly opportunities for live interaction with faculty and teaching staff
  • Assessments that blend Computer Science theory and applied, project-based learning using real-world tools and environments
  • Diverse, supportive, inclusive community of students and alumni

Coursera on Mobile

Students can access all course materials wherever and whenever with the mobile app, used by over 80 percent of degree students on Coursera. The app is available on iOS and Android.

Using the mobile app, learners can:

  • Save a week’s worth of content for offline access with one click
  • Save and submit quizzes offline
  • View text transcripts of lecture videos
  • Take notes directly in the app
  • Set reminder alerts to help you make progress

Download Coursera's mobile app

Download on the App StoreGet it on Google Play
//images.ctfassets.net/wp1lcwdav1p1/lDIAMYyRblWfvMOh9iT72/e12948b3d9c54bc4f124a89f615e12e0/penn-mcit-mobile.jpg
  • Money
    $25,000 (tuition) + $1,300 (online services fees)
  • Clock
    16-40 months
  • Graph
    10 courses
  • Globe
    Completely online

Applications for the Fall 2020 cohort are now open.

The early application deadline is March 1st.

The final application deadline is May 1st.

Coursera does not grant credit, and does not represent that any institution other than the degree granting institution will recognize the credit or credential awarded by the institution; the decision to grant, accept, or transfer credit is subject to the sole and absolute discretion of an educational institution.

We encourage you to investigate whether this degree meets your academic and/or professional needs before applying.

Try before you Apply

Penn Engineering offers an online Computational Thinking for Problem Solving course on Coursera to help you decide whether the program is the right fit before you apply.

Get Started