CS Circles: Learning Python in a Browser

CS Circles: Learning Python in a Browser

Computer Science Circles Python in your Browser David Pritchard (Princeton University) and Troy Vasiga (University of Waterloo) thanks: Brice Canvel, Graeme Kemkes, Andy Kong, Sandy Graham Center for Education in Mathematics and Computing (CEMC), University of Waterloo Goal Can everyone experience programming? Ingredients: 1. A web browser, no installation needed 2. Engaging programming exercises

You learn by doing! Help students test their code 3. Instructional narrative aimed at novices What environment best supports this? Short Tour Basic UI Different automatic grading methods Crafting lessons Hints Exercises other than plain coding Student tools Console Visualizer (Philip Guo, this session) My Progress

Users 10000 Students 10000 registered users 5000 Teachers 0 S-11 M-12 S-12 M-13 Help questions redirect to teacher ( demo) Can review progress of students

Currently 26 teachers, with 500 students Lesson/Exercise Authors Exercise Markup An exercise simple to state in words should be simple to put in your lesson! Our approach: WordPress shortcodes Written and edited within lesson text Demo of editing in-browser Grader Other exercise options Taboo words or symbols in source code Limit edit distance from buggy version

Sandboxing (Mooshak safeexec) Constrains process using OS-level tools Works with languages other than Python Fork available on GitHub How Is It Built? WordPress plugins + customizations Other open-source components: Visualizer, CodeMirror editor, Flexigrid database viewer User Server WordPress (PHP + SQL)

nt pri ur, o j on ("B Grader (PHP) Sandbox Asynchronous JavaScript (ajax)

Usage Statistics Traffic Submissions by Hour of Day (EST) 0 French-language 2 version represents 4 4% 6 of CDN traffic, 8 of European 8% Europe;

Each day, 28.00% C./S. views 3000Africa, page USA; America; 41.00% 6.00% 10000 submissions 10 Oceania; 12 40 new 4.00% users

half of Asia; 9.00% Canada; About 14 12.00% 1000 visualizations traffic is logged in, 16 half not 18 20 22 What Weve Learned

50000 5000 500 50 5 0.5 Exponential decay in #students completing an exercise, as function of position in course

DP, TV, SG answered 1000+ help requests Feedback is incredibly valuable: improves material, test cases, hints, interface Feedback Letters Parent-child teams, bioinformatics PhDs, workers in remote locations, retirees Most common compliment: The exercises are challenging (as opposed to type this after me) and rewarding/addictive The world is hungry for more! Requests for similar sites in C++,

Java, JavaScript Future Work Advanced Python Binary, printf, map/filter, Other languages (DE, NL) Sharing our source code? Refactoring needed to make it usable Is there an audience? Mining our data Giving automatic hints with error messages

Recently Viewed Presentations

  • Domain Model: Visualizing Concepts

    Domain Model: Visualizing Concepts

    Domain Model <> Class Diagram! DM: representation of real-situation conceptual classes not of sw objects == Visual dictionary, shows abstraction of conceptial classes. Domain Models. A Domain Model is a descriptionof things in the real world.
  • Energy Flow Through an Ecosystem - PC&#92;|MAC

    Energy Flow Through an Ecosystem - PC\|MAC

    Today we can: Review that organisms can be classified as producers, consumers, scavengers, or decomposers Create a food chain or food web Create an energy pyramid to explain how energy is transferred through an ecosystem Begins with the SUN Photosynthesis...
  • Altruism, Conflict, and Peacemaking - Ms. Moberg

    Altruism, Conflict, and Peacemaking - Ms. Moberg

    Altruism, Conflict, and Peacemaking. altruism. Unselfish regard for the welfare of others. Bystander Effect. ... Mirror-image perceptions- mutual views often held by conflicting people, as when each side sees itself as ethical and peaceful, while the other side is evil...
  • Threshold Graphs - Seton Hall University

    Threshold Graphs - Seton Hall University

    A cycle is a sequence of nodes and edges visiting none more than once, except for the first/last one Degree: # of edges incident on node Trees 6 A tree is a simple graph having the property that there is...
  • Using the BLS Template (slide hidden from show; can be ...

    Using the BLS Template (slide hidden from show; can be ...

    Recent improvements and current challenges in the BLS Consumer Price Index (CPI) Program. Presentation to the. ... Rigid structures and fixed data tables limit alternative item structures and formula. ... Using the BLS Template (slide hidden from show; can be...
  • October 29 Planner Record todays assignments and homework.

    October 29 Planner Record todays assignments and homework.

    October 30. Planner. Record today's assignments and homework. Warm Up. Study . Knowsys. Read AR. Vocabulary. Knowsys - Crossword. Grammar/Writing - Personal Narrative
  • Malcolm vs Macbeth for king Malcolm I am

    Malcolm vs Macbeth for king Malcolm I am

    "O worthiest cousin, the sin of my ingratitude even now, was heavy on me. Thou art so far before, that swiftest wing of recompense is slow, to overtake thee. Would thou hadst less deserved, that the proportion both of thanks...
  • Prodigiosin Production in E. Coli - Amazon S3

    Prodigiosin Production in E. Coli - Amazon S3

    culture obtained from Dr. Walter. ... Since the PCR showed bright bands at the range our target gene should be at (~1500 b.p.) we excised the DNA from the gel and purified it with a GeneJet Gel Extraction Kit ......