Beating pizzerias into helpshares
My 17th week of study at Learners Guild ended on 1 September. On Monday I voted, as one does in Phase 3, for my 2 most preferred modules to work on for the week. As has almost always been true, the Algorithm gave me my first choice. In this case it didn’t assign anybody else to work with me, so it was a solo project. I did confer often, though, with another Learner who had been assigned to the same module.
The module was titled “Pizza Restaurant: Relational DB With CRUD API”. Let’s start by unpacking that for the general reader. A relational database (DB) is a collection of data organized into interrelated tables. For example, a database for a pizza restaurant could contain tables of ingredients, pizzas, customers, employees, suppliers, etc., and other tables combining these (e.g., a table recording which pizzas contain which ingredients). An application programming interface (API) is a service that provides to programs the ability to do things with such a database. And a CRUD API is an API that lets programs create (C), read (R), update (U), and delete (D) data.
The module told the Learner to create a relational database and a CRUD API for an imaginary pizza restaurant. The instructional value of the module did not depend, however, on us modeling that particular kind of business. Therefore, the module’s author had wisely invited Learners to feel free to model anything else instead. As you might imagine, I took the author up on this offer. I decided to model not a business at all, but rather a community of learners who help each other acquire skills. I tentatively named the project “helpshare”.
The most important task was to define a model of this institution. What are the entities in it? How are they related? What data are gathered and stored? What entities have what powers to CRUD the data? This was not a one-time decision for me. I kept revising my design all week long. I aimed for some reasonable combination of simplicity and realism, and that was elusive. In addition, I needed to create a database reflecting the model and write the programs that would control the interaction of other programs with the database.
The project was far from “complete” by week’s end. In the new Guild, no longer characterized by weekly deadlines, that was no problem. So I kept working on it over the (long) weekend, and beyond. I hope to let you try it out and give me comments, once it works.
On Friday I hosted a visitor at the Guild, namely one of my brothers, who began programming computers 55 years ago and is still making his living doing so, currently in the domain of pharmaco-vigilance. He gave an informal talk to a dozen Learners and fielded questions about how software development has changed over time, the skills that make programmers competitive, and other topics. We Learners are the main impresarios of visiting speakers at the Guild. Getting a time slot in the conference room is not always easy, but group meetings take place in various sofa alcoves, too.
Speaking of alcoves, the Guild offers various physical environments for Learners to choose among. There are low and high 2-person tables for sitting and standing, couches, and even mattress alcoves for horizontal work and nap-taking. There’s a stability ball in use, and I’ve recently been trying out an elliptical exercise machine while standing and sitting at desks.