The teaching community has been abuzz over the past few years about MOOCs. Massive open online courses (MOOCs) are free classes offered from major universities. I plan on discussing the idea of MOOCs in a future post. For now, I want to share my experience with taking my first MOOC class.
In my postdoctoral research, I am analyzing a large gene expression data set using a programming language called R. Since I have very little programming experience, I decided to enroll in a Coursera course from Johns Hopkins University called “Computing for Data Analysis.” The class was only 4 weeks long, which seemed ideal for a crash course to get started with R.
The first week was mostly introductory videos with a quiz at the end. The material was not too difficult as it was some history and big ideas. The second week involved more in-depth videos, a quiz, and a programming assignment. Here’s my overall assessment of the course so far:
- The course has helped me understand a lot more about programming than I have understood from books and online searches. The instructor has chosen the more impactful material to learn for this concentrated class.
- The discussion boards are a helpful resource for the coursework. I initially felt totally lost when attempting the first programming assignment. After reading some tips from the TA-moderated message boards, I at least had a couple of base ideas to start with.
- The “lectures” are broken up into smaller pieces. Ranging from 3 minutes to 20 minutes, it is nice being able to watch and re-watch lectures in digestible pieces.
- Week 1 had a very light work load (about 1 hour of videos plus a 10 question, multiple choice quiz). Week 2, on the other hand, had about 1.5 hours of videos, another quiz, and a lengthy programming assignment. A more even distribution of work would have been better for my schedule.
- The first programming assignment took an inordinate amount of time. I initially had no idea where to start with the assignment. After reading the forums and some experimentation, I finished the first part in about 3 hours. The second part took about 4 hours and my final program worked, but it was a little different than what the instructor asked for. After all that time invested, I did not have time to finish the last part of the assignment.
- The course made a large leap from programming theory to using complex functions. In a normal, in-person course, I feel that there would have been more time to get used to simple functions, and then later combine multiple simple functions into more complex ones.
- The course quickly becomes bogged down in jargon. An inherent problem in any course, the instructors should make sure that the class is still approachable and helpful for the beginning programmer. For instance, terms like “pass x on to” and “read files” aren’t always clear and are a major limitation to understanding the content.
I am cautiously optimistic about the second half of the class. I have learned a lot so far, but I am nervous that the content and assignments will become too complicated for my beginner skills.