Explore the field of engineering by taking an open online course. Taught by Penn Engineering faculty in partnership with Coursera and edX, our noncredit courses and credentials are flexible, self-paced, open to everyone – and affordable.

Current Open Courses

General Courses

Computational Thinking for Problem Solving

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.

  • 4 Weeks
  • 3 Hours per Week
  • Self-paced
  • Instructors: Chris Murphy and Susan Davidson
  • Hosted on Coursera

Enroll Today

Exploring Renewable Energy Schemes

Learn to integrate the scientific and technological principles that are necessary to assess and implement small-scale renewable energy schemes.

  • 6 Weeks
  • 3 Hours per Week
  • Self-paced
  • Instructor: Jorge Santiago-Aviles
  • Hosted on Coursera

Enroll Today

Urban Transit for Livable Cities

Learn to develop customized urban transit plans and improve city mobility by bridging technical knowledge with practical application.

  • 8 Weeks
  • 3-6 Hours per Week
  • Self-paced
  • Instructor: Vukan Vuchic
  • Hosted on edX

Enroll Today


Programming Courses

Earn a specialization certificate by completing the four courses listed here and paying the certificate fee.

Introduction to Python Programming

Explore core programming concepts like data structures, conditionals, loops, variables, and functions. This course will get you ready to code at a fast pace.

  • 4 Weeks
  • 6 Hours per Week
  • Self-paced
  • Instructor: Brandon Krakowsky
  • Hosted on Coursera

Enroll Today

Data Analysis Using Python

Discover core concepts like Data Frames and joining data, and learn how to use data analysis libraries like pandas, numpy, and matplotlib. You’ll also get an overview of loading, inspecting, and querying real-world data.

Enroll Today

Introduction to Java and Object-Oriented Programming

Learn how to write custom Java classes and methods, and how to test code using unit testing and test-driven development. Topics include basic data structures like Arrays and ArrayLists and overloading methods.

  • 3 Weeks
  • 6 Hours per Week
  • Self-paced
  • Instructor: Brandon Krakowsky
  • Hosted on Coursera

Enroll Today

Inheritance and Data Structures in Java

Get a comprehensive look at Java inheritance, including access modifiers and overriding methods. Explore abstract classes and 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.

  • 4 Weeks
  • 6 Hours per Week
  • Self-paced
  • Instructor: Brandon Krakowsky
  • Hosted on Coursera

Enroll Today


Software Development Courses

Completion and payment for the four courses listed here lead to a professional certificate.

Software Development Fundamentals

Learn the fundamentals of object-oriented programming in Java, as well as best practices of modern software development.

  • 4 Weeks
  • 6-8 Hours per Week
  • Self-paced
  • Instructor: Arvind Bhusnurmath
  • Hosted on EdX

Enroll Today

Data Structures and Software Design

Learn how to select, apply, and analyze the most appropriate data representations in your code and design high quality software that is easy to understand and modify.

  • 4 Weeks
  • 6-8 Hours per Week
  • Self-paced
  • Instructor: Chris Murphy
  • Hosted on EdX

Enroll Today

Algorithm Design and Analysis

Learn about the core principles of computer science: algorithmic thinking and computational problem solving.

  • 4 Weeks
  • 6-8 Hours per Week
  • Self-paced
  • Instructor: Sampath Kannan
  • Hosted on EdX

Enroll Today

 

Programming for the Web with JavaScript

Learn how to develop dynamic, interactive, and data-driven web apps using JavaScript.

  • 4 Weeks
  • 6-8 Hours per Week
  • Self-Paced
  • Instructors: Chris Murphy, Swapneel Sheth
  • Hosted on EdX

 Enroll Today


Robotics Courses

Receive a specialization certificate if you pay for and complete all six courses.

Robotics 1: Aerial Robotics

How can we create agile micro aerial vehicles that can operate autonomously in cluttered indoor and outdoor environments? In this course you’ll explore the mechanics of flight and the design of quadrotor flying robots and learn to develop dynamic models, derive controllers, and synthesize planners for operating in 3D environments.

  • 4 Weeks
  • 4 Hours per Week
  • Self-paced
  • Instructor: Vijay Kumar
  • Hosted on Coursera

Enroll Today

Robotics 2: Computational Motion Planning

Robotic systems include three components: a mechanism for exerting forces and torques on the environment, a perception system for sensing the world, and a decision and control system that modulates the robot’s behavior to achieve a particular goal. In this course, you’ll explore how a robot decides what to do to achieve its goals.

  • 4 Weeks
  • 3 Hours per Week
  • Self-paced
  • Instructor: C.J. Taylor
  • Hosted on Coursera

Enroll Today

Robotics 3: Mobility

How can robots use their motors and sensors to move around in an unstructured environment? Learn to design robot bodies and behaviors that recruit appendages to apply physical forces that confer reliable mobility in a complex and dynamic world.

Enroll Today

Robotics 4: Perception

How can robots perceive the world and their own movements so that they accomplish navigation and manipulation tasks? In this course, you will study how images and videos acquired by cameras mounted on robots are transformed into representations like features and optical flow.

Enroll Today

Robotics 5: Estimation and Learning

How can robots determine their state and properties of the surrounding environment from noisy sensor measurements in time? In this course you will learn how to get robots to incorporate uncertainty into estimating and learning from a dynamic and changing world.

  • 4 Weeks
  • 3-4 Hours per Week
  • Self-paced
  • Instructor: Daniel Lee
  • Hosted on Coursera

Enroll Today

Robotics 6: Capstone

The six-week Robotics Capstone gives you the opportunity to implement a solution for a real-world problem based on what you’ve learned in the robotics specialization. It also offers a chance to use the mathematical and programming methods that researchers use in robotics labs.

Enroll Today

MCIT Online

Designed for students without a background in computer science, this master’s degree program will prepare you to make your next big move.