About the Programme
The online Master of Computer and Information Technology degree (MCIT Online) is an online masters degree in Computer Science tailored for non-Computer Science majors. Offered by the University of Pennsylvania, this new program brings the long-running, established on-campus MCIT degree online. The MCIT Online program empowers students without computer science backgrounds to succeed in computing and technology fields. MCIT Online students come from diverse academic backgrounds ranging from business and history to chemistry and medicine.
This program fosters a rich and inclusive community for students, granting access to core university services that support their well-being and future career goals. This support, combined with a strong alumni network and career services, prepares students to succeed even if they are new to the tech industry. Upon completion of the degree, on-campus MCIT alumni have gone on to earn jobs with competitive salaries at leading technology companies such as Amazon, Facebook, Google, Microsoft, Oracle and Bloomberg.
Who can Apply?
- MCIT Online is for motivated students with little or no background in Computer Science who want to launch a rewarding career in the computing industry or use computer science to innovate in their current field.
- Applicants must have a 3 or 4-year bachelor’s degree from an accredited School or University prior to intended matriculation date.
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.
To enroll in this course, click the link below.
Note: Noticebard is associated with Coursera through an affiliate programme.