Skip to content
This repository has been archived by the owner on Jun 30, 2024. It is now read-only.

DevelopmentRoadmap2019

Bryan A. Jones edited this page May 29, 2019 · 12 revisions

Runestone Development Roadmap

The ideas below need to have details and design added. Some ideas have been on the TODO list for several years, others are new.

Runestone Server

Goal: Serve 2 million students a day

  • Complete unittest coverage.
    • Every endpoint should be thoroughly tested. A number of endpoints raise exceptions -- see test-server.py FIXME comments.
    • New tests that allow testing client-side JS interactions with the server need to be developed.
    • Old tests which rely on pre-populated data should be ported to the new test framework and use synthetic data. This includes all tests in test_admin.py, test_assignments.py, and test-dashboard.py along with some code in test_ajax.py.
  • Add Visualizations from the the AC dashboard to the instructors page
  • Tree View for selecting exercises should have icons to indicate autogradeable and possibly question type and difficulty to make it easier for instructors to find appropriate questions
  • Progress page needs to be re-done to improve performance for large courses
  • Complete work on LTI integration with Canvas/Moodle and others with simple interface for teachers to set up
  • Run our own JOBE server for Java, et. al.
  • Dockerize
  • Mastery-based learning environment -- cannot continue to next chapter until demonstrated mastery over current
  • Supporter badges
  • Copy assignments from course to course
  • Add a checkbox so that an assignment may actually be used as a timed quiz. This would simply mean adding the wrapping a timed wrapper around all of the questions when the page is rendered.
  • template assignments for all courses based on FOPP?
  • Could we show page by page progress on every page of the book...
  • Revive code coach
    • Lint support
    • intelligent TIE integration

RunestoneComponents

Goal: To be the LaTeX of interactive authoring environments

  • Continue to build out pair programming features
  • Better Python3 support in Skulpt
  • Add blocks language support
  • Integration with Collab or Jupyterlab
  • Add spreadsheet directive RSE-0007
  • Update CodeLens to support Java, C++, Javascript
  • debugger for activcode
  • Create a REPL directive to include REPL in text
  • support SQL in activecode
  • Incorporate Brett Victor / Swift Playground ideas into activecode
  • create a sound module for sphinx to manipulate sound waves
  • Update dragndrop to allow for multiple matches with same category
  • Enhance the Altair module to allow for more complex/compound graphs

Content

Goal: Provide the best, most compelling content for introductory computer science and data science at all levels (middle school, high school, college, university)

  • Many more Exercises can/should be autograded
  • Revisions to FOPP based on this year's feeedback
  • Finish the web fundamentals textbook
  • Instructor guide moved inside the textbook [make it a payable feature?]
  • Better pre/post tests for each chapter of FOPP
  • redo screencast videos
  • Possible new introductory material for 101
  • Re-design the look and feel of the textbook
    • improve the ability of students to navigate
    • provide feedback on progress at the bottom of each page
      • make it more clear when a student is on a non-login page versus the correct page for their course

Skulpt

  • Move to Python3 grammar
  • Implement more Python3 features
  • Fix known problem in the image module with loading images from the assignment page