Towards Lab Based MOOCs: Embedded Systems, Robotics, and Beyond

Similar documents
Introducing Embedded Systems: A Cyber- Physical Systems Approach

ExCAPE Kick off Meeting. Leads: Stéphane Lafortune and Steve Zdancewic

Electrical Engineering and Computer Sciences (EECS)

ET345P Control Systems [Onsite]

Introduction to Embedded Systems

Quantitative Verification and Synthesis of Systems

Embedded Real-Time Systems

Course Syllabus MECHANICAL ENGINEERING LABORATORY I Spring 2006

LIS 2680: Database Design and Applications

University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development

1. Textbook #1: Our Digital World (ODW). 2. Textbook #2: Guidelines for Office 2013 (GFO). 3. SNAP: Assessment Software

Boolean Satisfiability Solving Part II: DLL-based Solvers. Announcements

Software Reliability and Reusability CS614

EE324: Microcontrollers and Interfacing. Office Hours: Mon, Wed, to 11.30am. Microcontrollers and Interfacing

COMPUTER ENGINEERING (CPE)

EECS 144/244. Fundamental Algorithms for System Modeling, Analysis, and Optimization. Lecture 1: Introduction, Systems

Embedded Systems. Stammvorlesung 9 CP. Lectures: Tuesdays, 16:15-18:00 Thursdays, 10:15-12:00 BF - ES - 2 -

Course Design Document: IS202 Data Management. Version 4.5

CRP 5851 GRAPHIC COMMUNICATION SPRING 2015 COURSE SYLLABUS

1. Textbook #1: Our Digital World (ODW). 2. Textbook #2: Guidelines for Office 2013 (GFO). 3. SNAP: Assessment Software

ITSY Y1 Information Technology Security Course Syllabus _ Page 1 COURSE SYLLABUS. Course Name INFORMATION TECHNOLOGY SECURITY

CSCI 201L Syllabus Principles of Software Development Spring 2018

Process Control: Learning It and Doing It Through LabVIEW Based Design

61A LECTURE 1 FUNCTIONS, VALUES. Steven Tang and Eric Tzeng June 24, 2013

Control Improvisation

Course Specifications M. Tech. / PG Diploma Programme

The fast track to top skills and top jobs in cyber. Guaranteed.

The ECE Curriculum. Prof. Bruce H. Krogh Associate Dept. Head.

SOFTWARE ENGINEERING. Curriculum in Software Engineering. Program Educational Objectives

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2)

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

EECE.2160: ECE Application Programming Spring 2019

COURSE SYLLABUS. Course Name SWITCHING BASICS. Course Number ITCC Y Lecture - Lab - Credit. NONE Prerequisite

2005 University of California Undergraduate Experience Survey

The LabVIEW FPGA course prepares you to design, debug, and implement efficient,

The Internet of Things and Factory of Future

Using Hybrid Automata for Early Spacecraft Design Evaluation

PANTHER SUCCESS NETWORK (PSN) STUDENT MANUAL

The University of New Orleans Web-STAR (PeopleSoft Campus Solutions v 9.0): Faculty Center Training Manual

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

PROFESSIONAL MASTER S IN

COURSE SYLLABUS. Course Name NETWORK+ Course Number ITNW Y Lecture - Lab - Credit. NONE Prerequisite

JEFFERSON COLLEGE COURSE SYLLABUS CIS154 MS SERVER I. 4 Credit Hours. Revised by: Douglas Hale Date: April 13, 2015

Over the Summer, we might have more new tools, features, updates, and workflow changes as we get ready for the Fall semester.

Business Process Document Student Records: Defining Class Enrollment Blocks

School of Computer Science

ITT Technical Institute. SD1420 Introduction to Java Programming Onsite and Online Course SYLLABUS

For information regarding prerequisites for this course, please refer to the Academic Course Catalog.

Guide Campus Global. Participant profile. Barcelona,

Computer Networks IT321

NOTE: COURSE CONTENT MAY BE CHANGED, TERM TO TERM, WITHOUT NOTICE.

Capacity Enhancement Courses

Assessment Tool Benchmark Time Frame Person/Group Analysis Assessment Method Responsible

Project Proposal. Mark John Swaine. Supervisor: Dr. Karen Bradshaw. Department of Computer Science, Rhodes University

Syllabus: AIT Information Systems Infrastructure Lifecycle Management

Introduction to Data Structures

Computer Science Technology Department

DIGITAL SCIENCES - B.S.

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS HPC INTERNETWORKING & GRID TECHNOLOGY HPC 1020

EE3315 Internet Technology EE3315 Internet Technology Overview Slide 1

Course Development. Recall the Goal. Edited and Presented by Edward A. Lee, Co-PI UC Berkeley. Chess Review November 18, 2004 Berkeley, CA

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

Programme Specification (Master s Level)

Elementary Computing CSC /01/2015 M. Cheng, Computer Science 1

ITSY Information Technology Security Course Syllabus Spring 2018

PhD Candidacy Exam Overview

Computer Networks (Redes de Computadores)

Academic Course Description

University of Pennsylvania. Department of Electrical and Systems Engineering. ESE Undergraduate Laboratory. Introduction to LabView

School of Computer Science Computer Science (CS) Modules

CMPS 182: Introduction to Database Management Systems. Instructor: David Martin TA: Avi Kaushik. Syllabus

CALEDONIAN COLLEGE OF ENGINEERING, MODULE HANDBOOK. Department of Electrical & Computer Engineering SULTANATE OF OMAN. Module Code

MyUni - Discussion Boards, Blogs, Wikis & Journals

EECS 219C: Formal Methods Binary Decision Diagrams (BDDs) Sanjit A. Seshia EECS, UC Berkeley

INFS 2150 (Section A) Fall 2018

CMPUT 391 Database Management Systems. Fall Semester 2006, Section A1, Dr. Jörg Sander. Introduction

Connect Student Quick Tips

FIT3056 Secure and trusted software systems. Unit Guide. Semester 2, 2010

I. PREREQUISITE For information regarding prerequisites for this course, please refer to the Academic Course Catalog.

Introduction. Paradigm Publishing. SNAP for Microsoft Office SNAP for Our Digital World. System Requirements

CSC6290: Data Communication and Computer Networks. Hongwei Zhang

Component-Based Design of Embedded Control Systems

Embedded Software Engineering

Computer Science Technology Department

Syllabus Class schedule Section 1: Tuesdays 9:00 11:50 Section 2: Tuesdays 1:00 3:50

FSE 100x: Introduction to Engineering: Imagine. Design. Engineer! Spring C 2018

Churchill County Library Offers Information Technology Courses

Computer Information Systems (CIS) CIS 105 Current Operating Systems/Security CIS 101 Introduction to Computers

Advisory: Students should have already taken MICROCOMPUTER APPLICATIONS II - 431

Compositionality in system design: interfaces everywhere! UC Berkeley

Sciduction: Combining Induction, Deduction and Structure for Verification and Synthesis

Masters in Advanced Computer Science

Computer Science Technology Department

Software Engineering

Combining Induction, Deduction and Structure for Synthesis

CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming. Summer 2009

Art 645 Introduction to Web Site Design Los Angeles City College

ME456: Mechatronics. Prof. Clark Radcliffe. Do you have the knack? Joonho Lee, TA. What s Mechatronics? Mechatronics

CSC 111 Introduction to Computer Science (Section C)

Clay Mation - A Stop Motion Animation Technique

Transcription:

Towards Lab Based MOOCs: Embedded Systems, Robotics, and Beyond Sanjit A. Seshia UC Berkeley Joint work with: Edward A. Lee, Jeff. C. Jensen, Alexandre Donzé, Garvit Juniwal, Andy Chang UC Berkeley & NI NIWeek 2014 August 4, 2014

Massive Open Online Courses (MOOCs) Courses from universities world wide available to any one with an Internet connection S. A. Seshia 3

EECS 149: Introduction to Embedded Systems UC Berkeley This course introduces the modeling, design and analysis of computational systems that interact with physical processes. Computer Science: Abstract Away the Physical World Control Theory: Deals Directly with Physical Quantities Cyber Physical Systems: Computational + Physical http://leeseshia.org/ On campus course gets somewhat diverse enrollment (EE/CS, ME, CE, ) S. A. Seshia 4

The Traditional View of Embedded Systems SPECIAL PURPOSE: Embedded computer with a specialpurpose processor INTERFACING to sensors and actuators Designing under RESOURCE CONSTRAINTS (memory, time, energy, ) S. A. Seshia 5

The Berkeley View of Embedded Systems We hold that embedded systems should be: characterized by interactions with the physical world, not resource constraints introduced through formal modeling, design and analysis, not ad hoc engineering practices S. A. Seshia 6

The Core Learning Experience: Exercises and Labs Textbook Exercises: High level modeling with FSMs, ODEs, temporal logic, etc. Programming in various languages (C, LabVIEW, etc.) Algorithm design and analysis (scheduling, verification, etc.) Laboratory (6 weeks) Capstone design project (12 weeks) How to extend this experience to a MOOC version of EECS 149? S. A. Seshia 7

EECS149.1x: Cyber Physical Systems MOOC offering on edx: May 6 to June 24, 2014 Berkeley NI collaboration Virtual lab technology for CPS: CyberSim First course to employ formal verification in auto grader: CPSGrader S. A. Seshia 8

Roadmap for Rest of this Talk CyberSim + CPSGrader Demo NI Robotics Simulator + UC Berkeley Auto Grader The EECS149.1x Experience Statistics, Survey Results, Feedback Future Directions S. A. Seshia 9

On Campus Lab Assignment: The Hill Climbing Robot S. A. Seshia 10

Virtual Lab Assignment (Demo) S. A. Seshia 11

April 4 th, 2014: Development team decides to re-architect CyberSim. 32 days prior to launch.

CyberSim C++ Lines of Code: 14,345 CyberSim LabVIEW VIs: 119

Underlying Technology in CPSGrader: Temporal Logic Run Time Verification Student Solution Temporal Logic Monitors x 1 +0.1-0.1 60 Simulator 0 100 Verifier Input Stimuli Research Problems: Generating test cases systematically Synthesizing assertions that account for legal variation in student solutions Described in more depth tomorrow 1:30 2:30 PM S. A. Seshia 14

EECS149.1x: Basic Statistics 6 7 weeks 49 lectures, 10 hours 50 minutes of video 6 weekly lab assignments 1 LabVIEW and Dev Tools tutorial 1 Memory Architectures lab 4 Virtual Lab exercises: Week 1: Navigation, programming in C Week 2: Hill climb, programming in C Week 3: Navigation, programming in LabVIEW Week 4: Hill climb, programming in LabVIEW Hardware track optional S. A. Seshia 15

EECS149.1x: Basic Statistics 6 7 weeks 49 lectures, 10 hours 50 minutes of video 6 weekly lab assignments Peak Enrollment: 8767 Largest number submitting any lab: 2213 Number scoring more than 0: 1543 Number who passed: 342 (4%of peak enrollment) S. A. Seshia 16

Student Survey 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Comparison with other MOOCs On or Above Par Below Par 54% of students had taken 3 or more (other) MOOCs already

EECS149.1x: LabVIEW Stats (About 200 300 survey respondents) Prior Experience: 59% NEW to LabVIEW LabVIEWvs. C for the labs: LabVIEWwas superior: 26% LabVIEWwas equally capable: 56% LabVIEWwas inferior: 18% Repeating lab in LabVIEW after doing it in C: 73% felt it is a good thing teaches different concepts and skills S. A. Seshia 18

Hardware Track: When deploying to the real robot, did you modify your solution from the simulator? >90% of controllers that passed the Virtual Lab auto-grader worked on the real robot with no or minor modifications

Students Reporting Auto-grader Feedback as Useful: 86%

EECS149.1x: Lecture Modules 1. Introduction to CPS 2. Memory Architectures 3. Interrupts 4. Modeling Continuous Dynamics 5. Sensors and Actuators 6. Modeling Discrete Dynamics 7. Extended and Hybrid Automata 8. Composition of State Machines 9. Hierarchical State Machines 10. Specification & Temporal Logic S. A. Seshia 23

Survey on Lecture Modules 1. Introduction to CPS 2. Memory Architectures 3. Interrupts 4. Modeling Continuous Dynamics 5. Sensors and Actuators 2 6. Modeling Discrete Dynamics 7. Extended and Hybrid Automata 8. Composition of State Machines 9. Hierarchical State Machines 10. Specification & Temporal Logic 1 1 2 3 3 1 Top Theory Topic 1 Top Lab Relevant Topic S. A. Seshia 24

Conclusion EECS149.1x: A first step towards enabling Lab based MOOCs Useful for growing enrollments on campus too! CPSGrader architected to be reusable for other courses Circuits Robotics Mechatronics Formal Methods can offer much to Education in Science and Engineering Virtual Science & Engineering Labs with built in Auto Grading can broaden participation S. A. Seshia 25