Undergraduate database course using Anvil

I’ve taught an undergraduate introductory database course for many years. Typical undergraduate database courses include topics like Entity-Relationship design, SQL, normalization, and some database application programming. For database applications, I usually introduce the students to Microsoft Access, because it solves certain problems really well. However, Access is very much a desktop technology, and these days we’re all looking for good database front-end solutions for mobile devices and the web.

Every year I teach the class I go looking for a web application builder that minimizes the amount of effort required to build a front end app for a database. Something like a Microsoft Access for the web. Usually I end up showing the students how to write a simple web app in Python using Flask, which works, but requires more knowledge of HTML than I want to spend time covering in a database class (and we have other courses where that material is a better fit). This year, I came across Anvil. It’s a great fit for my students because one of the prerequisites for my class is an introductory course in Python, so they are already familiar with basic Python programming techniques. I assigned my students a small programming project with Anvil using only free-tier features, and they had good success with it. Later in the semester, I assigned a larger programming project, but didn’t suggest Anvil because I had limited experience with it and wasn’t sure how well I could support the students if they ran into difficulty. But one of the teams asked if they could use Anvil because they had really liked their experience with it. They were successful in building a front-end app for a MySQL database using the pymysql library to connect to it from Anvil.

I’m grateful to Meredydd for arranging an educational license for us so quickly that enabled us to build the MySQL app, and am looking forward to making use of Anvil again the next time I teach the class.

Stephen Schaub
Department of Computer Science
Bob Jones University
Greenville, SC USA

11 Likes

Stephen that sounds really interesting. Why not post a tutorial for the Anvil community based on your class teaching? I would like to try it. I bet other Anvil community members would as well. Meredydd would surely appreciate your input to his platform as well…

I actually taught very little about Anvil in class. I basically introduced the technology, did a very brief demonstration, and then pointed the students to the excellent Anvil tutorials on the Anvil site. So, I don’t have any course materials to contribute. I just wanted to share my experience and express my appreciation.

Stephen

At my school (SEB LU) we are constantly checking the tools that are available to teach modern concepts, but on the other hand to be useful for students later in their career. We are still using MS Access on the undergraduate level, since a lot of businesses are using MS technologies, however Python is getting more and more attention also in comparisson to the VBA which is becoming less and less attractive, where Microsoft itself has an important role. Thanks, Stephen, for this short report about your experiences.

I used Anvil.works for a couple of concluding sessions during one of the programming courses, where the reason was similar: we were not focused on web development itself but on finalizing the idea with a modern GUI approach.