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.
Goal: Serve 2 million students a day
- Complete Python 3 transition. Status: PR #1216 provides all known Python 3 syntax updates. However, the grading unit tests fail. Help is needed!
- 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-dashboard.pyalong with some code in
- Move to dynamic pages for all books rather than the (re)build system. See RSE-0006.
- 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.
- 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
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
- 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
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
- Move to Python3 grammar
- Implement more Python3 features
- Fix known problem in the image module with loading images from the assignment page