Master of Computer and Information Technology Program
Please note: this is the on-campus information; for the online MCIT, please see the program website.
The Master of Computer and Information Technology (MCIT) program is a rigorous graduate-level program that gives talented students who have no prior experience in Computer Science an opportunity to embark on a highly successful career in computing and technology, often in coveted interdisciplinary roles or even in purely technical software development positions. The MCIT program stems from a belief that advanced computer science coursework for people with undergraduate degrees in other diverse fields leads to highly successful career paths. Our graduates and their careers today stand as strong proof to this philosophy. Within the realm of academia, pursuing further advanced study in computer science is also an option open to MCIT graduates.
Due to the goals and nature of the MCIT program, it is strictly for applicants with limited or no past experience in computer science. Candidates with an undergraduate major in Computer Science or closely related fields, should consider applying to the Master of Science in Engineering (MSE) program instead.
To learn more about the application and admission requirements please visit:
Visit the Graduate Admissions website for additional FAQs.
Our students come from backgrounds as diverse as chemistry, history, medicine, law, mathematics, literature and fine arts. However, what they all share in common is immense drive and a strong desire to succeed in the field of computing and technology. With their unique combination of skills in Computer Science and non-Computer Science fields, they have gone on to succeed in both technical and interdisciplinary careers. Moreover, current students are very well connected with our tight-knit alumni community, and the MCIT network is growing with each graduating batch.
What Should I Expect After Graduation?
MCIT graduates emerge from the program as well-rounded and versatile individuals, and find themselves in a prime position in the job market. Past students have gone on to work in various roles at large companies like Google, Microsoft and Facebook, as well as at entrepreneurial start-ups and smaller-sized companies across the nation. Moreover, with their diverse backgrounds, our students are also in a unique position to fill technical jobs in industries such as bioinformatics, medicine, finance, telecommunications, media and many others. A significant proportion of our students do internships in the summer between their first and second years of study, and these internships often lead to full-time employment offers. Our accessible and tight-knit alumni network, together with Penn’s stellar Career Services and our supportive, reputed faculty, ensure that MCIT graduates are exposed to the many doors that are open to them after graduation.
Who should apply to the MCIT program?
The MCIT program is intended for bright, motivated students who have little or no background in Computer Science and who are looking to start a rewarding, successful career in computing and technology or pursue further education in this field.
What if I have an undergraduate degree in Computer Science, Computer Engineering, etc.? Or prior software development experience? Should I apply anyway?
The MCIT program is intended for students without backgrounds in Computer Science or related fields, and expects no prior experience in programming or developing software. Those with undergraduate degrees in Computer Science or related fields, or who have programming experience beyond the introductory level, should consider our department’s MSE programs instead.
What will I study?
MCIT students are required to take a core curriculum of six courses that are designed to provide a solid foundation in Computer Science in the first year. Each student then takes his/her choice of four advanced electives.
The six required courses fall into three distinct categories:
Software Development, Data Structures and Algorithms:
- CIT-5910: This course covers introductory programming and provides students with knowledge of software development tools and techniques.
- CIT-5940: This course builds upon CIT-5910 and covers advanced programming techniques, data structures and algorithms.
Mathematical Foundations, Algorithmic Analysis and Theory of Computation:
- CIT-5920: This course provides an introduction to discrete math – a crucial cornerstone to understanding the thinking behind various advances in modern computer science.
- CIT-5960: This course builds upon CIT-5920, and uses mathematical techniques and the theoretical foundations of computation to introduce students to more advanced algorithms and algorithmic thinking.
Computer Architecture and Systems Programming:
- CIT-5930: This course teaches students about the inner workings of a computer, starting from transistors and building up towards modern computer architecture. It demystifies the boundary between hardware and software and teaches MCIT students what really goes on within a computer.
- CIT-5950: This course builds upon CIT-593, and shows students how they can use their knowledge of underlying computer architecture to design software systems. It equips students with the tools required to write programs for various devices in networked environments.
These six core classes are offered exclusively to MCIT students, and often serve as a common bonding ground. These courses are followed by four advanced computer science electives of the student’s choosing. A wide variety of electives are offered every year, and each student can tailor their choice of subjects according to their interest.
In total the MCIT degree requires the completion of 10 courses. The degree is usually completed in three or four semesters.
What is the policy regarding course transfers and waivers?
We do not offer transfer credits for the MCIT on-campus program. Students who feel that they are already knowledgeable in a required course can request a waiver for that course, which will be granted subject to that particular course’s instructor approval. Note that waived courses do not reduce the overall number of courses required for the degree. Students are allowed to waive at most 2 courses.
Can I be a part-time student?
Yes, we have a number of part-time students, typically taking one to two courses a semester. However, note that all MCIT courses are regular graduate-level courses that are scheduled during the academic term.
Can I start in the spring semester?
No. The first year MCIT curriculum is designed to be a continuous one year program, with classes taught in the spring building upon material taught in the fall. Due to this sequence of course offerings, candidates cannot start in the spring semester.
How likely am I to succeed in this new field?
Our admissions process is a rigorous one, and we strongly believe that if admitted, you have the full potential to succeed both in the program and beyond. The MCIT program has had outstanding graduation rates, and our students are often surprised by their own technical abilities and transformation after the program. Moreover, MCIT students have a vast array of resources to help them succeed. Our faculty are very invested in the success of this group of students, and their support, together with the MCIT program’s strong alumni connections and a devoted Career Services department, ensure that MCIT students are primed to succeed even if the tech industry is new to them.
What is the application process like?
MCIT applications are handled by the same system that handles applications for other CIS graduate programs. Information on materials required can be found here.
Your CIS Contacts:
Graduate Coordinator for on-campus MCIT, CIS/MSE and CGGT programs
Office: 308 Levine
Program Manager for DATS (Data Science MSE)
Office: 308 Levine
Doctoral Program Manager
Office: 310 Levine
Graduate Coordinator for ROBO
Office: 459 Levine
Liz Wai-Ping Ng
Associate Director for Embedded Systems MSE program
Office: 313 Levine
PICS Program Coordinator, SCMP Academic Coordinator
Office: 3401 Walnut, 5th Fl.