In MSE-DS Online, you will dive deep into topics such as artificial intelligence, big data systems, data science for health, deep learning, natural language processing, Internet and web systems, machine learning, etc. As a graduate of the MSE-DS Online program you will have: the ability to formulate and evaluate hypotheses using statistical and computational methods; the expertise to bring together data from many sources; the capacity to handle big and high-velocity data; the skills to build models, visualizations, and queries to analyze data; and the mastery to leverage machine learning methods to cluster data and make predictions.
With the standards you’d expect from an Ivy League institution, the online format allows students of varied ages, experiences, and backgrounds to access a Penn education from any location. To learn more about what it is like to be a Penn Engineering Online student, please visit our Student Experience page.
To earn a MSE-DS Online degree, you’ll complete ten (10) courses – four core courses, four technical electives and two open electives. All courses are fully online (with an optional one week on-campus practicum), and there are no required real-time sessions.
Either ESE 5420 or CIS 5150, but not both, must be taken as one of the 4 core classes
This course focuses on the fundamentals of scaling computation to handle common data analytics tasks. You will learn about basic tasks in collecting, wrangling, and structuring data; programming models for performing certain kinds of computation in a scalable way across many compute nodes; common approaches to converting algorithms to such programming models; standard toolkits for data analysis consisting of a wide variety of primitives; and popular distributed frameworks for analytics tasks such as filtering, graph analysis, clustering, and classification.View Full Course Description
Structured information is the lifeblood of commerce, government, and science today. This course provides an introduction to the broad field of information management systems, covering a range of topics relating to structured data, from data modeling to logical foundations and popular languages, to system implementations.View Full Course Description
In this course, students will learn a broad range of statistical and computational tools to analyze large datasets. This course provides a solid foundation of data science, statistics and machine learning to make data-driven predictions via statistical modeling and inference. Using case studies and hands-on exercises, the student will have the opportunity to practice and increase their data analysis skills using Python. The objective of these case studies is to identify and implement appropriate modeling and analysis techniques in order to extract meaningful information from large datasets.View Full Course Description
The course covers the methodological foundations of data science, emphasizing basic concepts in statistics and learning theory, but also modern methodologies. Learning of distributions and their parameters. Testing of multiple hypotheses. Linear and nonlinear regression and prediction. Classification. Uncertainty quantification. Model validation. Clustering. Dimensionality reduction. Probably approximately correct (PAC) learning. Such theoretical concepts are further complemented by exemplar applications, case studies (datasets), and programming exercises (in Python) drawn from electrical engineering, computer science, the life sciences, finance, and social networks.View Full Course Description
There are hardly any machine learning problems whose solutions do not make use of linear algebra. This course places emphasis on linear regression, data compression, support vector machines and more, which will provide a basis for further study in machine learning, computer vision, and data science.View Full Course Description
Some electives may be launched in 2023/24.
This course investigates algorithms to implement resource-limited knowledge-based agents which sense and act in the world. Topics include: search, machine learning, probabilistic reasoning, natural language processing, knowledge representation and logic. After a brief introduction to the language, programming assignments will be in Python.View Full Course Description
This course provides an overview of the field of natural language processing. The goal of the field is to build technologies that will allow machines to understand human languages. Applications include machine translation, automatic summarization, question answering systems, and dialog systems. NLP is used in technologies like Amazon Alexa and Google Translate.View Full Course Description
The purpose of this course is to deconstruct the hype by teaching deep learning theories, models, skills, and applications that are useful for applications. Here, we will shed light on the methods behind the magic of Deep Learning. But we don’t stop there: We further look into the societal implications of deep learning and how we can design more ethical algorithms.View Full Course Description
This is an introduction to topics in the security of computer systems and communication on networks of computers. The course covers four major areas: fundamentals of cryptography, security for communication protocols, security for operating systems and mobile programs, and security for electronic commerce.View Full Course Description
This course focuses on the issues encountered in building Internet and Web systems, such as scalability, interoperability, consistency, replication, fault tolerance, and security. Examine how services like Google or Amazon handle billions of requests from all over the world each day, (almost) without failing or becoming unreachable. Study how to collect massive-scale data sets, how to process and extract useful information from them, and look at the massive, heavily distributed infrastructure that is used to run these services (and similar cloud-based services) today. This course will provide hands-on experience, using web search as our case study.View Full Course Description
This is an introductory course to computer vision and computational photography. This course will explore four topics: 1) image feature detection, 2) image morphing, 3) image stitching, and 4) deep learning related to images. This course is intended to provide a hands-on experience with interesting things to do on images/pixels.View Full Course Description
Introducing the fundamentals of cryptography and distributed systems that underpin modern blockchain platforms — including collision-resistant hash functions, digital signatures and classical consensus algorithms and examining the architecture of modern blockchain platforms, and develop tools to analyze and interact with them in Python.View Full Course Description
Students may take CIT 5950 Computer Systems Programming and CIT 5960 Algorithms and Computation as Open Electives.
This course provides a rigorous and hands-on introduction to the field of software analysis – a body of powerful techniques and tools for analyzing modern software, with applications to systematically uncover insidious bugs, prevent security vulnerabilities, automate testing and debugging, and improve our confidence that software will behave as intended.View Full Course Description
Study today’s state-of-the-art wireless technology (4G LTE), next-generation wireless technology (5G NR), Wi-Fi technologies and the Internet of Things. You’ll build a simple IoT service with an IoT client device emulator and a real IoT server platform on the Internet.View Full Course Description
This course provides an introduction to fundamental concepts in the design and implementation of networked systems, their protocols, and applications. Topics to be covered include: Internet architecture, network applications, addressing, routing, transport protocols, peer-to-peer networks, software-defined networks, and distributed systems.View Full Course Description
This course is a continuation of CIT 5930 and introduces students to fundamental concepts in computing systems. 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.View Full Course Description
This course focuses primarily on the design and analysis of algorithms. It begins with sorting and searching algorithms and then investigates graph algorithms. In order to study graph algorithms, general algorithm design patterns like dynamic programming and greedy algorithms are introduced. A section of this course is also devoted to understanding NP-Completeness.View Full Course Description
*Courses subject to change
A Penn Engineering Online degree program requires the successful completion of ten courses. Students have access to a Student Success Advising Team that can help them plan their course schedule and overall degree plan. Students can easily switch between part-time and full-time registration each semester based on how many courses they take. Enrollment in the summer semester is optional. We encourage all students to meet with a member of our Student Success Advising Team to discuss the course load and route to degree completion that best fits their needs. Depending on how many classes you take each semester, you can complete the program in 16 to 40 months.
Part-time status for Penn Engineering Online degree students is defined as taking 1-2 courses in a semester. Full-time status is defined as taking 3-4 courses per semester. It is easy to switch back and forth between part-time and full-time status.
Are you interested in pursuing an MSE-DS Online degree?