Upload
gerald-kristian-cox
View
257
Download
1
Embed Size (px)
Citation preview
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