
Automated Instructor for CS101 Beginners: Problem-Solving and Question Analysis
Dive into the world of CS101 beginners' programming challenges with the Automated Instructor platform. Explore topics like computational thinking, programming skills, and problem-solving algorithms while analyzing the types of questions asked by programming novices. Join us on a journey to enhance your coding abilities and understand the common struggles faced by those starting their programming journey.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
Automated Instructor for CS101 Newbs AutomaTA Changyoon Lee, Donghoon Han, Hyoungwook Jin with Alice Oh 1
Last Time... Computational Thinking >> Programming Skill >> Problem Algorithm Program fibonacci ( N ) Case1: N is 1 Fill a list with Fibonacci numbers less than N. output [0] Case2: N is 0 output [ ] Case3: other Append the sum of the last two numbers to the list until sum > N 2
Problem Statement CS101 beginners ask many questions related to programming skills. However, their questions contain not enough context so they cannot find satisfactory answers from web searches when self-studying. 3
Formative Study Purpose To get an idea on what types of questions programming beginners ask Setting Sept. 20, 9pm to 11pm, N1 102 Participants 6 programming beginners, recruited with advertisement on ara 1. 2. Take a 10 minute lecture on Hubo and basic Python syntax Solve programming tasks with us as the TA Process Code revision history Voice recording of questions asked and answers Data collected Analysis Query contextualization with code, Question categorization 4
Categories CS101 Goals Programming Skills Computational Thinking Understanding I don t get what the problem asks me to do Code How do I pop an element without removing it? Design Debug How do I pick all the beepers on a position? What is this error message and why did I get it? 5
Subcategories Programming Skills Code Debug How do I pop an element without removing it? What is this error message and why did I get it? Program mechanism Function usage Error message Semantic error Function Identification Syntax How do I How do I open a file? What is the return value of readline()? Why can t I access this local variable? Why do I get this error message? Why is there an infinite loop? define a function? 6
Project Scope Problems from other categories are well addressed Students ask many questions regarding functions Project feasibility Very difficult to solve for all functions in python CS101 tasks use limited range of functions 8
Comparison with Existing Solutions Web Search Ask directly Solutions AutomaTA Teaching Assistant User Input Query Query + Code Query + Code Search Time Short Long Short Short Answer Relevance Low High High Presence High Low High 9
Solution To build a programming platform which can immediately answer questions on functions by interpreting the context of those questions. 10
Approach 1. How to Interpret Query? Map Map Sloppy Queries System Features Sloppy Question & Code Function A Query-Feature graph handles sloppy queries. (Fourney et al, ACM, 2011.) A Context-Function graph handle sloppy questions 11
Approach 1. How to Interpret Query? Map Sloppy Queries System Features A Query-Feature graph handles sloppy queries. (Fourney et al, ACM, 2011.) A Context-Function graph handle sloppy questions 12
Approach 2. How to Automate Our System? ML Accuracy 100% ... Accuracy Human Accuracy Time 0% Machine Learning ML ... Human TA Machine Learning Human TA Periodic Validation with TA Validation Training Automated A long-run Human-machine hybrid workflow can train Context-Function graph (Laput, Gierad, et al, ACM, 2015.) 13
INPUT User has a question regarding what function to use for an operation Dispatcher User Query + User Code Enough data & High Accuracy? No Yes Context Function Graph If rated low, yield to human TA Human TA Human Computation Machine-learned Ranking OUTPUT Function Suggestion + Code Example User rates the satisfaction of the answer Maximum Accuracy Answer Train 14 Query & Code & Answer & Rating
Prototype 1 2 3 4 5 6 7 8 9 from cs1robots import * How do I see how my hubo moves? create_world() hubo=Robot() def hubo_right(): How about using these functions? hubo.set_trace() hubo.set_pause() for i in hubo.set_trace() ( see , hubo , move ) + code range(3): hubo.turn_left() hubo.set_pause() 10 11 12 13 14 15 16 17 18 19 20 Example code hubo_right() if hubo.front_is_clear(): hubo.move() ( hubo , turn , left ) + code hubo.set_pause() create_world() hubo=Robot() hubo.set_trace( blue ) Context Function Graph 15
Plan * Completed Week 7 Prototype Design & Testing Prototype Design & Testing UI/UX Design Week 9 Frontend Implementation Learning React & Semantic UI Learning React & Semantic UI Week 10-12 Backend & Training model Implementation Data Collection & Try Different ML Models Data Collection & Try Different ML Models Week 13 System Testing Deploying & Training Week 14 Evaluation Test Data Analysis & Final Presentation Hoon s Graduation!!! (Hopefully) 16
Evaluation Plan Web Search Teaching Assistant Conditions AutomaTA Metrics Answer Relevance, User Satisfaction, Task Completion Time, Time Taken Method Within Subject 17
Problem Statement: CS101 beginners ask many questions related to programming skills. However, their questions contain not enough context so they cannot get satisfactory answers from existing solutions. Pipeline Evaluation Answer accuracy, User satisfaction, Time taken Metric Google search, AutomaTA, Human TA Conditions Method Within Subject 19