Master of Computer Science
University of Illinois at Urbana-Champaign via Coursera
-
46
-
Overview
Class Central Tips
Deepen your knowledge and boost your career with a degree from a top-5 Computer Science graduate program in the U.S.
The degree program is designed to be flexible and fast — you can earn your Master’s with 100% online courses in as little as 12 months, while applying your learning immediately to your job.
The Online MCS program requires 32 credit hours of graduate coursework, completed through eight graduate-level courses. The MCS requires that four of these eight courses are chosen from four different core areas of computer science, and that three of these eight courses are at the advanced graduate level (500-level). The Online MCS currently offers coursework in the core areas of artificial intelligence, databases, interactive computing, software engineering, scientific computing, and high-performance computing.
Syllabus
Build expertise and career skills in the most important computer science topics. Courses and projects cover subjects like:
Architecture, Compilers, and Parallel Computing
Learn parallel programming and how to achieve peak performance from multi-core CPU and many-core GPU architectures. Master languages, compilers, and libraries that are suited for various parallel applications and platforms.
Artificial Intelligence and Machine Learning
Build your knowledge of the fundamental statistical models and numerical optimizations of machine learning, including deep learning, with applications in computer vision, natural language processing and intelligent user interaction.
Database and Information Systems
Learn the basics of database systems as well as data mining methods for extracting insight from structured datasets (e.g. for a sales recommendation system) as well as unstructured data (e.g. from natural language text).
Formal Methods, Programming Languages, and Software Engineering
Discover the fundamentals of software engineering, including function-based and object-oriented methods for analysis and design. Learn to manage a large software project from specification through implementation, testing, and maintenance. You‘ll also learn to manage large enterprise-level codebases.
Graphics, Visualization, and Interactive Computing
Learn the fundamentals of interactive computing that promote synergy between the computer and its user. The Data Visualization course, for example, shows how to present and manipulate data to communicate understanding and insight to the public.
Systems and Networking
Learn how to network computers into distributed systems and build a cloud computing platform or an Internet of Things. Understand how to create applications that utilize cloud resources with programming projects that utilize Amazon Web Services and Microsoft Azure.
Scientific Computing
Discover the fundamentals of numerical analysis, and how it’s applied to scientific and engineering simulations, with applications ranging from creating video game worlds to virtual medicine.
When you graduate, you’ll be able to:
- Apply mathematical foundations, algorithmic principles, and computer science theory to real-word problems
- Analyze a problem and identify the computing requirements appropriate to its solution
- Design, implement, and evaluate a computer-based system, process, component, or program
- Apply design and development principles to construct software systems of varying complexity
Courses
-
5 weeks long, 23 hours worth of material
View detailsCloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies – all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing.
Some of these concepts include: clouds, MapReduce, key-value/NoSQL stores, classical distributed algorithms, widely-used distributed algorithms, scalability, trending areas, and much, much more!
Know how these systems work from the inside out. Get your hands dirty using these concepts with provided homework exercises. In the programming assignments, implement some of these concepts in template code (programs) provided in the C++ programming language. Prior experience with C++ is required.
The course also features interviews with leading researchers and managers, from both industry and academia. -
5 weeks long, 22 hours worth of material
View detailsIn the cloud networking course, we will see what the network needs to do to enable cloud computing. We will explore current practice by talking to leading industry experts, as well as looking into interesting new research that might shape the cloud network’s future.
This course will allow us to explore in-depth the challenges for cloud networking—how do we build a network infrastructure that provides the agility to deploy virtual networks on a shared infrastructure, that enables both efficient transfer of big data and low latency communication, and that enables applications to be federated across countries and continents? Examining how these objectives are met will set the stage for the rest of the course.
This course places an emphasis on both operations and design rationale—i.e., how things work and why they were designed this way. We're excited to start the course with you and take a look inside what has become the critical communications infrastructure for many applications today. -
4 weeks long, 17 hours worth of material
View detailsLearn the general concepts of data mining along with basic methodologies and applications. Then dive into one subfield in data mining: pattern discovery. Learn in-depth concepts, methods, and applications of pattern discovery in data mining. We will also introduce methods for data-driven phrase mining and some interesting applications of pattern discovery. This course provides you the opportunity to learn skills and content to practice and engage in scalable pattern discovery methods on massive transactional data, discuss pattern evaluation measures, and study methods for mining diverse kinds of patterns, sequential patterns, and sub-graph patterns. -
6 weeks long, 30 hours worth of material
View detailsRecent years have seen a dramatic growth of natural language text data, including web pages, news articles, scientific literature, emails, enterprise documents, and social media such as blog articles, forum posts, product reviews, and tweets. Text data are unique in that they are usually generated directly by humans rather than a computer system or sensors, and are thus especially valuable for discovering knowledge about people’s opinions and preferences, in addition to many other kinds of knowledge that we encode in text.
This course will cover search engine technologies, which play an important role in any data mining applications involving text data for two reasons. First, while the raw data may be large for any particular problem, it is often a relatively small subset of the data that are relevant, and a search engine is an essential tool for quickly discovering a small subset of relevant text data in a large text collection. Second, search engines are needed to help analysts interpret any patterns discovered in the data by allowing them to examine the relevant original text data to make sense of any discovered pattern. You will learn the basic concepts, principles, and the major techniques in text retrieval, which is the underlying science of search engines. -
4 weeks long, 16 hours worth of material
View detailsDiscover the basic concepts of cluster analysis, and then study a set of typical clustering methodologies, algorithms, and applications. This includes partitioning methods such as k-means, hierarchical methods such as BIRCH, and density-based methods such as DBSCAN/OPTICS. Moreover, learn methods for clustering validation and evaluation of clustering quality. Finally, see examples of cluster analysis in applications. -
4 weeks long, 15 hours worth of material
View detailsLearn the general concepts of data mining along with basic methodologies and applications. Then dive into one subfield in data mining: pattern discovery. Learn in-depth concepts, methods, and applications of pattern discovery in data mining. We will also introduce methods for pattern-based classification and some interesting applications of pattern discovery. This course provides you the opportunity to learn skills and content to practice and engage in scalable pattern discovery methods on massive transactional data, discuss pattern evaluation measures, and study methods for mining diverse kinds of patterns, sequential patterns, and sub-graph patterns. -
4 weeks long, 15 hours worth of material
View detailsWelcome to the Cloud Computing Applications course, the first part of a two-course series designed to give you a comprehensive view on the world of Cloud Computing and Big Data!
In this first course we cover a multitude of technologies that comprise the modern concept of cloud computing. Cloud computing is an information technology revolution that has just started to impact many enterprise computing systems in major ways, and it will change the face of computing in the years to come.
We start the first week by introducing some major concepts in cloud computing, the economics foundations of it and we introduce the concept of big data. We also cover the concept of software defined architectures, and how virtualization results in cloud infrastructure and how cloud service providers organize their offerings. In week two, we cover virtualization and containers with deeper focus, including lectures on Docker, JVM and Kubernates. We finish up week two by comparing the infrastructure as a service offering by the big three: Amazon, Google and Microsoft.
Week three moves to higher level of cloud offering, including platform as a service, mobile backend as a service and even serverless architectures. We also talk about some of the cloud middleware technologies that are fundamental to cloud based applications such as RPC and REST, JSON and load balancing. Week three also covers metal as a service (MaaS), where physical machines are provisioned in a cloud environment.
Week four introduces higher level cloud services with special focus on cloud storage services. We introduce Hive, HDFS and Ceph as pure Big Data Storage and file systems, and move on to cloud object storage systems, virtual hard drives and virtual archival storage options. As discussion on Dropbox cloud solution wraps up week 4 and the course. -
5 weeks long, 19 hours worth of material
View detailsCloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies – all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing.
Some of these concepts include: clouds, MapReduce, key-value/NoSQL stores, classical distributed algorithms, widely-used distributed algorithms, scalability, trending areas, and much, much more!
Know how these systems work from the inside out. Get your hands dirty using these concepts with provided homework exercises. In the programming assignments, implement some of these concepts in template code (programs) provided in the C++ programming language. Prior experience with C++ is required.
The course also features interviews with leading researchers and managers, from both industry and academia.
This course builds on the material covered in the Cloud Computing Concepts, Part 1 course. -
6 weeks long, 4-6 hours a week
View detailsThis six-week long Capstone course of the Data Mining Specialization will allow you to apply the learned algorithms and techniques for data mining from the previous courses in the Specialization, including Pattern Discovery, Clustering, Text Retrieval, Text Mining, and Visualization, to solve interesting real-world data mining challenges. Specifically, you will work on a restaurant review data set from Yelp and use all the knowledge and skills you’ve learned from the previous courses to mine this data set to discover interesting and useful knowledge. The design of the Capstone emphasizes: 1) simulating the workflow of a data miner in a real job setting; 2) integrating different mining techniques covered in multiple individual courses; 3) experimenting with different ways to solve a problem to deepen your understanding of techniques; and 4) allowing you to propose and explore your own ideas creatively.
The goal of the Capstone project is to analyze and mine a large Yelp review data set to discover useful knowledge to help people make decisions in dining. The project will include the following outputs:
- Opinion visualization: explore and visualize the review content to understand what people have said in those reviews.
- Cuisine map construction: mine the data set to understand the landscape of different types of cuisines and their similarities.
- Discovery of popular dishes for a cuisine: mine the data set to discover the common/popular dishes of a particular cuisine.
- Recommendation of restaurants to help people decide where to dine: mine the data set to rank restaurants for a specific dish and predict the hygiene condition of a restaurant.
From the perspective of users, a cuisine map can help them understand what cuisines are there and see the big picture of all kinds of cuisines and their relations. Once they decide what cuisine to try, they would be interested in knowing what the popular dishes of that cuisine are and decide what dishes to have. Finally, they will need to choose a restaurant. Thus, recommending restaurants based on a particular dish would be useful. Moreover, predicting the hygiene condition of a restaurant would also be helpful.
By working on these tasks, you will gain experience with a typical workflow in data mining that includes data preprocessing, data exploration, data analysis, improvement of analysis methods, and presentation of results. You will have an opportunity to combine multiple algorithms from different courses to complete a relatively complicated mining task and experiment with different ways to solve a problem to understand the best way to solve it. We will suggest specific approaches, but you are highly encouraged to explore your own ideas since open exploration is, by design, a goal of the Capstone.
You are required to submit a brief report for each of the tasks for peer grading. A final consolidated report is also required, which will be peer-graded, and the top 20 reports, as evaluated by peer review, will also be judged by an Industry Expert Committee who will select 10 of the reports as the Best Capstone Projects. The Industry Expert Committee is composed of multiple relevant industry experts representing different companies.
-
6 weeks long, 21 hours worth of material
View detailsNote: You should complete all the other courses in this Specialization before beginning this course.
This six-week long Project course of the Cloud Computing Specialization will allow you to apply the learned theories and techniques for cloud computing from the previous courses in the Specialization, including Cloud Computing Concepts, Part 1, Cloud Computing Concepts, Part 2, Cloud Computing Applications, Part 1, Cloud Computing Concepts, Part 2, and Cloud Networking. -
4 weeks long, 19 hours worth of material
View detailsWelcome to the Cloud Computing Applications course, the second part of a two-course series designed to give you a comprehensive view on the world of Cloud Computing and Big Data!
In this second course we continue Cloud Computing Applications by exploring how the Cloud opens up data analytics of huge volumes of data that are static or streamed at high velocity and represent an enormous variety of information. Cloud applications and data analytics represent a disruptive change in the ways that society is informed by, and uses information. We start the first week by introducing some major systems for data analysis including Spark and the major frameworks and distributions of analytics applications including Hortonworks, Cloudera, and MapR. By the middle of week one we introduce the HDFS distributed and robust file system that is used in many applications like Hadoop and finish week one by exploring the powerful MapReduce programming model and how distributed operating systems like YARN and Mesos support a flexible and scalable environment for Big Data analytics. In week two, our course introduces large scale data storage and the difficulties and problems of consensus in enormous stores that use quantities of processors, memories and disks. We discuss eventual consistency, ACID, and BASE and the consensus algorithms used in data centers including Paxos and Zookeeper. Our course presents Distributed Key-Value Stores and in memory databases like Redis used in data centers for performance. Next we present NOSQL Databases. We visit HBase, the scalable, low latency database that supports database operations in applications that use Hadoop. Then again we show how Spark SQL can program SQL queries on huge data. We finish up week two with a presentation on Distributed Publish/Subscribe systems using Kafka, a distributed log messaging system that is finding wide use in connecting Big Data and streaming applications together to form complex systems. Week three moves to fast data real-time streaming and introduces Storm technology that is used widely in industries such as Yahoo. We continue with Spark Streaming, Lambda and Kappa architectures, and a presentation of the Streaming Ecosystem. Week four focuses on Graph Processing, Machine Learning, and Deep Learning. We introduce the ideas of graph processing and present Pregel, Giraph, and Spark GraphX. Then we move to machine learning with examples from Mahout and Spark. Kmeans, Naive Bayes, and fpm are given as examples. Spark ML and Mllib continue the theme of programmability and application construction. The last topic we cover in week four introduces Deep Learning technologies including Theano, Tensor Flow, CNTK, MXnet, and Caffe on Spark.
Related Courses
-
Online Master of Computer Science
Arizona State University
-
Bachelor of Computer Science
Goldsmiths, University of London
-
Computer Science Essentials for Software Development
University of Pennsylvania
-
Master of Computer and Information Technology
Pennsylvania State University
-
Master of Computer Science in Data Science
University of Illinois at Urbana-Champaign
-
Quantum 101: Quantum Computing & Quantum Internet
Delft University of Technology