That may be me , I wanted to use Streamlit to replace nbgrader, where students would see the questions in the running Streamlit app one by one, write code in prewritten empty functions (like def add(a,b): ...) and if the code passes a unit test linked to that function (assert test_add(1,2) == 3) then the Streamlit app would pop balloons to congratulate, add some supplementary advice in expanders to go into more details and jump to the next question. A little bit like CodinGame.
And then on my side I would just have a Streamlit dashboard running all pytests on student assignments and give me a dashboard with all the grades!
But I have not arrived to a satisfactory result it looks too convoluted for now and need more motivation to dive back into it. There it is if some want to play with it : GitHub - andfanilo/pyspark-streamlit-tutorial.
That looks very cool and I love those ideas. When I was talking with one of the educators on a one-on-one, they were looking for something to auto-convert published notebooks (I think it was colab) into a Streamlit app. That way students could easily see the output nicely but also run, rerun or edit the code in a nicer way.
Do you have any of those apps from your repo on the cloud platform?
I’ve thought about something like this as well @andfanilo, but was thinking of it as a factored-out example using Fast API. Basically, have FastAPI running in the background, users submit the value to an endpoint and then get a success/fail message.
I would store students answers in some config file instead of session state, and at the end extract their answers and run them on my side to have an automatic grade. Or as you say Randy send the answers to some REST endpoint, why not, and saving the answers to the REST endpoint rather than locally to see their progress that’s a nice thought.
Ultimately I still have problems with streamlit-ace and Python exec with multiple statements, no Python linting or code interpolation so I’m not really sure how to pursue this yet
Hello there. I kinda recorded this on a whim after too many hours of lectures, on how I use live reloading after saving, st.write and st.help for interactive coding lectures with my students.
Since I see from the poll most educators use Streamlit for teaching coding, I’m interested in how you use it too
Hi there. In my case, i’m using Streamlit to develop some softwares to use in the field of Quality Control. Those software are being made as part of my scientific research, one had patented and the currently i’m working on will be also. Both of them will be free and available in english (one it’s already online and free to be used).
I will sure the next papers i publlish the Streamlit framework gonna referenced!
@randyzwitch@andfanilo This is such a great idea! I recently joined the University of Leuphana to further develop an introductory course to programming with Python (DATAx | Leuphana). Currently, we are setting up a JupyterHub for our over 1500 students that run every winter semester. We also use tools such as otter-grader for the automated gradings but are exploring other ways for giving better feedback and making our content more interactive. I would be very happy to contribute to this project if there is interest and also would be totally down for a Hackaton!