Category Archives: Education

Current edtech still fails too many students

In recent years we’ve seen waves of really cool edtech – Coursera, MOOCs, Codecademy, etc. I’d even include privately run for-profit conferences and workshops sold through online ticketing platforms as a form of edtech disruption.

As an educator, I like seeing innovation happen. A lot of these disruptions exist because they are successfully capturing some previously unserved niche. Many of these disruptions are displacing other forms of educational materials, like textbooks.

What I’m not crazy about is the over inflated hype surrounding some of these technologies. In particular, the idea that they have the ability to make schools themselves obsolete or irrelevant. These hype cycles around new technologies are pretty normal. But if the printing press didn’t make schools obsolete – as much as I love them, these edtech solutions won’t either.




One of the fundamental problems with a lot of this tech is that education is an inherently social activity.

No matter how much material you make more technically accessible in terms of ease-of-access or economically accessible in terms of cost-of-access, the material can still be educationally inaccessible to the recipient (for lack of a better term). We haven’t invented the brain-to-computer interface yet – the recipient still has to be able to process and make sense of whatever material they experience.




Take Wikipedia for example. It’s free, open, contains much of the world’s important information, and it’s physically accessible to everyone. But the readability scores on wikipedia articles indicate they are too challenging for a majority of their readership. So even though the information is all there free online, that’s not truly enough to make it accessible.

Or as another example, how much is a good MOOC really disrupting education? If you can get 10,000 people to go through an Intro to Calculus class, great, but how many of them would have previously just opened a textbook instead? How many of them are already formally educated and are adding an additional skill in a quicker, cheaper, more fun way than they could have done so before? How many of them are somehow marginalized vs. in a good socioeconomic situation?

To me the potential with a lot of these new technologies is to integrate them alongside traditional instruction – much like how textbooks, TVs, and projectors/slides have been used to compliment traditional instruction.

The real long term dream of edtech – freely available high quality education that is accessible to everyone in the world – is going to require more than MOOCs, badge-level gamification, and open repositories of information.

I’d love to see more edtech that is focused on helping the marginalized, though I realize (through first-hand experience) that it’s hard to sell apps, or anything, to people with little money. Maybe that’s where governments will step up, I don’t know. I’d also love to see more edtech that’s built with a view towards complimenting traditional instruction rather than misguidedly trying to replace it. Initiatives like this ESL pilot project that integrate the inherently social nature of education get two thumbs up in my books.

Most of all though I’d love to see a new breed of edtech that can handle situations where the student doesn’t get it, perhaps because they can’t get it for some reason (e.g. lack of background knowledge, mental health issue), and correctively responds to the situation in an effective manner. That’s where there is a chance for truly massive disruption and ROI – and I don’t think it needs to be done via a silver bullet, more like a “next-generation approach” to edtech.

I realize it’s much easier said than done. So in the meantime, I’ll let the Vulcans give me hope…



Interview with Teachably creator Vince Angeloni

Check out the interview below with Vince Angeloni (@vince_angeloni) about his new edtech startup Teachably. You’ll be able to see a live demo + Q&A of Teachably at DemoCampHamilton17 on June 17th inside The Art Gallery of Hamilton!


vinceTell me about yourself.

My name is Vince Angeloni, I’m from Hamilton, Ontario and I am a User Interface Designer, Web Developer and entrepreneur. I have been in the industry for almost 10 years collaborating and building products for startups in Southern Ontario. During this time I have helped design applications for KFC, PizzaHut and FlightNetwork.


What is Teachably all about?

Teachably is a cloud based all-in-one management suite for teachers that allow them to manage everything from their students, class timetables, and create lesson plans. It’s main goal is to provide simplicity and organization into teachers’ lives.


Why did you decide to create Teachably?

Teachers are some of the hardest workers I have ever met. Their passion and drive is inspiring. They have an incredible amount of work load when not in the classroom, not to mention being an inspiration and role model for students on a daily basis. In the education technology industry there seems to be a lack of focus on how humans use software. With my years of experience creating products around how human beings use them I decided to create a product focused primarily around using modern development technologies along with modern approach to interaction design to create a much simpler product to not only save teachers time but reduce the amount of tasks and workload they have.




Why should teachers use Teachably?

Every teacher works differently, not one does the same thing in terms of organizing their lessons and keeping track of their students. With that said, we are dedicated to building a product that everyone can use. You don’t need to be a computer expert to use Teachably or be part of a long introductory keynote on how to use it. It’s simple user interface allows teachers to get started using it quickly and easily. We have a growing set of features that teachers are actively involved in developing. In the next month we plan on releasing more features like interactive whiteboards that can be used right from the web browser that can plug into any SmartBoard reducing the need of any extra software.


What is your monetization plan for Teachably?

As of current we haven’t finalized a monetization plan but it will be a monthly fee for accessing all of the features of the product. Special discounts will be available for group membership purchases (for faculties) and of course we will always have a demo membership that will allow you to preview all of the great features for a limited time.




Where do you see Teachably going in the future?

Teachably is just getting started. With my heavy background in mobile design and development, there is no doubt we will want to get the product not only on desktops and tablets but allow teachers to seamlessly manage everything on their account through their mobile phone.

We also are using the latest web technologies to build in some features that will make it more interactive not only to teachers but to parents, students and faculty.


What tools did you use to build Teachably?

Teachably is built primarily on Ruby on Rails with front-end being managed by jQuery, HTML5 and SCSS. It is running on a Heroku server and a PostgreSQL database. In the coming months we hope to continue to ramp up on using all the latest, modern web development technology.




Do you see any particular trends happening in edtech? How does Teachably fit into these?

Education Tech is right now heavily focused on building products that allow interaction with students to help them learn. While Teachably’s main focus is the teachers and helping them stay organized we can’t ignore the fact that the students are a big part of the workload. That’s why we will be building in features in the future that will allow teachers to use Teachably to interact with students and help them learn while also staying organized.


How can the community help you make Teachably a success?

Teachably is focused and built around the teachers. Without them it would not be possible to continue, so the more input we get from them we can build out the product to their liking. We listen to our members as a sort of crowdsourcing tool. We are not fans of companies that build products for themselves and not their users, we want to break that tradition with Teachably.


New CoderDojo sessions in June



Hammertown CoderDojo (@HammertownCDojo) is the Hamilton branch of CoderDojo. CoderDojos are free, not-for-profit coding clubs for young people ages 7 to 17. At a CoderDojo, young people learn how to code, develop websites, apps, programs, games and more. Dojos are set up, run by and taught at by volunteers.

HammerTown CoderDojo will be running a series of sessions called “Scratch at the Library” in June, check out the details below:


Scratch is a fun, easy-to-use language that you can use to make games and animations. It’s a great way for new coders to learn many techniques of programming as they modify a huge variety of online games or create their own. Scratch is a visual language; instead of typing in syntax, you drag and link together icons that let you build images, move them around in various ways and respond to user input.

Ages: 8–14, Perfect for beginners, please bring a parent or caregiver with you.

Where: Terryberry Branch, 100 Mohawk Rd W.

Time: 2:00-3:00 p.m.,

Dates: June 7th, 14th, and June 21

Registration required – Contact the Terryberry Branch at 905-546-3921 to register.


Details were originally posted here:


Self-learning is not enough

Last month I wrote an article about how years of development experience is a poor metric for evaluating software developer quality. I concluded that…

If I had to pick one trait to filter for, it would be self-learning, i.e. evidence that the developer actively chooses to self-learn offline and online and then applies that learning to their own side projects.

Lately I can’t stop thinking about ‘what makes a developer a great developer’. Something’s been bugging me about choosing self-learning as the most important trait. I don’t take back that self-learning is the most important trait mind you. I’ve just had a gnawing suspicion that the statement needs a (few) caveat(s).

So, what’s the fundamental problem with self-learning?

You don’t know what you don’t know.

This is a critical obstacle to growth as a developer.




In a two part blog series (part 1, part 2) Erik Dietrich (@daedtech) talks about the “rise of the expert beginner”. He introduces the concept of the expert beginner through a bowling analogy.

He says that in his early days as a bowler, he developed a technique that didn’t involve putting his fingers in the bowling ball. This technique worked well – to a point. He was able to improve to a certain level in the league that he played, scoring up to 160 a game. Until he stopped improving. An old manager eventually told him what it would take to improve:

“There’s nothing you can do to improve as long as you keep bowling like that. You’ve maxed out. If you want to get better, you’re going to have to learn to bowl properly. You need a different ball, a different style of throwing it, and you need to put your fingers in it like a big boy. And the worst part is that you’re going to get way worse before you get better, and it will be a good bit of time before you get back to and surpass your current average.”




The concept of an expert beginner is elaborated from this observation:

The Expert Beginner has perfected the craft of bowling a 160 out of 300 possible points by doing exactly the same thing week in and week out with no significant deviations from routine or desire to experiment.

The self-learning expert beginner can find themselves in a position where they do ‘good enough’ and even ‘better than most’ but not ‘truly great’. By not knowing and/or actively avoiding their own knowledge gaps, the expert beginner misses out on discovering what they don’t know. This is a huge inhibitor to growth.

It’s not unusual to see expert beginners inheriting positions of authority. After all, they perform stronger than pure beginners, creating a perception of expertise.

How do you avoid the expert beginner trap?

Recognize that self-learning doesn’t mean learning by yourself.

Self-learning means actively seeking out and exposing yourself to different knowledge and beliefs than your own.

Attend events in your local software development community. Attend national and international events in the software development community (and bring that knowledge back to your local community!). Complete College and University level diploma and degree programs in your field, maybe even do a masters part-time, as these programs by definition ’round out your knowledge and diversify your experience’. Identify good mentors online and offline. Keep working on your mathematics background. Try to understand technical opinions held by developers that you might (at least initially) disagree with for whatever reason.

Actively try to seek out what you don’t know yet, and especially why those things may be important.


Build your own lightsaber

Our industry is booming, not just in Silicon Valley, but all over the place. The job outlook for software developers is great as a result. However a lot of these jobs aren’t the “computer programmer” jobs of the 1980s and 1990s. A lot of these jobs are front-end web development work for example, jobs that often require additional skills (graphic design, ability to communicate effectively with clients, etc.) not typically associated with the old school hacker stereotype.




There’s a lot of debate and articles out there trying to define the differences between a developer, designer, programmer, coder, computer scientist, computer programmer, software engineer, software developer etc. I don’t really want to get into that too much. The truth is it’s a mess to try to define. So few people agree on any particular arrangement of labels.

There’s also the problem that people turn labels into unnecessary hierarchies, when it’s really just a matter of differences. There’s a lot of great front-end developers who have no interest to learn theoretical computer science and there’s a lot of great back-end developers that don’t have a knack for graphic design, but often times you need a balanced team to create something great. Suggesting one is better than the other is like suggesting a defenceman is more important than a forward in hockey – both are required to win, so it doesn’t really make much sense.




That said, we’ve seen a lot of innovative efforts to crank out more people that “know how to code” to meet the demand for these new job openings:

Going back to the hockey analogy… we’re doing a great job developing talent at the “forward” position let’s say, but what about the other positions on the tech team?

Lately I’ve noticed an uptick in people contacting me or asking me about things like scalability issues, code generation, and analytics. There are some problems out there where no matter how brilliant a manager leads however many great people that “know how to code”, it’s not going to be enough to solve the problem. There’s some problems that just necessarily require some “hardcore” mathematics and computer science to properly and economically solve them. Solving these hard technical problems is critically important to the success or failure of many startup businesses. Look at what happened to Friendster (founded by McMaster computer science alumni Jonathan Abrams):


…it basically came down to failed execution on the technology side — we had millions of Friendster members begging us to get the site working faster so they could log in and spend hours social networking with their friends. I remember coming in to the office for months reading thousands of customer service emails telling us that if we didn’t get our site working better soon, they’d be ‘forced to join’ a new social networking site that had just launched called MySpace… the rest is history.


So I worry a bit that in our industry’s rush to “teach everyone to code” or “just build an MVP” we’re neglecting the importance of the mathematics and computer science behind a lot of great products. I wouldn’t even just limit it to mathematical computer science, I’d add other computer science subtopics to the mix too like software testing, design and usability. I’m sure supply and demand will correct any imbalance over the long run, if indeed there is an actual problem.

But to newcomers who are learning to code for the first time and finding that they enjoy it very much, I’d encourage you to keep going. If you’ve gone through a Codacademy, learn to code workshop or coding Bootcamp and have “caught the bug” (no pun intended) and find yourself thirsty for more technical problems, there’s a lot more out there you should know about.

If you find you love creating and modifying WordPress themes, try building a plug-in next. If you get that far, try building an actual content management system next. Yes, those are some pretty big leaps, but if you find yourself loving it, why not make the jump? You’ll be opening yourself up to positions that let you build more complicated software systems. A huge amount if not the vast majority of work in our industry is at this technical level too, and it tends to be better paid.



What if you want to keep going even further? Some people will tell you to “re-build an existing popular web app”. For example, try to make a Twitter-clone. That’s not a bad idea.

But I think an even better idea is to build a compiler and/or operating system. Why? Because Jedis know how to build their own lightsabers, that’s why! Like a Jedi’s lighsaber, compilers and operating systems are your most foundational tools as a software developer. Understanding them enough to be able to build your own isn’t directly essential to your career, but it will make you a stronger developer.




But also because compilers and operating systems are where a lot of more foundational computer science concepts “come together” in an interesting way. Building a compiler and an operating system forces you to put together different areas of computer science in an interesting and practical way, knowledge of everything from the registers in the CPU to formal grammars is required. It’s the thought process of having to put those different areas together that matters.

Building a compiler and operating system will also force you to learn about how the programs you write execute on a more fundamental level. Because unless you are writing assembly code some form of compilation or code transformation is happening to your programs at some point, and the program is operating in some form of operating system/environment.

Chances are you will never have to build a compiler or operating system on the job, the employment in these fields is practically a niche area in the field. It’s just not a skill that everybody needs to have. But if you can build these tools yourself chances are you’ll have obtained enough experience at figuring things like this out that you’ll be able to tackle other problems where their solutions require piecing together knowledge from otherwise unrelated areas of computer science.




Want to give it a try? Here are some resources…



Basics of Compiler Design – free PDF book
Dragon Book and related course notes
Let’s Build a Compiler by Jack Crenshaw

Coursera / Stanford compiler course – includes an optional project where you build an actual compiler


Operating System

The Dinosaur Book

PintOS – Nice and simple educational OS project out of Standford



Interestingly, I’m not the first to make the (very nerdy) argument about Jedis building their own lightsabers in relation to compilers.


HammerTown CoderDojo further expands local learn to code movement

This afternoon at Mohawk College (@MohawkCollege) I was able to attend Hamilton’s first ever CoderDojo event:

CoderDojo is an open source, volunteer led movement orientated around running free not-for-profit coding clubs and regular sessions for young people. Since CoderDojo is open source all Dojos are different and completely autonomous!

The HammerTown CoderDojo (@HammertownCDojo) launch event involved an explanation about what the CoderDojo movement is all about and what sort of programming HammerTown CoderDojo is planning to offer. This new initiative is led by McMaster University gScale lab researcher Brock Dubbels, and the inaugural event started off in a totally packed room filled with children and parents before moving to the computer labs.




Inside the computer labs the group I was with used the light-bot web app to teach simple algorithms including procedures in a fun social puzzle solving sort of way.




HammerTown CoderDojo joins and expands upon a growing movement of local learn to code events and initiatives. Just last weekend GHTGT (@GHGTrecycling) held a Tech Camp and Mabel’s Labels (@Mabelhood) ran a HelloWorld Camp. And let’s not forget the McMaster software outreach program that has reached over 1500 Hamilton-area children this year, Gr8 Designs for Gr8 Girls and the new Ladies Learning Code series of events too!

Software is written by people and tech startups are founded by people. If we want to continue to grow this industry these initiatives couldn’t be more important!

Hamilton and Waterloo unite to teach kids how to code

Parents and children crowd around two large white tables where circuit boards, wires, laptops, tools, stickers and markers lay splayed across the surface. Four home-made robots, built over the course of the full day, also lay on the tables in anticipation for their presentation to the entire group. It’s late in the afternoon at Mabel’s Labels HQ, in Hamilton, Ontario, and the four coloured teams are ready to show off their hard days work. One after another the teams present their robots, and each one is able to wow the crowd with unique functions, sounds, and plenty of attitude. One robot sneezes when a child reaches too close to it, another frowns unless someone tickles her, another begins blinking her eyes in spectacular patterns. Which ever robot it was, there was something to impress and delight everyone present. Surprisingly, this kind of scene is the norm for Gillian Gutenberg, founder of Hello World Camp.

“Hello World Camp is a tech camp in Waterloo Region for kids. We explore programming and multimedia, build robots, and take special field trips to local companies.

We also offer neighbourhood coding clubs and family workshops.”

Gillian of Hello World Camp, far right, clapping along as a robot presentation wows the crowd.

In Toronto, while volunteering at the Girls Learning Code March Break Camp, Gillians eyes opened up as to how rewarding solving these programming challenges were to the young girls. With that, and the support of friends and colleagues, she began developing what has come to be the Hello World Camp’s core teaching methodology. Through the use of physical computing, a mixture of software and hardware engineering, Hello World Camp allows students to receive instant feed back from their hands on work. As I write this, there are more than fifteen kids running around installing motors, wiring circuit boards, programming lights, and installing sensors; all here in one action packed day. Watching the childrens’ eyes light up as their robots come to life assures me that the learning today, ignites curiosity and a passion for possibilities tomorrow.

Kids learning to code

Katie Clarke of Mabel’s Labels, helping a bunch of curious kids figure out how to work the hardware / software interface

Kids learning to code

Nay and her son adjusting some parameters on the console. Parents and children alike worked fearlessly towards accomplishing their goals!

Today I witnessed a 9 year old girl battling with the wiring of her circuit board, upset with the motor as it would start vibrating unexpectedly, and then working feverishly to get it to behave as she so desired. For this kind of reason Hello World Camp considers physical computing a prime medium for children to learn how to work with hardware and code in a challenging and rewarding way. With how engaged I saw the kids today I have to say that I fully agree. Best wishes to Gillian and her program over in Waterloo. We know that opportunities are building up and we are glad to share and be a part of them and we know how grateful Gillian can be. You can find Hello World Camp over at Look out for them in the future, and if you want to know where to hire in the next 10 years, look no further than the Hello World Camp alumni! ;)

How I created my SkillShare class

Originally posted on

Special note to Software Hamilton people: Once this class officially opens on December 4th, I’m going to need help populating the student projects section to make it look lively. I’m offering 20 free coupons for anyone here to use or share. The coupon is SWHAMONT. If you do use the coupon, please see the class through to completion (approx.1-4 hours) and share your work in the projects section. If you need help I’m offering free tutoring to you as well. Many regards!

So I launched my SkillShare class yesterday (JavaScript for Non-Programmers : Code a Pong-Like Game. Check it out!). It took about 4 months (on and off) to put together starting early August. The original class stemmed from a live workshop myself and a couple of other guys put together last January. I also launched which for now acts as a landing page for the same SkillShare class. I used flatro multi purpose landing pages theme from theme forest and hacked the components to a simple arrangement.

My promo video (which I will actually be replacing/upgrading very soon):



Tools I Used:

Google Drive (free) – For creating slides, which I then downloaded to PDF to share with the class.

Camtasia (paid) – For recording video & audio, screen capping and video editing.

VLC (free) – For viewing outputted files. Also for ripping audio out of my initial recordings for further processing. Camtasia’s audio processing is limited.

Cool Edit Pro 2 (paid) – The predecessor to Adobe Audition before being bought out, for converting to mono and doing some normalization + compression on my voice recording.

SnagIt (paid) – For taking screen shots and grabbing particular sections of the screen. Very handy as it freezes the particular image, so animated frames are caught exactly as intended.

Adobe After Effects – I downloaded Adobe cloud so that I could use the after effects trial. I purchased the vintage promo AE package from video hive and rejiggered it to work with my product offering. I’m not sure if it was the best choice but it stands for now. I’d like more people or faces to be in the advert/promo.

For music I searched “free bed music” and ran into podingting bear on, which turned out not to be free, but relatively cheap so I purchased a license for two songs (promo/intros, outro).

I have a General Electric condenser Mic (that I’ve had for over 10 years), and a Focusrite USB audio interface. When I recorded the video I kept my pre-coded stuff on my left monitor with comments in the code directing me on which steps to do next. This way I would keep a good flow going instead of having to tab in and out of notepad or my slides for instance. It worked well.

I’m promoting Cyber Monday code and I will see how that will hold up to my expectations. I’ve got some (modestly funded) campaigns running on FB, twitter, reddit and adwords, and will be monitoring performance. If they fail to gain me any traction I will try again in the new year with some more campaigns. I see success in the future, even if it is a really slow build! That’s all for now.

If you view (or even take) the class, feedback would be priceless. Yours truly!

Don’t forget to follow me on twitter or sign up to the newsfeed.

« Older Entries