Casey O’Brien Java Tutor. Python Java Python 6.01 Java.

Post on 23-Dec-2015

257 views 1 download

Transcript of Casey O’Brien Java Tutor. Python Java Python 6.01 Java.

Casey O’Brien

Java Tutor

Python

Java

Python

6.01

Java

Python

6.01

6.02

Java

Python

6.01

6.02 6.034

Java

Python

6.01

6.02 6.034

6.006

Java

Python

6.01

6.02 6.034

6.006

Java

6.005

Hello World

Hello World

Hello World

Learning Python at MIT

Learning Python at MIT

• Take 6.00

Learning Python at MIT

• Take 6.00

• Take 6.S189

Learning Python at MIT

• Take 6.00

• Take 6.S189

• Take 6.01

Learning Python at MIT

• Take 6.00

• Take 6.S189

• Take 6.01

• Online Tutor

Python Online Tutor

Python Online Tutor

Learning Java at MIT

Learning Java at MIT

• Take 1.00

Learning Java at MIT

• Take 1.00

• Take 6.S092

Learning Java at MIT

• Take 1.00

• Take 6.S092

• Take 6.005

Learning Java at MIT

• Take 1.00

• Take 6.S092

• Take 6.005

• ???

Learning Java in 6.005

Learning Java in 6.005

Fall 2012 Semester: Java Oracle Tutorial

Learning Java in 6.005

Fall 2012 Semester: Java Oracle Tutorial

Learning Java in 6.005

Learning Java in 6.005

Spring 2013 Semester: Java Crash Course

Learning Java in 6.005

Spring 2013 Semester: Java Crash Course

Learning Java in 6.005

Other Options:

• http://www.learnjavaonline.org/

Problem

Java is a lot harder than Python!

My Proposal

My Proposal

• Online System

My Proposal

• Online System

• Interactive

My Proposal

• Online System

• Interactive

• “Convert” Python to Java

My Proposal

• Online System

• Interactive

• “Convert” Python to Java

• SuperUROP

• Supervisor: Professor Rob Miller

• Mentor: Max Goldman

ExamplesPython Java

ExamplesPython Java

print System.out.println()

ExamplesPython Java

print System.out.println()

__str__ toString()

ExamplesPython Java

print System.out.println()

__str__ toString()

== equals()

ExamplesPython Java

print System.out.println()

__str__ toString()

== equals()

list ArrayList

ExamplesPython Java

print System.out.println()

__str__ toString()

== equals()

list ArrayList

dictionary HashMap

System Overview

System Overview

Server

System Overview

Server

Student A

System Overview

Server

Student A

Student B

System Overview

Server

Student A

Student B

Student C

System Overview

Server

Student A

Student B

Student C

Student D

System Overview

Server

Student A

Student B

Student C

Student D …

Tools

Tools

• Server

Tools

• Server

• Development Machine

Tools

• Server

• Development Machine

• Languages

Tools

• Server

• Development Machine

• Languages

• Python Tutor: Python, Javascript

Tools

• Server

• Development Machine

• Languages

• Python Tutor: Python, Javascript

• Ruby on Rails

Tools

• Server

• Development Machine

• Languages

• Python Tutor: Python, Javascript

• Ruby on Rails

• PHP

Implementation

1. Back-End Structure

2. Web Interface

3. Testing

4. Publication

Implementation

1. Back-End Structure

2. Web Interface

3. Testing

4. Publication

Implementation

1. Back-End Structure

Implementation

1. Back-End Structure

• Examine Python Tutor

Implementation

1. Back-End Structure

• Examine Python Tutor

• Develop sample questions

Implementation

1. Back-End Structure

• Examine Python Tutor

• Develop sample questions

• Develop structure

Implementation

1. Back-End Structure

2. Web Interface

3. Testing

4. Publication

Implementation

2. Web Interface

Implementation

2. Web Interface

• Design UI

Implementation

2. Web Interface

• Design UI

• Handle online compiler

Implementation

2. Web Interface

• Design UI

• Handle online compiler

• Develop web interface

Implementation

1. Back-End Structure

2. Web Interface

3. Testing

4. Publication

Implementation

3. Testing

Implementation

3. Testing

• User Testing

Implementation

3. Testing

• User Testing

• Analysis

Implementation

1. Back-End Structure

2. Web Interface

3. Testing

4. Publication

Implementation

4. Publication

• Write publication

Implementation

4. Publication

• Write publication

• Final edits

Implementation

4. Publication

• Write publication

• Final edits

• Submit to Computer Human

Interaction Conference (CHI)

Schedule9-2-13

9-9-13

9-16-13

9-23-13

9-30-13

10-7-13

10-14-13

10-21-13

10-28-13

11-4-13

11-11-13

11-18-13

11-25-13

12-2-13

12-9-13

12-16-13

12-23-13

12-30-13

1-6-14

1-13-13

Meet with Supervisor

Examine Python Tutor

Develop sample questions

Design structure

Design UI

Handle online compiler

Develop web interface

User Testing

Analysis

Write publication

Final Publication Edits

Submit to CHI

Risks

Risks

• Turns out similar to other options

Risks

• Turns out similar to other options

• Cannot be implemented in time

Risks

• Turns out similar to other options

• Cannot be implemented in time

• Online Tutor is not best fit

Risks

• Turns out similar to other options

• Cannot be implemented in time

• Online Tutor is not best fit

• Students do not find Tutor useful

Further Work

Further Work

• Testing in 6.005

Further Work

• Testing in 6.005

• Developing more complicated

examples

Further Work

• Testing in 6.005

• Developing more complicated

examples

• MITx

Further Work

• Testing in 6.005

• Developing more complicated

examples

• MITx

• Generalizing beyond Java