85
Casey O’Brien Java Tutor

Casey O’Brien

  • Upload
    tiara

  • View
    43

  • Download
    2

Embed Size (px)

DESCRIPTION

Java Tutor. Casey O’Brien. Python. Java. 6.01. Python. Java. 6.01. Python. 6.02. Java. 6.01. Python. 6.02. 6.034. Java. 6.01. 6.006. Python. 6.02. 6.034. Java. 6.01. 6.006. Python. 6.02. 6.034. Java. 6.005. Hello World. Hello World. Hello World. - PowerPoint PPT Presentation

Citation preview

Page 1: Casey O’Brien

Casey O’Brien

Java Tutor

Page 2: Casey O’Brien

Python

Java

Page 3: Casey O’Brien

Python

6.01

Java

Page 4: Casey O’Brien

Python

6.01

6.02

Java

Page 5: Casey O’Brien

Python

6.01

6.02 6.034

Java

Page 6: Casey O’Brien

Python

6.01

6.02 6.034

6.006

Java

Page 7: Casey O’Brien

Python

6.01

6.02 6.034

6.006

Java

6.005

Page 8: Casey O’Brien

Hello World

Page 9: Casey O’Brien

Hello World

Page 10: Casey O’Brien

Hello World

Page 11: Casey O’Brien

Learning Python at MIT

Page 12: Casey O’Brien

Learning Python at MIT

• Take 6.00

Page 13: Casey O’Brien

Learning Python at MIT

• Take 6.00

• Take 6.S189

Page 14: Casey O’Brien

Learning Python at MIT

• Take 6.00

• Take 6.S189

• Take 6.01

Page 15: Casey O’Brien

Learning Python at MIT

• Take 6.00

• Take 6.S189

• Take 6.01

• Online Tutor

Page 16: Casey O’Brien

Python Online Tutor

Page 17: Casey O’Brien

Python Online Tutor

Page 18: Casey O’Brien

Learning Java at MIT

Page 19: Casey O’Brien

Learning Java at MIT

• Take 1.00

Page 20: Casey O’Brien

Learning Java at MIT

• Take 1.00

• Take 6.S092

Page 21: Casey O’Brien

Learning Java at MIT

• Take 1.00

• Take 6.S092

• Take 6.005

Page 22: Casey O’Brien

Learning Java at MIT

• Take 1.00

• Take 6.S092

• Take 6.005

• ???

Page 23: Casey O’Brien

Learning Java in 6.005

Page 24: Casey O’Brien

Learning Java in 6.005

Fall 2012 Semester: Java Oracle Tutorial

Page 25: Casey O’Brien

Learning Java in 6.005

Fall 2012 Semester: Java Oracle Tutorial

Page 26: Casey O’Brien

Learning Java in 6.005

Page 27: Casey O’Brien

Learning Java in 6.005

Spring 2013 Semester: Java Crash Course

Page 28: Casey O’Brien

Learning Java in 6.005

Spring 2013 Semester: Java Crash Course

Page 29: Casey O’Brien

Learning Java in 6.005

Other Options:

• http://www.learnjavaonline.org/

Page 30: Casey O’Brien

Problem

Java is a lot harder than Python!

Page 31: Casey O’Brien

My Proposal

Page 32: Casey O’Brien

My Proposal• Online System

Page 33: Casey O’Brien

My Proposal• Online System

• Interactive

Page 34: Casey O’Brien

My Proposal• Online System

• Interactive

• “Convert” Python to Java

Page 35: Casey O’Brien

My Proposal• Online System

• Interactive

• “Convert” Python to Java

• SuperUROP

• Supervisor: Professor Rob Miller

• Mentor: Max Goldman

Page 36: Casey O’Brien

ExamplesPython Java

Page 37: Casey O’Brien

ExamplesPython Java

print System.out.println()

Page 38: Casey O’Brien

ExamplesPython Java

print System.out.println()

__str__ toString()

Page 39: Casey O’Brien

ExamplesPython Java

print System.out.println()

__str__ toString()

== equals()

Page 40: Casey O’Brien

ExamplesPython Java

print System.out.println()

__str__ toString()

== equals()

list ArrayList

Page 41: Casey O’Brien

ExamplesPython Java

print System.out.println()

__str__ toString()

== equals()

list ArrayList

dictionary HashMap

Page 42: Casey O’Brien

System Overview

Page 43: Casey O’Brien

System Overview

Server

Page 44: Casey O’Brien

System Overview

Server

Student A

Page 45: Casey O’Brien

System Overview

Server

Student A

Student B

Page 46: Casey O’Brien

System Overview

Server

Student A

Student B

Student C

Page 47: Casey O’Brien

System Overview

Server

Student A

Student B

Student C

Student D

Page 48: Casey O’Brien

System Overview

Server

Student A

Student B

Student C

Student D …

Page 49: Casey O’Brien

Tools

Page 50: Casey O’Brien

Tools• Server

Page 51: Casey O’Brien

Tools• Server

• Development Machine

Page 52: Casey O’Brien

Tools• Server

• Development Machine

• Languages

Page 53: Casey O’Brien

Tools• Server

• Development Machine

• Languages

• Python Tutor: Python, Javascript

Page 54: Casey O’Brien

Tools• Server

• Development Machine

• Languages

• Python Tutor: Python, Javascript

• Ruby on Rails

Page 55: Casey O’Brien

Tools• Server

• Development Machine

• Languages

• Python Tutor: Python, Javascript

• Ruby on Rails

• PHP

Page 56: Casey O’Brien

Implementation

1. Back-End Structure

2. Web Interface

3. Testing

4. Publication

Page 57: Casey O’Brien

Implementation

1. Back-End Structure

2. Web Interface

3. Testing

4. Publication

Page 58: Casey O’Brien

Implementation

1. Back-End Structure

Page 59: Casey O’Brien

Implementation

1. Back-End Structure

• Examine Python Tutor

Page 60: Casey O’Brien

Implementation

1. Back-End Structure

• Examine Python Tutor

• Develop sample questions

Page 61: Casey O’Brien

Implementation

1. Back-End Structure

• Examine Python Tutor

• Develop sample questions

• Develop structure

Page 62: Casey O’Brien

Implementation

1. Back-End Structure

2. Web Interface

3. Testing

4. Publication

Page 63: Casey O’Brien

Implementation

2. Web Interface

Page 64: Casey O’Brien

Implementation

2. Web Interface

• Design UI

Page 65: Casey O’Brien

Implementation

2. Web Interface

• Design UI

• Handle online compiler

Page 66: Casey O’Brien

Implementation

2. Web Interface

• Design UI

• Handle online compiler

• Develop web interface

Page 67: Casey O’Brien

Implementation

1. Back-End Structure

2. Web Interface

3. Testing

4. Publication

Page 68: Casey O’Brien

Implementation

3. Testing

Page 69: Casey O’Brien

Implementation

3. Testing

• User Testing

Page 70: Casey O’Brien

Implementation

3. Testing

• User Testing

• Analysis

Page 71: Casey O’Brien

Implementation

1. Back-End Structure

2. Web Interface

3. Testing

4. Publication

Page 72: Casey O’Brien

Implementation

4. Publication

• Write publication

Page 73: Casey O’Brien

Implementation

4. Publication

• Write publication

• Final edits

Page 74: Casey O’Brien

Implementation

4. Publication

• Write publication

• Final edits

• Submit to Computer Human

Interaction Conference (CHI)

Page 75: Casey O’Brien

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

Page 76: Casey O’Brien

Risks

Page 77: Casey O’Brien

Risks• Turns out similar to other options

Page 78: Casey O’Brien

Risks• Turns out similar to other options

• Cannot be implemented in time

Page 79: Casey O’Brien

Risks• Turns out similar to other options

• Cannot be implemented in time

• Online Tutor is not best fit

Page 80: Casey O’Brien

Risks• Turns out similar to other options

• Cannot be implemented in time

• Online Tutor is not best fit

• Students do not find Tutor useful

Page 81: Casey O’Brien

Further Work

Page 82: Casey O’Brien

Further Work• Testing in 6.005

Page 83: Casey O’Brien

Further Work• Testing in 6.005

• Developing more complicated

examples

Page 84: Casey O’Brien

Further Work• Testing in 6.005

• Developing more complicated

examples

• MITx

Page 85: Casey O’Brien

Further Work• Testing in 6.005

• Developing more complicated

examples

• MITx

• Generalizing beyond Java