To earn a MSE-DS Online degree, you’ll complete ten (10) course units – four core course units, four technical elective units and two open elective units. 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 course units
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 DescriptionStructured 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 DescriptionIn 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 DescriptionThe 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 DescriptionThere 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 DescriptionSome 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 DescriptionThis 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 DescriptionThe 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 DescriptionThis 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 DescriptionThis 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 DescriptionThis 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 DescriptionIntroducing 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 DescriptionStudents 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 DescriptionStudy 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 DescriptionThis 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 DescriptionThis 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 DescriptionThis 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 DescriptionCloud computing is the heart of modern digital applications. This course provides practical, hands-on knowledge and understanding of distributed computing principles to design and develop applications that utilize public clouds such as Google Cloud, Amazon Web Services, Azure, etc. The course will cover cloud infrastructure services for computing, storage, networking, data analytics, machine learning, and modern application development. Students will learn to architect and implement complex applications utilizing different cloud infrastructure components to engineer robust, scalable solutions across practical industry use cases.
View Full Course DescriptionIn the MSE-DS Online Practicum course, students will work with an advisor on a real world research project suitable for a portfolio. The course will include a one week on-campus component. Additional fees apply.
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?