Category Archives: CodeLesson

Why We Aren’t Looking for Venture Investors for CodeLesson

On the heels of Kirsten’s excellent post summarizing the state of venture investing for education startups, I had a few thoughts. (OK, I actually had many thoughts.)

In Kirsten’s post, she provides four main reasons why educational technology investments aren’t happening at the same pace as investments for other kinds of startups:

  • The cost of doing a startup is low and continues to decline. I agree with this; however, this factor isn’t unique to education startups. And in some respects education may have higher costs than advertising-driven products, particularly once the business matures (see below for an example). Also, the cost of entrepreneurs’ time remains fixed, which suggests an obvious optimization for entrepreneurs: don’t waste your time by meeting with VCs.

  • Edtech founder teams tend to work on “small ideas.” Sure, although there’s certainly no shortage of small ideas in social or ecommerce, and very often the ideas that seem smallest turn out to be the biggest businesses. I think the “small ideas” notion is really a bias against the fundability of a content-driven business; it misjudges the effort required to develop a minimum viable product versus the amount of time it takes to develop a minimum viable curriculum. The amount of effort it takes to develop a minimum viable product is necessarily limited. The amount of time it takes to develop a minimum viable curriculum is potentially unlimited.

  • The rise of edtech incubators. I actually think it’s too soon to see much of an impact here. It’s true there are certainly a lot of incubators now, but we may be confusing activity with results; I don’t know of any incubated companies that have gone on to raise a Series A (although I’m sure Kirsten will correct me here). Also, the vast majority of edtech incubators seem to be focusing on K-12, which is a much tougher row to hoe from a business and traction perspective. Like most incubators I think that 90% of the effort here will (unfortunately) go nowhere.

  • Investors moving into their child-rearing years and prioritizing education (at least K-12 education) as a result of this. Maybe, sure, although you don’t see investors invest in nursing homes and catheter factories just because they’re starting to get old.

One of the ironies that I noticed when I was taking meetings with investors is that a typical venture investor who lists “education” as one of the industry categories he’ll invest in will actually invest in between zero and one actual education companies. I talked to several investors who wouldn’t invest in more than one education company because of the perception that the two companies would be competitive or otherwise conflict. This situation persists even though investors who fund ecommerce or social companies will add dozens of ecommerce and social companies to their portfolios.

(Related: more than 90% of the VCs I spoke with when I was doing VC meetings reacted with surprise when I told them that education is the #2 industry in the US. Really? You have an MBA from an elite school and you don’t know what the #2 industry is? Hmm.)

The cost issue is an interesting one, although it affects every tech startup. The cost of doing an education startup may be lower than the cost of other kinds of startups, at least in the beginning, but I’m not sure that will continue to be case for the life of the business. At their core, most education startups (including my own, CodeLesson) encapsulate some kind of custom content management system. These aren’t too difficult to build (we didn’t even build our own — to get to market quickly we used an existing open-source learning management system). We are currently in the process of replacing this with our own system (or, to use the Sand Hill Road catch phrase, some “original intellectual property”).

But there are costs, particularly in K-12 and higher education sectors, that other startups don’t have to incur. For example, it’s very challenging to rely upon traditional web-based distribution models (either organic or paid) for K-12 or higher-ed products. Teachers adopt products based mostly on recommendations from other teachers, and students adopt products that are given to them by teachers.

One way for ed-tech companies to get around this is to act like a traditional enterprise software company and hire a national sales team. Sales teams are expensive to start up, which is one reason why the cost of running an education startup could diverge greatly from other kinds of startups.

It may seem like insanity to spin up a national sales team for a company that essentially sells content, but the fact remains that there is one and only one home-run success in venture funding for professional education this year, and it’s Lynda.com, which took a $103 million investment earlier this year. Outside observers of the company credit its simple, subscription-based business model and high-quality video content, but I’m not sure these are actually the main factors in Lynda’s success. Just from looking at Lynda’s penetration into higher ed (which is substantial, and almost certainly did not occur organically), I have no doubt that a large part of Lynda’s traction came because they spent the last decade using feet on the street to sell their product on a site-license basis to hundreds (if not thousands) of universities and businesses across North America.

For us, there are a lot of risks to dealing with unqualified prospective investors. This can be expressed in terms of wasted time and opportunity costs, but also in terms of psychic costs; getting up at 4am to have some dick on a conference call tell me my business can’t possibly scale is not what I’d call life-affirming. CodeLesson has been bootstrapped (and ramen-profitable-ish) since we launched it. We have big plans for expanding the service, adding new subject areas, and growing over time. But it’s my expectation that we won’t pursue any meetings with investors for CodeLesson through the end of this year, at least. If we can’t quickly attract an investment that’s 1) greater than what we can earn bootstrapping or 2) at least as big as investments that comparable companies in our space are attracting, there’s no sensible investment deal to be made, at least from our perspective. It would be insane for us to bring a plastic knife to a bazooka fight; much better to live under a rock for a while until our better-heeled competitors with wayward business models run out of money.

(I should mention that the other reason we won’t talk to investors this year is that the work we’re doing on the site now should make a material difference in our traction and it wouldn’t make sense for us to deal with investors until we can demonstrate that traction. But even then, since we’re a paid service, if we do achieve greater traction, we still may not need investors, because to us, more traction equals more money, and it’s far more appealing to fund business operations from recurring customer revenues rather than one-time investments.)

So, to Kristen’s four reasons for lack of investment in ed-tech, I’d add two more:

  • There simply hasn’t been a Google-esque home run in the educational technology space yet. If lack of past large exits is indeed a deterrent to ed-tech investment as I suspect it is, that means that investors are actually more concerned about potential returns than startup costs. And this seems natural to me, particularly if you’re forced to invest on a 3-5 year timeline. It’s easy for an investor to see why Contextual Advertising Network #945 is worth funding because other contextual advertising networks have done well in the past. But it’s not easy to see how Video-Based Learning Site #945 is going to do since there haven’t been any billion-dollar exits in video-based learning yet. (The word “yet” at the end of the sentence is key.)

  • The perception that education startups can’t get to an exit on a timeline that venture investors are comfortable with (which is to say, 5-10 years). The gold standard here is, once again, Lynda.com, which took 12 years just to go from bootstrap to series A. That means that their current investors will be waiting another 5-10 years (at least) to see a return their $103 million. The number of venture investors who have the patience to bet on this situation is, unfortunately, small, particularly when they feel they could do as well or better in a 3-5 year timeline betting on Contextual Advertising Network #945.

So. We aren’t looking for venture money right now and we won’t be pursuing any anytime soon. We’re more or less content to bootstrap indefinitely. I’ve been coding since I was a teenager and teaching professionals to code for 20 years. It’s my expectation that I’ll continue to do this for another 20 years, with CodeLesson as my vehicle. You can follow us on AngelList if you want, but don’t expect us to post another up-and-to-the-right chart there until next year at the earliest.

In closing I should mention that I’ve used Lynda.com is an example for a number of points I’ve made here. I’m not critical of them at all; I’m a great admirer of their business and their success, and I think they’re worth emulating (particularly the part where they didn’t take an investment until they’d been around for 12 years). I also consider their business to be complimentary, rather than competitive, to that of CodeLesson (since Lynda sells pre-recorded videos while we sell access to expert instructors who interact with students).

CodeLesson ♥s Computer Science

So the funny thing about the 140-character attention economy is that it causes people to hit the comment button first and think later, maybe, if at all. This was definitely the case following my post More Universities Should Shut Down Their Computer Science Programs, which became by far the most popular and commented-upon blog post I’ve ever done in nine years of blogging.

Some people got what I was trying to say and agreed that there could be a more practical balance in undergraduate CS programs. But most commenters (especially those on Reddit and MetaFilter) completely misunderstood the point of the post, defending the discipline of computer science even though I had stated explicitly in the post that I wasn’t attacking the discipline of computer science or basic systems programming, but rather the way it was being taught to undergraduates by universities.

But people see what they want to see, I guess, and it would have been easy (particularly if you just read the headline or first few sentences) to come away with the sense that I was some kind of self-interested troll bent on destroying the academic discipline that may readers had devoted four years of their young lives to follow. I assure you, I am no troll! I come not to destroy the discipline computer science, but to reform it.

(Related: I’m going to recommend that CS majors take a few more upper-division English courses. There is this thing called “close reading of a text” that you may find useful, and most universities are pretty good at teaching it.)

Anyway, we’ve got a business to run and developers to train. And coincidentally, back in March we received a suggestion from an intrepid CodeLesson user to do a course on data structures and algorithms. We thought this was a peachy idea, so we’ve promoted the course to our catalog and added it to our Instructors Needed page. If you feel passionate that software engineers need computer science fundamentals to do their jobs and you have a few spare hours to devote to teaching (and want to make some cash), please sign up or talk to us.

More Universities Should Shut Down Their Computer Science Programs

This may get me in an assload of trouble but I think it needs to be said. Following the announced restructuring of the University of Florida CS program and this classic quote about how Yale shouldn’t be in the business of teaching “trade skills” (meaning, applied software engineering), I’m going to argue that more (not all, but more) academic computer science programs should be shut down or reorganized. Here’s my rationale:

  1. Most undergraduates and professionals actually want to learn applied software engineering, not “computer science”. Most companies want to hire college graduates who know applied software engineering. But most university CS programs don’t actually teach applied software engineering. This isn’t to say that CS isn’t useful or valuable (even to someone who goes on to become an applied software engineer). But the majority of university CS programs are oriented to training undergraduates to become either systems programmers or academic computer scientists. I’m going to go out on a limb and say this isn’t what most 18-year-olds who enter undergraduate CS programs actually want to do. And I’m certain that the ratio of the demand for software engineers to systems programmers in industry is on the order of 100:1 (maybe even 1000:1).
  2. University undergraduates are not discriminating consumers of education. This has a lot to do with the “halo factor” of schools that are perceived to be elite. If you get into the University of Michigan (which has an elite CS program) and you spend forty hours coding in Java while you get your four-year degree, you’re probably feeling pretty good about yourself, at least until you get your first job interview after graduation and they realize you can’t actually code. But if you’re in a CS program that happens to be awful, there’s no way you’d know it as an 20-year-old undergrad. This means that consumers of the resource (which in an economy usually punish substandard products by taking their business elsewhere) are really a captive audience. This is one big reason why all universities are slow to adapt and reform in general.
  3. It should not be necessary for two universities located within commuting distance of each other to have the same academic department (this goes for any department, including English Literature as well as CS). To put this another way, wouldn’t it make more sense for UCLA and Cal State LA to have a single, combined computer science program that’s among the best in the country, instead of two mediocre computer science programs? (The city of Phoenix doesn’t have four major league baseball teams for the same reason.)
  4. Applied software engineering is a discipline that lends itself to being effectively taught online. There’s no reason to suffer through a mediocre or outdated CS program when lots of good online courses are available. If you’re looking to actually learn something (instead of just getting your ticket punched) you should be able to pick from whichever course best suits your learning objectives, even if that course isn’t available at your school.
  5. Most university computer courses simply aren’t that good if your goal is to get a job doing applied software engineering. This is because the Ph.Ds who are teaching in these programs generally got their degrees from five to ten years ago at a minimum, when the tools and tactics for software engineering were very different. The industry simply changes faster than academia. Most (not all, but most) universities just can’t keep up with this pace of change using the standard administrative playbook. This isn’t a criticism of the smart, hard-working folks who work in our CS departments; it’s a criticism of the way their departments are organized.
  6. University academic departments in general should have limited charters and should be reorganized frequently. (Again, not just CS departments, but all departments.) I spent nearly all of my undergraduate career working in academic administration, and I can say that academic departments exist mostly to protect resources (mostly money and people). They don’t really exist to serve students. One good example is cited in an awesome book on educational reform called Crisis on Campus by Columbia professor Mark Taylor: one of the most pressing problems that humanity has today is obtaining clean drinking water. Yet no university has a Department of Water. Why is this? Because campuses are an endless successions of zero-sum games: the formation of a new department necessarily means that resources must be taken away from existing departments, so existing departments viciously defend the status quo, even when that doesn’t align with reality. Computer science education has not been in alignment with reality in a long, long time.

I’m going to pre-empt the inevitable Hacker News countertrolling by responding in advance to the arguments that always come up when I talk about the way that software engineers are trained:

  1. You need to have a good basis in algorithms and higher math to be successful as a software engineer, and computer science provides that. That’s probably true for systems programmers. It’s not really true for the remaining 99% of software engineers, the vast majority of which will never do pointer arithmetic and shouldn’t really have to. (If you accept this argument, then you must also accept the notion that all plumbers must have the ability to smelt copper and forge their own pipes, because how could you possibly lay pipes effectively without having ever created one with your bare hands from elemental materials?) Otherwise, you’re just enforcing the priesthood of the technologist, which is not a good thing for the profession or for society.
  2. I’m a systems programmer and/or a CS major and your post makes me confused, sad, or angry. It’s great that you’re a systems programmer and/or a CS major; I value your service to humanity. But this isn’t really about you. This is more a criticism of university administration than the relative worth of systems programmers.
  3. Coders should learn by coding, not sitting in classrooms. I’m actually not a big fan of classrooms either, but this unfortunate argument is like an abused child who boasts about how a lifetime of beatings was responsible for their good manners and generally pleasant demeanor. The state of software engineering education today is terrible, so it’s no wonder that a lot of good coders are forced to become autodidacts. But learning it on your own isn’t the best or most efficient way to do it. Saying you learned how to code on your own isn’t an indictment of the discipline of teaching software engineering; it more likely indicates that the quality or quantity of software engineering instruction isn’t what it should be. Which leads us to…
  4. You have a dog in this hunt. Yes, of course. I’ve taken coding courses in CS departments at three different US colleges. I’ve taught coding at the university level as well. I started CodeLesson because I wanted to provide awesome, up-to-date instructor-led coding courses, since a lot of universities and businesses aren’t providing this today.

Real Courses Have Instructors

One of the very interesting things we’ve learned since launching CodeLesson at the end of last summer is that a lot of people have no good sense of what it means to take an online course, even though the concept of taking an online course has been around for a very long time (predating the web, in fact).

There’s an unfortunate namespace pollution at work here. I see this done by companies that want to associate their media products with the caché of the classroom or the university. For example, “iTunes U” is not a “University” by any stretch of the imagination. Any “online course” that’s comprised of web pages and/or videos is not actually an online course. And so on.

Videos can have value, obviously. But let’s not trick customers into thinking that your pre-recorded online video is the same thing as an “online class”.

By our definition, a real class has structure, a set agenda (so you know ahead of time what’s covered in the course) and a way to reinforce and verify what students have learned (using hands-on exercises and quizzes).

And, crucially, real courses have instructors. Without an instructor, students have no straightforward way to get questions answered, you have no idea when you’ve learned something incorrectly or incompletely, and you have no idea whether you’ve achieved real proficiency.

At CodeLesson, we charge money for nearly all of our courses; this enables us to hire world-class instructors who can spend time answering students’ questions. The amount of money we charge students is generally more than you’d pay for a pre-recorded video, but a little less than what an American college student might pay for a university course. But a common criticism of our model is “why should I pay you when I can get what I’m looking for from Google” (or Bittorrent, etc.)?

You can learn stuff by Googling, sure. When you look something up on Google, you get 1,000,000 search results for every phrase you type in, you have no sense of whether the information is complete or even accurate, and you have no sense of when you’ve learned enough to be proficient in the subject you’re interested in. This is totally fine if you’re looking for a high-level overview of something. But it’s not an ideal tactic for managing the continuous knowledge acquisition that a professional should be basing their career upon (particularly if the value of your time is greater than zero).

Not everyone is an autodidact. Not everyone should be an autodidact. I think that people are forced into being autodidacts because the two institutions they historically relied upon to convey technical skills (the university and their employer) have utterly failed at supplying the material that technical professionals need to learn today. This didn’t used to be the case (I’ve blogged a few times and over at the CodeLesson blog about how I traveled the world doing developer training in the 90s).

But the point (and I do have one) is that it’s no longer necessary to travel the world to get access to expert knowledge. Learning can happen online, effectively. And it’s terrific that there are lots of formats and price points out there. But it’s time that we make a clearer distinction between the different types of online learning to avoid snowing prospective customers.

CodeLesson ♥ Etsy

Today we announced A Gentle Introduction to the Etsy API. This course is an important milestone for CodeLesson for two reasons:

  • It’s the first CodeLesson course produced by someone other than us. The curriculum and instructor will be provided by Etsy; we’re handling the details of getting students registered, hosting the learning software, setting up shell accounts for students, and so forth.
  • It’s our first free course. We’re able to make this course free to students thanks to the generous assistance of Chad, Justin, and the Etsy team. Thanks guys!

Today marks the transformation of CodeLesson from a somewhat functional online learning site into a mighty platform where anyone can learn and teach anything. We hope to announce more courses like this in the near future, so if you’ve got something you want to learn or teach, please let us know.

What’s Happening on CodeLesson

Our mighty mighty online learning site, CodeLesson, continues to astound and amaze us as it slowly consumes my entire career forevermore. Here’s what’s going on with the site today:

  • My PHP course is proceeding apace. We are in week six of the course and no one’s brain has exploded yet. (At the same time I’m also teaching a modified version of the course for our partner, the University of Victoria.)
  • We started our first session of Introduction to Web Publishing (our WordPress course) this week.
  • The indefatigable Zed Shaw’s Introduction to Python Programming will start on November 8. There’s still space in this course, but it’s looking like it will fill up — you can sign up for the course here.
  • We are talking to a few more interesting instructors and hope to have some new course announcements in the next week or two.
  • We added a few new courses to our catalog to see if there’s interest: Google Chrome Extensions, a PayPal course, and a few more that you can see on our newly-compacted course catalog page. If any of these courses are interest to you, click on the big orange Add Course button to let us know you’re interested. (Some of our courses don’t make it onto our schedule until there’s sufficient student interest.)
  • We are itchingly close to announcing our first free course which will be sponsored by an awesomely excellent technology company of which we will be able to hopefully disclose more information soon.
  • We are having some interesting preliminary discussions with prospective investors who are mightily impressed at the fact that we have figured out a way to get people to pay for goods and services on the Web. Yay us!

Overall I can say that I’ve been blown away to the response to what we’ve been doing, and I’ve been particularly heartened by the dozen or so people who have stepped up to teach courses, suggest new topics and otherwise refine our offering. Thanks, all you cool folks.

Screencast Video: Installing WordPress 3.0

This is a screencast video that’s part of my Introduction to Web Publishing course on CodeLesson. If you’re already a WordPress jock this will be old hat to you, but if you haven’t installed and run your own copy of WordPress, this should give you a sense of how it works. It’s not difficult, but there are a few steps and a few things to know.

I had to edit this to get around YouTube’s 15 minute limit; there’s another part to this (the bit where you actually upload the files to your Web server). For the CodeLesson course we don’t use YouTube for video viewing so there’s no size limit and students can view the videos at their original HD resolution if we have it.

Upcoming CodeLesson Courses

It’s hard to believe it’s been less than six weeks since we’ve launched CodeLesson. The response to the site has been terrific and we’re having some enlightening conversations with students, instructors and others about what they want to see from the site.

My CodeLesson PHP course is in progress, and it’s going really well. It’s a small, energetic group, more than one of whom are fellow startup CEOs, which was great to hear. We’re all about smashing the divide between the geeks and the suits.

Meanwhile, we’ve brought on a team of instructors to teach some more courses, a few of which are on our course schedule now:

  • Introduction to Programming in Python will start November 8 and will be taught by the most excellent Zed Shaw.
  • Introduction to Web Publishing is our introductory WordPress course. If you’ve ever wanted to run your own Web site but weren’t sure where to get started, this course is for you. This course doesn’t involve coding, but it does cover how to set up, configure, and manage WordPress from beginning to end. The course also covers new features of the recently-released WordPress 3.0. I’ll be teaching this course, which will start on October 18.
  • Developing WordPress Themes was just announced last week; this is a more advanced WordPress course that will show you how to use your HTML and CSS skills to create custom WordPress front-ends. The instructor for this course will be Cheryl Chung.
  • We hope to run a session on The Ruby Programming Language in November. We should be able to announce the instructor in the next week or so, but the guy we’re talking to has written a few books on Ruby and is basically drenched in awesome sauce.

We have a few more courses lined up (JavaScript and jQuery are biggies with me), and we’re also taking suggestions for new courses. Which courses would you like to see taught on CodeLesson? Let us know.

Also, we’re starting to get requests from businesses who want use CodeLesson to teach courses on their technology products. We’re calling this “CodeLesson for Your Business”;  we should have some announcements with specifics about how this will work around the holidays. For now, if you have a technology product that you want to provide training for, let me know in the comments and let’s talk.

CodeLesson Month 1: Processing Feedback

In the weeks since we’ve launched CodeLesson we’ve had a decent amount of uptake (hello, actual money in exchange for goods and services!) and we’ve had a lot of great conversations with people about what we’re trying to do with the product. Some of the feedback we’re getting has to do with real-time learning experiences and videos, so I thought I’d capture some of this here.

One of the questions we’re getting is whether our courses are based on some kind of live video feeds. The answer to this is no; from my experience giving and receiving various kinds of online learning, “live” or “real-time” anything isn’t really what most students actually find to be useful. I think that video can be valuable, but only as one component of the process. Personally, I find it much easier to learn by reading from a printed page, but there’s obviously a place for a visual demonstration of what’s going on, and that’s where video comes in.

There are plenty of sites that provide recorded video tutorials, and we incorporate that content into our courses, too. I use a bunch of screencast video in the Web Design and Management course I teach for the University of Victoria, and the CodeLesson PHP course I’m teaching now has a few screencasts as well. But they compliment the written material in the course, they don’t replace it. I don’t even really consider a bunch of videos by themselves (either live or pre-recorded) to really be a “course” since, to me, a course is something that has an instructor who can answer your questions and tailor what’s going on in the course to the students’ needs. I understand why online learning sites would want to do this (no involvement with a live human means, at least in theory, that their businesses are very scalable), but it’s not the kind of thing we’re looking to do with CodeLesson.

That said, I think that the folks at Lynda.com, iTunes U, and sites like NETTUTS are doing amazing work; we’re looking at ways to incorporate the kind of content that they provide into our courses. It’ll probably be easier to work with sites like NETTUTS, honestly, because they make so much of their stuff available for free and what they provide is very relevant to what we’re trying to do.

In general, though, the key thing to bear in mind with respect to video learning is that it’s not a terribly high-bandwidth way to take in information. Live video is even more challenging than pre-recorded video as far as information density goes, but more importantly, to take in a live video, you have to be online at a certain time. A big advantage of online learning is the ability to time-shift (this is the same advantage of email over voice phone calls); providing live video takes away that advantage. Not only does this time-shifting give us the ability to work with students who have day jobs or weird schedules (enabling them to do course activities more or less at their convenience), but it enables students in any time zone in the world to take our courses. This is a great deal for students who aren’t located geographically close to a technology center, and it’s great for us as a business because we can work with students who live in nearly any country in the world.

Our New Product: CodeLesson

CodeLesson LogoJust realized I haven’t made mention of our new product CodeLesson here yet (if you’re a Twitter or Facebook follower this will probably be old hat to you). CodeLesson is a place to take instructor-led online training courses. We’re doing technology courses today ’cause that’s mostly what we know, but later on we’ll be doing other types of courses and open up what we’re doing to anyone who wants to teach.

My wonderful wife Carole (who has a Master’s in education) is advising us, and our partner for this project is the indefatigable Ernie Hsiung, late of Yahoo and Ning, who has been working with us on some consulting projects in the last few months and is a really splendid chap.

We have several courses outlined on the site right now, two of which are taking place soon:

Web Programming with PHP (starts September 7). This is a very gentle introduction to Web programming for anyone with a good handle on HTML and CSS. It’s a twelve-week course which will be taught by me. The curriculum was also developed by me in cooperation with the University of Victoria (I’ve been teaching for them for a year now).

Introduction to Web Publishing with WordPress (starts September 20). This class is short (five weeks) and not super technical (no programming). The objective is to help you run your own Web site using the free, open-source WordPress content system. You start with a clean Web server and get all the information you need to set up, configure, work with and customize WordPress.

Online learning is a big deal in the US right now; with the University of California’s move to establish an all-online bachelor’s degree program, it’s safe to say that online learning is approaching a tipping point. But universities and private trade schools have a number of institutional barriers to producing consistently good online courses: they’re constrained by the calendar (they can’t vary the duration of a course because they’re on a semester/quarter schedule), they only teach what their professors happen to know, they innovate at the sluggish pace of a university bureaucracy, there’s a bias toward courses that will support the notion of an expensive campus and against courses that are practical and current, there’s no incentive or infrastructure for instructors to share course content, and a lot of departments and instructors just aren’t attuned to giving their curricula online (many of them actually perceive online learning as a threat). CodeLesson aims to fix those and many other problems by providing a net-native learning experience and eventually opening the experience up to anyone with the desire to teach and learn.

Are there online courses you’d like to take that we haven’t thought of yet? Do you have any questions about the format or content of an online course? Let me know in the comments!