Master of Computer and Information Technology
Offered By: University of Pennsylvania via Coursera
Course Description
Overview
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.
Computer science might not be in your past, but it will be in your future. Technology has an immense impact on our lives, and is creating fields and positions that didn’t exist five years ago. Equipped with a competitive computer science degree, MCIT Online graduates will be uniquely positioned to fill roles in finance, healthcare, education, and government, as well as in the core software development industry. Exposure to real-world projects throughout the program will prepare students to utilize skills that positively impact society.
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.
What makes this degree unique?- Ivy League Quality It’s a first-of-its-kind program that offers an Ivy League master’s degree in Computer Science designed for non-CS majors.
- Built Around Your Schedule The coursework is 100 percent online. You’ll benefit from the same high-quality instruction as on-campus students and graduate with the same degree. The diploma does not indicate whether the degree was earned online or on-campus.
- Accessible Pricing The cost of the MCIT Online degree is significantly less than on-campus alternatives and most online master’s degrees in Computer Science. Students pay $2,636 per course unit for a total of 10 courses units. Tuition and fees are posted as a guide and may be subject to change.
- Diverse Backgrounds Welcome Emphasizing impact and inclusion, the MCIT Online program strives to transform the field of computer science by infusing it with diversity by every measure. MCIT Online students hail from 32 different countries and 38% of MCIT Online students are women.
- 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.
- Real-world, project-based learning Core courses and electives taught by world-renowned instructors blend computer science theory and applied, project-based learning. You’ll have the chance to use real-world tools and environments such as TensorFlow and Amazon Cloud.
Syllabus
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 for students who have little or no experience in these areas. Includes an introduction to programming using Python, where students are introduced to core programming concepts like data structures, conditionals, loops, variables, and functions. Also provides an introduction to basic data science techniques using Python. The second half of this course is an introduction to object-oriented programming using Java, where students are introduced to polymorphism, inheritance, abstract classes, interfaces, and advanced data structures. Students will also learn how to read and write to files, connect to databases, and use regular expressions to parse text. This course includes substantial programming assignments in both Python and Java, and teaches techniques for test-driven development and debugging code.
-
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.
It is recommended that students take the core courses in sequential order. That said, students do not need special permission to take courses out of sequence so long as prerequisites and corequisites are followed. Note that new students must take CIT 591 in their first semester and students must complete four of the core courses before registering for electives.
4 Electives
MCIT Online students must complete four graduate-level electives. MCIT Online is still in the process of developing new electives. Additional elective courses planned for development include: Artificial Intelligence, Blockchain and more.
Descriptions of each course are on the MCIT Online Course List.
Courses
-
Computational thinking is the process of approaching a problem in a systematic manner and creating and expressing a solution such that it can be carried out by a computer. But you don't need to be a computer scientist to think like a computer scientist! In fact, we encourage students from any field of study to take this course. Many quantitative and data-centric problems can be solved using computational thinking and an understanding of computational thinking will give you a foundation for solving problems that have real-world, social impact. In this course, you will learn about the pillars of computational thinking, how computer scientists develop and analyze algorithms, and how solutions can be realized on a computer using the Python programming language. By the end of the course, you will be able to develop an algorithm and express it to the computer by writing a simple Python program. This course will introduce you to people from diverse professions who use computational thinking to solve problems. You will engage with a unique community of analytical thinkers and be encouraged to consider how you can make a positive social impact through computational thinking.
-
This course provides an introduction to the Java language and object-oriented programming, including an overview of Java syntax and how it differs from a language like Python. Students will learn how to write custom Java classes and methods, and how to test their code using unit testing and test-driven development. Topics include basic data structures like Arrays and ArrayLists and overloading methods.
-
This course provides an introduction to programming and the Python language. Students are introduced to core programming concepts like data structures, conditionals, loops, variables, and functions. This course includes an overview of the various tools available for writing and running Python, and gets students coding quickly. It also provides hands-on coding exercises using commonly used data structures, writing custom functions, and reading and writing to files. This course may be more robust than some other introductory python courses, as it delves deeper into certain essential programming topics.
-
This course provides a comprehensive look at Java inheritance, including access modifiers and overriding methods. Students are introduced to abstract classes, and will learn how to read and write to files, use regular expressions for parsing text, and how to leverage complex data structures like collections and maps. Additionally, this course offers strategies for catching errors and debugging code, including an overview of Eclipse’s debugging tool.
-
This course provides an introduction to basic data science techniques using Python. Students are introduced to core concepts like Data Frames and joining data, and learn how to use data analysis libraries like pandas, numpy, and matplotlib. This course provides an overview of loading, inspecting, and querying real-world data, and how to answer basic questions about that data. Students will gain skills in data aggregation and summarization, as well as basic data visualization.
Tags
Related Courses
ABC du langage CInstitut Mines-Télécom via France Université Numerique Abstraction, Problem Decomposition, and Functions
University of Colorado System via Coursera Advanced Data Structures in Java
University of California, San Diego via Coursera Advanced React
Meta via Coursera Testing with Agile
University of Virginia via Coursera