Download CaseyO

Document related concepts
no text concepts found
Transcript
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
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
Examples
Python
Java
Examples
Python
print
Java
System.out.println()
Examples
Python
Java
print
System.out.println()
__str__
toString()
Examples
Python
Java
print
System.out.println()
__str__
toString()
==
equals()
Examples
Python
Java
print
System.out.println()
__str__
toString()
==
equals()
list
ArrayList
Examples
Python
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)
9-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
Schedule
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
Related documents