Cultivating Coders gives communities and kids the opportunity to learn how to code. Which for them in the longer run means getting the opportunity to learn a skill to help them financially and have access to a higher education and career pathway in life.
This summer I was an instructor at a Cultivating Coders Bootcamp. CCV (Cultivating Coders) was boosted and sponsored by PNM and Facebook. Everyone in class got a thinkpad and the chance to learn how to code. CCV is a grassroots operation headed by Charles Ashley III, that caters to each community that it reaches out to, most of these communities develop applications specific to their needs. The curriculum has been developed by Brandon Trebitowski. It is concise and modular. Organized by topics and sub-topics. Such organization is an oasis to information overload.
I spend copious amount of time learning and thinking about new ways of learning. Both of which intersect work. Here are some of the lessons, observations on learning and instructing during my time as an instructor.
In class we used codepen and sublime text. Using google was encouraged as a way to learn how to ask the right question. Usually starting with "How to...?"
Codepen was a huge time saver since everyone could fork exercises and projects to work on.
Coding worksheets were also used since I wanted to combine learning how to work with the DOM as well as some JS concepts. Instead of explaining JS concepts as standalone topics.
Learning to code is like playing a RPG in which you have unlimited lives and different ways of doing things. Fail well. Learn why something didn't work and workout what could have been done better.
Unfortunately those not good at accepting failure, limit themselves within the boundaries they feel comfortable in.
The class was okay with not getting it the first time, once they knew they weren't being graded and had multiple chances to complete a task. They peer reviewed each other's work and helped each other get there.
So ultimately "failure" was replaced with "not getting it as yet".
The students in class who took a moment or two out to read documentation, tutorials learnt better as they gained a multi-perspective view of the same topic.
A strong vocabulary helps in learning more complicated logical symbolic constructs that have to be verbally explained sometimes with the use of metaphors.
Not everyone works better in a group to start off with. Some of the students preferred to read on their own and took self timed breaks. Others wanted to discuss it with the person next to them.
Coding classes do have their share of introverts. Also since this is no-man's land for them, group work would have intimidated them to start off with.
However, for hackathons learners were required to work in groups. This worked fine as by that time each table had started some kind of conversation with their table mates.
Learners committed to coming to class everyday and committed to learning (no phones, self timed breaks) got more out of their boot camp experience.
Commitment in action requires discipline.
50% was showing up for class and the other 50% was being mentally present in class.
This is like #100daysofcode
Learning is not easy. It is a skill like any other. The learners were empathetic to each other and worked together on common and individual problems. Which in turn made it more approachable for them.
Motivation and rewards for learning are pretty much the same across different fields and industries. The motivation and reward is entrepreneurship and money.
The youngest in class along with his 3 team mates (ages 11-13) made their own RPG, uploaded it on gamejolt.com and made 99 cents on their 2nd day when someone from Brazil and some place else bought their game.
They've decided to keep working on the game and asked one of their parents to set up a paypal account for them.
This was the youngest age group in class. I didn't help them besides looking at their code and giving a few suggestions. It would have taken the joy out of their learning experience for me to give any kind of adult perspective on something magical for them.
Some of the older ones in class, got to make websites for clients that they had sought out. They had been taught twitter bootstrap and once it clicked how they could use themes to prototype websites faster, they took on more work on their own.
One of them made a website for her mother's restaurant, and another student traded in his skill to get his car repaired.
We did 2 hackathons in class. Each group was assigned a project with a certain amount of sub-tasks that had to be completed. Each group had a project manager. The deal was that the winning team got a prize and the project manager of any team that did not finish all sub-tasks had to complete any left over tasks the day after!
Each team got 3 hints, to be used only if their question wasn't google-able.
The hackathons bought about some very interesting work. One of the team's got assigned the task of creating a shopping cart using what they had learnt about DOM manipulation.
I sometimes pretend I don't know the solution at all, therefore their problem is novel. Give the students a few hints and wait for them to google it and come up with their own solution. I think that's way more magical and makes the act of learning special.
We went hard for a month. They were allowed to take a self timed break if necessary. For the first month it was all about learning, re-enforcing and practicing. I wanted to cultivate a bootcamp experience. That doesn't mean it was like a prison! Though I sometimes do forget to take a break..
The second month they were worked on their own projects out of which a week was spent on Git, and revision of JS concepts.
This is the time when a lot of creativity and group work emerged since they had prior basics to build on.
In the future I envision virtual reality learning pods, where a learner can go, learn and engage with a particular topic/subject in addition to reading books. Partly because this is the way I always wanted to learn..And later on discuss it with peers and instructors.
Maybe degrees will be based on the commitment to completing a peer reviewed open source curriculum online and not admission to a particular institute if learning does become open source.
Perhaps we are already on our way there with MOOCS offered by Coursera and edX in collaboration with universities, for example most recently University of Pennsylvania's online master's in comp sci
However, learning by solving problems together at bootcamps should and I presume will become more popular.
It was a lot of hard work but anything worth getting isn't always easy. They had reached the end of the bootcamp and were equipped with some solid skills. Of which one includes not looking at your phone for 3 hours :) A couple of them weren't happy about graduation day since they wanted to spend more time on their projects.