JavaOne – Disrupting Engineering Education

“Disprupting Engineering Education; Hello from 42”

Speaker: Tony Hendrick, Oleksandra Fedorova & Giacomo Guiulfo

For more blog posts from JavaOne, see the table of contents


https://www.42.us.org

42 Silicon Valley

  • tuition free coding school
  • no teachers
  • no classes
  • when start – can only communicate by Slack
  • the application process starts with two logic games with no instructions. The first test involves memory. If you pass, you get an email with the next steps
  • Then comes the piscine a 4 week crash course in C with daily peer reviewed exercises. Each weekend get an individual and group project. 10-15 hours a day for 28 days. Then whatever want; most students choose 8-10 hour days
  • Staff doesn’t answer questions. They tell you to ask other students. 250-300 students
  • 3-5 year program. Twenty one levels to go through. Self paced
  • Start with writing a C library then can choose branch working with 4 other people
  • high school diploma required only if under 18
  • Supplement with other resources. ex: coursera
  • Buiding open 24×7 so can work when want. Must be in person for tests, grading, etc. Want to build face to face skils for office
  • Learn many languages
  • Must do coding internship after a year. Can pause account if get offer or contract job (or family suitation)
  • Funded by philanthropist
  • Grading is pass/fail. If a tiny bit wrong, still fail
  • Paris campus opened in 2013 and US campus opened in 2016. Also have satelitte campuses in a few countries

Branch choices

  • unix – to become systems programmer – make unix commands, shell
  • graphics – math heavy, fractals
  • algorithms – rebuild common algorithms from scratch and then projects

Example Projects

  • Reimplment printf
  • C++ crash course (in a crash course a project is due every 2 days for 2 weeks
  • Mock interviews – algorithms on whiteboard

Staff
10 full time staff
600 students
1024 computers
staff create opportunities – ex: book room for club

Learning Techniques

  • Active learning – few instructions so figure it out
  • Learning through explaining to others
  • Ability to adapt, research ability, speed
  • Randomized team vs choose a team depending on project

42 Embassadors
Volunteer – demos, registration desk at this conference, etc

My take: Interesting approach to learning and building a community of learners. This sounds way better than what the coding bootcamps are trying to do.

coursera saas-class and mitx circuits class feedback

After AI-Class, I blogged with some feedback.  Over the past month or two, I took saas-class and MITx 6.0002x.

How I found out

I found about saas-class from comments at aiqus – the AI-class forum.  I found out about the MITx course via an e-mail from a friend.

Why I took it

Software as a Service is a hot topic and I was curious what they would teach about designing for scalability.  Even before the class started, it was apparent the class was really about software engineering practices using Ruby.  It seemed like a cool way to learn a little Ruby and tools like Cucumber.  It turned out I had a real world friend along with two fellow coderanch moderators in this class.

The MITx circuits class was less work related.  I took a hands on circuits class and was disappointed on the lack of coverage of concepts/how things work.

Pre-requisites

For SAAS, the main pre-req was knowledge of at least one object oriented programming language.  Check.  I’m a Java developer.  This pre-req was important in the course as it moved too fast for someone who has never programmed before.

For MITx the pre-reqs were calculus, linear algebra and first year college physics.  I did take all these classes.  However, I haven’t used much of them since college so I didn’t really have the pre-reqs in my mind.

How it worked

Area Coursera – SAAS MITx – 6.002 Circuits
What I liked What could be better next time What I liked What could be better next time
Lectures 5-15 minute course snippets.  The videos were a bit jumpy but still possible to follow. I felt like there was too much overlap between the lectures and the book.  I read the book and this caused me to gloss over some of the later videos. Tended to be longer, but still a reasonable range.  Good snippets as well and broken up as needed.  I liked the switch between lecture (powerpoint), human face and demo. Bookmark your place more clearly.  Your position in the lecture sequences was marked but it was hard to see and you had to know what to look for.
In lecture quizzes Quizzes were short multiple choices to make sure you understood the lecture. The AI-class and MITx quizzes tested deeper knowledge.  As did the saas-class exam type quizzes.  Bringing some of that rigor to the lectures would have made it more interesting. These were well thought out exercises.  You could submit as many times as you wanted or see the answers and backfigure from there.  There were excellent forum discussions on the exercises as students posted worked answers. Provide a built in walkthru for the early ones?
Homework I think the homeworks were by far the best part of course.  They were well crafted to reinforce/try/play with the material.  They gave you a sandbox that was big enough to play in but not so big as to flounder around in.  The auto grader which allowed multiple attempts help avoid any perceived ambiguity. The only thing I would change is that the auto-grader was up late for the last assignment. The format was similar to the quizzes in that there were unlimited retries.  The big difference is that the answer wasn’t available until afterwards. The content was more challenging and checked your understanding.  There were also virtual labs where you could build circuits which was really cool.  The homeworks/labs also generated different sets of numbers making it harder for people to cheat. There was some reports that the virtual labs were too sensitive.  I didn’t run into this problem personally though.
Exams The exams were timed multiple choice quizzes.  They were a good way of seeing how much you retained in a quick manner. On the last quiz, I got a longer quiz and then when I submitted “it was gone.”  Going back I was presented with a shorter quiz as if I had never been there.  I would have liked the answers to the first one. While the exams haven’t actually occurred yet, the announcements say they will be like the homeworks except you can only submit three wrong answers (as opposed to trial an error around) and you only have 24 hours from when you start to complete it.  I like this idea.  It’s a natural progression. n/a
Book Choice of e-book or printed book.  On a very beta book.  The book was good though so I don’t mind. The book was only available in certain countries. The book went well with the course and let you go into more detail on concepts/understanding. Aside from being expensive, this book was difficult to find.  I ordered it several weeks before the course and barely got it in time.
Forums The forum was built into coursera.  It was a bare bones forum and organized by “general”, “assignments”, etc.  The forum moderators did create a new forum for study groups when it became apparent that was causing clutter. I didn’t like the forum.  Part of it was the large number of stickied threads for long periods of time.  Part of it was the lack of contrast between read and unread posts.  And I suspect part of it is was the subconscious missing of features I reply on in other forums. I really like the forum.  It is powered by askbot and has a lot of the features I like in stackoverflow – tags, showing tags, hiding tags and voting.  It also has badges, karma and an easy way to see your topics/posts. At the beginning of the course, hardly anyone had enough karma to delete posts including those that contained answers to the homeworks.
Progress Bar If you click on assignments or quizzes, you can see your scores. There was a lot of “click to expand” needed to see all the information at once. A page clearly showed how “done” you were.  It gave a percentage for homeworks, labs, exams and non-credit quizzes in the lectures. Minor, but it would be nice if the homework/lab scores linked to the homework/lab.
Announcements The home page had announcements.  Kind of.  Most things were “announced” in the forums or by editing a paragraphs long text area.  Only a few announcements had a date. The announcements had a feel of the plans were “on display” in the basement of the planning office, where both the lights and stairs had been removed, in an old filing cabinet locked in a disused lavatory with a sign on the door saying “Beware of the Leopard.”Yes.  They were there.  But it took a lot of looking and re-looking to ascertain what was new.Source: Hitchhiker Guide Useful, timely and ordered by date. n/a

My measure of success

For SAAS, I know more than I did when I started the class.  I got to do some hands on development with Ruby and Ruby testing tools.  I got to participate in an online forum with fellow learner.

For MITx, I did learn two and a half weeks of material.  And it was great to see how they did it.  Between being shakey on the pre-reqs and not being at home at all for three of the first five weekends, I had to declare defeat.  This is not the course’s fault and I imagined it would happen.  I wanted to try it out anyway.

How I did

I’d like to repeat the part about learning being the important part here.  When one says that someone often chimes in “oh, that’s just because you didn’t do well.”  So I’ll share.  For SAAS,  I don’t know my exact score because I didn’t calculate it.  (I’m not clear on exactly how they count the quizzes.)  It think it is somewhere between 85 and 90 though. For MITx, my score is 7%.   Seven percent is two weeks of 100%, one week of partially done and then all zeros.

What’s next?

SAAS will be running a part 2 later in the year.  And a lot more courses are being offered.  See the full list at class central.  I still want to take Human Computer Interaction.  Which conveniently didn’t conflict with SAAS!  I’m also thinking about Udacity 253 – how to build a blog with the creator of reddit.  It seems to cover some of the scalability concerns I was hoping for in SAAS.  That will also let me take a look at Udacity – the third major provider.

complaining about a free online class

I took ai-class and am currently taking saas-class.  In the forums, I feel like there as been an inordinate amount of complaining.  In ai-class, it was about the grading of homeworks/exams “not being fair.”  In saas-class, it is about being expected to learn Ruby and having deadlines.  And technical issue during the quiz.

Both classes are free and you don’t get university credit.  Which means any grade you get is just for you and has no impact.  So why all the discontent?  If you get something wrong without actually being wrong or mis a due date, your “grade” goes down, but not your knowledge.

In college, I liked taking my liberal arts classes “pass no credit.”  As a good student, I wasn’t worried about failing.  Knowing I’d get a “pass” let me enjoy learning and not having to think about the grade.  That’s the feeling I get in the classes online now.  Enjoyment learning.

I bought the book so none of these classes was free per se.  But it was the absence of a grade that counted that mattered.  In a way this is similar to why coding on your own is different than the coding you do at a job.

Thoughts?