Nifty Web Apps
Build a web app for any text-based programming assignment. (arXiv:2010.04671)
While many students now interact with web apps across a variety of smart devices, the vast majority of our Nifty Assignments still present traditional user interfaces such as console input/output and desktop GUI. In this tutorial session, participants will learn to build simple web apps for programming assignments that execute student-written code to dynamically respond to user interactions, resulting in a much more modern app experience. Our approach requires up to 75% less code than similar desktop GUI apps while requiring few (if any) modifications to existing assignments. Instructors and students alike can run and modify these web apps on their own computers or deploy their apps online for access from any smart device at no cost. The tutorial presents examples from CS1 and CS2 courses in Python and Java, but the ideas apply generally.
Getting started
Follow the tutorial online at kevinl.info/nifty-web-apps.
Contributing
Tutorial issues and pull requests are welcome on GitHub at kevinlin1/nifty-web-apps.
To contribute a new language, create a new personal repository entitled, nifty-web-apps-LANGUAGE
with the contents of your project. Then, open an issue or pull request to get it added to this central repository.
License
The content of this project itself is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) license, and the underlying source code used to format and display that content is licensed under the MIT license.
The source code for each language variation is licensed separately.