Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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