Post MITx 6.002x summary
There’s been a lot of talk about the MITx (now edX together with other universities) courses, but I haven’t seen many reviews written by people who actually took part in them. I’ll try to provide my view on how it was organised and hopefully convince you that it's worth to get involved. I signed up for the test run of the 6.002x course mostly to try out the online courses and learn more about electronics. “more” because I had a similar course at a standard university before. I didn’t do well then (the teachers made it hard to enjoy in my opinion) and it’s been at least 6 years ago, but I still remembered the basic information and anything that was taught at physics lessons.
The course turned out to be really good in the end. I finished with an A and got the certificate to prove it. Some parts were easy (I did the first 4 weeks in one day), some were pretty hard (spent whole day trying to get any results from differential equations). There were both good and bad sides of the course:
The good
The content was really good and the tools provided were very helpful. The typical week contained a series of lectures (around 8 parts - sometimes more or less depending on the topic), some exercises directly related to the previous lecture (just to illustrate some concept, same format as homework, but not graded and the answers were available) and a number of homework exercises (more on those later). It provided a nice balance of "here's the concept" and "now try it out".
The lectures themselves were a mix of “live” whiteboard where the lecturer displayed slides and scribbled over them and recordings from the lecture room where some actual elements / oscilloscope results were presented. All of them could be played in either normal speed, slowed down or sped up. I ended up watching all of them at 1.5x after some time (you can see a sample at 1.5x speed). All videos were published on youtube as private links, so various speeds were just different pre-processed uploads. The MITx site used a custom player to choose the version and turn captions on/off. According to the comments this didn’t work very well on iDevices which could only show the default version, but I didn’t have a chance to try it. The captions were always available and synchronised with the videos. Rarely a word was missing or replaced with a placeholder when it could not be transcribed, but it was very easy to guess what was taken out (very often some "umm" or things that didn't matter).
The exercises were split into two types: calculate a result or create a circuit diagram that matches some conditions. The answers to calculate were usually just values from a circuit: correct resistance, voltage, etc. Sometimes it was a more realistic scenario, like choosing a set of elements that will match some assumption (for example choose a set of standard resistors that will give amplification X). Rarely, it was some formula to find rather than a specific numeric answer - it was compared in a good way, so it didn't have to be the ideal answer - it could be written in any way as long as it gave the right result. The exercises with the circuits simulator were similar to the text ones, just done in a different way. Complete the circuit, make it match some graph in time domain, make some output converge to a specific value, etc.
In case of any homework issues, the discussion board (very similar to the concept of StackOverflow) could give you all the hints and explanations you needed. There were some cases of complete answers posted before the deadline was over, but they were flagged and removed pretty quickly by the staff. After the homework or exam was due, many people published their notes and solutions which was very helpful in case you got stuck and wanted to know the proper solution afterwards.
What I really liked about the exams and homeworks was that the answers were both checked right away and you could correct them. That means after each section (around 6 fields) you could verify if it was OK. It was a yes/no indicator, no hints, no answers available. During exams, this action was limited to 3 uses per section only (third answer was the final one). I think this was one of the greatest improvements over a typical homework/exam. Not only does it allow to catch the simple mistake easily, it's just so much more like a real life work. The way it happens at the university is just too artificial - one try and you have to accept the judgement. In reality you can usually calculate your results, try out some prototypes and see if they make sense. You even have to make sure they work in a number of ways before anyone accepts the final product. Giving me a way to quickly verify the result is like programming using TDD style, but with the tests already present - they won't tell you exactly why something fails, but they will tell you if the result is wrong. This is likely the best part of this course.
This course was hard. Really hard compared to what I experienced at my standard university years ago. Just think that with all those materials being available, with all the lectures you can go back to, with all the discussions taking place out of 26,349 people who got at least a single point, only 7,157 finished the course. From the discussion board it looks like only a small number got an A grade. The course actually forced you to apply what you learned, because there was no straight connection between the lectures and the homework/exams. All the graded exercises looked like they were one level of abstraction higher than the lectures. It felt like the lecture explained examples of multiplication of integers and gave you all the pointers you needed about real numbers, but the exercises were all in either real or complex numbers. Not impossible to solve, but required either creativity or more reading.
The bad
I was a bit disappointed by the circuit simulator in later weeks, because it did not allow to set the needed parameters on the elements to simulate the whole circuit. For example instead of specifying the diode type / voltage threshold, you get only the general one where you can specify the area. You can work with it, but it's not straightforward. There were similar issues with gates. I'd like to be able to easily simulate each case discussed in the exercises - if the exercise assumes some simplified model, I'd like to have exactly that model available.
The exercises which required formulas as answers were not really easy to debug. Case sensitivity, different operators (is it exp()? e^? e**?) and other things made copy-paste from a different application a bit tricky, especially since you get only a generic syntax error, not a precise explanation of what went wrong at which position. I'd really like the answer to be displayed in a nicer form (MathML like the rest of the equations / symbols?) on the side of the input field. That would make it a bit easier to spot and correct silly mistakes.
There were also a number of small mistakes that were corrected during the course and I guess that the staff learned from this test run. I'm not going to complain about them too much, since I got the impression that this course was a public beta-test for the real thing. Issues included answers being checked with a higher than expected precision in some places, some section being unavailable for a short period (staff gave deadline extension after fixing it), etc. It's OK, noone got hurt.
The ugly
There was no good way to contact the staff. There were some OK ways: tagging the discussion topic with a specific label ("staff", "tech", "admin", ...) or sending an email, but I felt like there's something missing here. The only time I had to send an email was to correct my name to change one letter to a non-latin one (I wanted the proper spelling on the certificate, but registered with a simplified version) and that looked like a black hole. No response for over a week, then they asked everyone to resend the request because of some internal issues. This is fine for discussing problems that don't affect your results, but I would really expect something more organised once I run into issues my grade relies on. Emails can go missing, discussion topic can get downvoted and disappear. A proper support system would go a long way here. Give me a ticket number, allow me to track the progress, give me a way to respond to some specific case again.
The exam itself is also a potential issue in case you're not a full time student. You won't know the exact date of the exam when you're signing up for the course. That means if you have any existing plans, booked holidays, etc. there is no plan B. You cannot reschedule the tests. It doesn't affect the normal lectures that much because your two lowest-scoring weeks don't count into the totals and anyway you can do the work some weeks in advance, but that's not the case for the midterm and final exam. It could also be an issue if you get ill and are unable to concentrate enough to finish the test (it's still better than when writing the exam at a standard university - for MITx, you can write it from your bed without the need to move anywhere). Then there are other daily activities than can make it hard to reserve some time... like the family, work, life in general. I don't see a good solution to this however and have to accept the idea of a set time of exams.
The communication from MITx wasn't very good either. There were no notifications. A new week of lectures being available, announcement of exam times, announcement of moved deadlines were all on the website, but that is not enough. I want to be able to get them on my email / phone as soon as they appear. I want a notification the moment the exams open / close. I want more push than pull. I don't think even the beginning of the course was advertised - it just became available to log in at some point. Of course many people would not appreciate getting spammed that way so this could be an option, but I felt some remainders were missing. Publishing the course schedule in a format that can be imported by google calendar wouldn't hurt either.
Screenshots
Lab:
Homework:
Tools
Just out of curiosity I tried to solve this course without using paper. The last time I seriously used paper for anything was during my studies - but maybe the tools advanced enough to do the whole course on a computer now? Almost. There was still no good replacement for a quick diagram drawing with lots of quick notes beside the elements. I could imagine an application that would do that, but I could not find one good enough.
What I ended up using most of the time:
SymPy / iPython - It's a great module for symbolic calculations, numeric or symbolic solving of equations, or doing quick limit, derivative and other calculations. It was my basic go-to tool and worked amazingly well, especially with the possibility to render formulas in an ascii-art form. iPython helped a lot with keeping it all together.
Notebook version from iPython - Great way to solve some exercise in a way similar to literate programming. You can save / restore / tweak your whole section of work while maintaining the context (you can add normal text close to your code).
Octave / gnuplot - Sometimes it was just easier to plot some data that way if I had a file with points ready. I could not get octave symbolic module to do what I needed/wanted for some reason. Maybe I just didn't understand the interface well enough.
Circuit simulator from the course. Even if it was not perfect, it was very useful to verify most results.
Other simulators off the web, whenever I needed something the MITx one didn't provide. Usually it's enough to google some elements your working with and "simulator" to get exactly what you need right now.
Final comments
It was a lot of fun and I learned a lot. Apart from very minor issues, everything pretty much worked as expected and most questions were answered quickly by other students. It was definitely more engaging and interesting than a comparable course at my previous university. Even though I actually got to test some real electronic boards there, the simulator gave me the same answer, without the "fun" of trying to figure out if the wires are broken again, or was the tested part damaged by previous teams (both happened way too often).
I'm already signed up for 3 new edX courses (2 of them I already know much about, I'll just do them for fun / to get the theoretical background if I have time and one that I actually want to learn about). The plan is to do at least one of them each semester and pick up some more advanced ones once they become available. I hope that online universities will only get more popular and respected soon. My children should really get a choice of doing the "old" path or just completing the education on their own online (maybe at the same time as working full time already?)













