I’ve just completed my 11th math-focused blog. That in and of itself isn’t anything interesting or remarkable, just the 11th installment of mini-proofs of my commitment to achieving a goal. The Math study is very important to me. Despite my off-days, I really enjoy learning, grinding through the problem sets, and I frequently think about how much more interesting the studies will become as I progress. In the grander scheme of things, of which Math is, learning is what is very important to me.
Learning is what I enjoy spending my time doing. It’s the opportunity to learn for which I am so very grateful. Although heretofore my blogs have only been about math, I spend more of my time building a business. This is also learning. Like with math, I’d consider myself an aspiring beginner. Either my idea is a total stinker that is an a priori failure, or there are certain things that must be done in order for my business to succeed. In time, I’ll either figure out that the business needs to be flushed, or I’ll figure out how to make the needed changes. Either way, I’m learning.
I’ll preface this by saying that I’m nearly 48 and don’t have much savings or assets to lean on. Although I do have a broad professional experience, and I’ve worked on some very cool projects, I’ve not made any independent business accomplishments. Yet.
Given the importance of my business, both in terms of self-realization, and pecuniary-realization, I figure I should document it, and need to start somewhere. So I’ll start here.
Several years ago, after I’d spent a year and a half learning to code and daydreaming the changes doing so would have on my life, I agreed that the changes I’d envisioned weren’t likely to unfold. Whereas several years prior it seemed like anyone with some gumption and discipline could study their way into an introductory developer job, the tech market in the US was being eviscerated. Experienced engineers were losing their jobs, and fresh Computer Science graduates were failing to land jobs. I chose to pivot.
I very much enjoyed coding. I remember wishing I’d learned it when I was younger so that I could be truly creative with it. The truly great programmers, like great musicians or athletes, began learning when they were young. So I thought to myself, perhaps I’d be better to dedicate myself to enabling children to be what I, a mid-40’s aspirant, could never be. I already had much experience teaching, I love kids, and had in one way or another been involved in eLearning for a number of years. I’d start an online coding school!
I started out by adapting Python curricula for kids from various books on the topic. I made Google slides that, in retrospect, were sloppy, disjointed mess. I had “learned” WordPress and built an even sloppier and more disjointed website to proclaim to the world my courage and ignorance. I was off to the races.
Although I’d taught English aplenty, I’d never taught coding. I had no idea what was good or bad about my content. I needed experience and needed to put my curriculum to the test. So I began carpet bombing Facebook expat groups in every region I could find with offers of free mini-Python courses. I brought on a friend, Andy, who was (is) a career Computer Science and Math educator, to teach one of the first two cohorts with me and give me feedback on my material. It didn’t take long before I found our first students. Before I knew it, I’d thrown myself off the stagefright cliff and was teaching Python.
The first course lasted some four weeks. It was a success. I know everything about those first classes was crude and plagued with flaws, but I taught the course and kids walked away knowing how to write a for loop, so it was a success. Before the course was finished I was already back to searching the Facebook groups for more participants. The second time around I also offered short Scratch courses, using the open source Scratch Encore material as my base (I love teaching Scratch, by the way).
I went through around 5 cycles of this until none of Facebook groups would accept my posts anymore. By then I’d taught over 100 children, and communicated with 100+ parents, from Poland, to Ethiopia, from Sri Lanka, to Hong Kong. In the end, I was able to convert four paying customers (one from the UK, one from Taiwan, and two from Malaysia) for my flagship course, Python Pros 1. I had my first win!
I continued building curricula – slides, homework, assessments and source code. I used (and still use) Vedamo for my LMS and virtual classroom, and JetBrains PyCharm for the coding element of the lessons. JetBrains IDEs have an amazing feature called Code With Me, which allows for real time collaborating on a user’s IDE. Basically, I can have students all join me on my IDE and we can code together – an absolutely essential feature for online coding instruction.
JetBrains let me have a number of coupons for free Pro Edition IDEs for my students. They’ve continued to do so. MUCH APPRECIATION TO JETBRAINS! – I wouldn’t be here without them
Eventually I completed my Python Pros 1 course and added to it PCEP preparation as a way to imbue my curriculum with some 3rd party certification that students could add to their academic portfolio. This was my first foray into building curricula purely on my own. In the end, one of my students ended up taking and passing the PCEP – another win!
My students continued with me into the second course, Python Pros 2. I had retained customers and validated proof of concept. Win! I quickly shifted my attention to building the curriculum for Python Pros 2, focused on object oriented programming (OOP), as well as version control, and the use of Git and GitHub. Altogether, the course was nearly 30 hours long. All the material I designed on my own. I know it wasn’t as interesting as the material I developed with the assistance of books. But I did it. I created a whole course. The students have GitHub profiles full of games and GUIs. I call that a win.
As I saw the end of the course coming down the pipeline, I needed to find a way to keep my students continuing with me. By that time I’d come to the belief that I could either try to compete with umpteen extracurricular ICT tutoring companies, or shift my focus. Having spoken with parents, I realized that parents most valued education that both equipped their children with knowledge and credentials that would strengthen their children’s academic resumes that would soon be a part of their forthcoming university applications.
With my students’ future MIT education in mind, I got the zany idea to teach AP Computer Science A (APCSA). It is a new programming language (Java), is more in depth than what my students had learned before, and if they do well on the ACSA Exam, they can earn university credits in the United States. This would be all the more impressive for students who are 13 years old. The parents agreed, they signed up, and I got to work. Win!
I began working on the APCSA curriculum around April. The course started in June. I give two lessons of two or so hours twice a week. I’ve just recently completed the first iteration of the curriculum, but am still teaching the course. As I’ve proceeded, I’ve kept notes on fixes that I’d like to see made. I’ve also been developing standardized rubrics that I can use in conjunction with AI for more time efficient and effective grading. I plan on continuing with it by eventually building a grading engine, an app, and ultimately autograding pipelines directly in my LMS – but that’s for another day.
Earlier this week I began upgrading the first unit. I’ve given makeovers to the ugly slides, improved assignments, rubrics, and grading templates. I can see a lot of improvements that I’d like to make… but let’s shift bases.
My goal is to sell turnkey curricular products and services to international schools. My belief is that schools often lack sufficient Computer Science (CS) education facilities, or don’t have any at all, in spite of growing demand from parents. It’s very difficult to find qualified teachers, as most people who are qualified choose more lucrative paths in the tech industry. I’d like to make it so schools can start up a CS department, either using my curricula and LMS, grading rubrics, combinations thereof, or also to hire me to contract out the full instruction of the courses online.
There are many people who are qualified to teach, but don’t want to be a full-time teacher. Think freelance software engineers, semi-retired developers, or underemployed fresh CS graduates. With a well-designed curriculum, we can lock and load teachers, and have them earn a respectable pay teaching what they know how to do well, without the burden of lesson planning or assignment grading. In this way we can have a school up and running quickly, with an excellent curriculum and very qualified teachers.
The international school industry is currently worth over $65 billion annually and is growing fast. I see tons of opportunity in the way of developing and delivering EdTech solutions to this sector. It starts here!
In addition to my APCSA, I intend to develop a full Cambridge CS curriculum as more than half of international schools worldwide employ British curricula. My plan is to build a 1st year Lower Secondary curriculum using Scratch Encore complemented by additional material to fill in the gaps. Working at breakneck speed, I intend to have something ready for sale for the 2026-2027 school year
And that’s where I find myself now. On a Saturday afternoon, in Vung Tau, Vietnam, thinking that I’ve been winning, and that the wins are going to get bigger, with enormous amounts of work along the way. And lots of learning. I have a wonderful assistant in Yogyakarta, Indonesia, who helps me with a myriad of tasks. She gets to work remotely, which she likes. One of my stipulations is that she spend 20 hours a week learning how to code so that she can better be a part of what I’m doing and eventually can secure a job as a junior developer. There’s a shortage of programmers in Indonesia, so I’m convinced that she can eventually graduate on from my humble job to a long-term career, provided she continues with the learning. Together we will be grinding hard to achieve the following:
- Polish the AP CSA
- Develop year 1 of Cambridge Lower Secondary Computing curriculum
- Integrate it all into a LMS with Big Blue Button virtual classroom
- Secure customers for the 2026-2027 year
OK, that was a mouth full! I know this was much too long for a blog. I’d be surprised if anyone read it the whole way through, but I need to be thorough, and I needed to get started. I’ve actually had the outline to this blog sitting in front of me for the past week. Every day it’s on my to-do list, and every day it’s been deferred to the next day. It’s a lovely Saturday. I’m finishing right in time for lunch. Win!
Until later…