This is because of 1 part headache brought on by two parts ‘staying up till 6am to get this weeks project done’. Don’t worry, an Ibuprofen and a good mug of cold-brewed coffee will clear that up in about 30mins :)
The idea of programming is to learn something, then build some code, learn something more, add it to previous knowledge, build better/more elabourate code and so on. This is something I think is a good process. And a course that can coax it’s students along with the right methods is one you will never forget. On the flip side, one that does this but kinda skips over various things with the idea of ‘you can find it online’ really irks me. I really feel that the progression of learning is NOT linear with the Coursea/RICE University course. There are major gaps in my understanding of what is happening within the code we are supposed to be writing. I am getting lots of good help from some of the students who hang out in IRC, for which I am ever grateful.
I’d like to also point that their “Workload: 7-9 hours/week” claim is utter bullshit. I mean seriously, where do they pull that number from?
This course is designed to help students with very little or no computing background learn the basics of building simple interactive applications.
Right, so here I am, a technician who has been playing with computers for 30 years, designed websites in the early HTML days (so I have a general idea of coding….very general), had fiddled with CSS and WordPress templates and I understand how computers/networks work and yet this course has been nothing but a struggle. From the time I woke up yesterday till the time I went to sleep, I spent nearly 16 hours on the course. This was just insane.
I am far from someone who has “very little or no computing background” and having this much hard time? You think that their course needs a severe overhaul on how they progress their teaching?
Sure, I’m not expecting to be spoon-fed every little piece but when you are forced to program in an environment that is mostly non-standard(meaning most Google results for problem solutions will never apply because of many restrictions in place.). I do understand why they use CodeSkulptor, but I feel if you are going to create an artificial environment, you need to be much more involved in the students learning. Notice I said learning and not helping. Sure there are many avenues of help, the forums, IRC(sadly under utilized really, people are so missing out), the minimalistic docs they have, the ‘code clinic threads’ and such but that is all reactive. In order to ask a question, we have to be knowledgeable enough to ask how to do something, not ‘what’ should we be doing. Also, their assumption of ‘high school’ math requirement does NOT mean ANY high school math. You have to have that knowledge and have it as recent in at least the last 5 years! Anything beyond that and you will have a hard time because there is a lot of math in programming. I highly recommend going through Khan Academy‘s math lessons. They have an awesome way to track and incrementally increase the parts you are learning.
The instructors themselves have some cool character to them. When they do their videos, they do them well, I find that they just don’t go far enough. In my opinion, I think the course should be doubled in length and more time spent on each part. I am quite fortunate to have as much time to spend on this course as I do. If I was working a full-time job, I would have dropped out last week when I stayed up to 4am one day.
Do all students have such problems? No. One guy from IRC did this weeks memory game assignment in 4 hours. He spent the rest of the week tweaking it to be pretty and fancy for the hell of it. He is also one of the best people to help others and I can’t thank him enough. This also means that since he did it in 4 hours, he is not a beginner to programming either.
After all this, I think that they should either change the course or change the description of the target market for students. Easier to change the description and create a second course I think.
Now, from here on out, it will get interesting. See, this week’s project I scrapped my first version of the code I was writing. That was two days into writing it, getting up to 171 lines of code only to find out that the exact same thing, that works with no bugs, could be done in just 39 lines! I saw this code and sat there….stunned. I started over, took some cues and was able to focus on the mouse_handler function(which is the crux of this code) only to find out a day later that it was completely buggered as well. That was when another kind individual on IRC so graciously spent 7hrs chatting with me to help me get it right and by 6am it was finally done.
Do you still think that 7 – 9hrs of workload is accurate?
Let me also point something else out. If it takes you 4 hours to learn something, the next time you use it technically take you less time to construct the same code. So let’s say you can do it again in half the time, 2hrs. Let us then apply this to my taking 4 days to learn/write a program. So now I might be able to do it in 2 days. With the idea that the course is building upon the skills we have learned what do you think will happen in a few more weeks?
- wk 4: 4 days to program
- wk 5: 2 days(wk 4 code) + 4 days (wk 5 code) = 6 days
- wk 6: 2 days(wk 4 code) + 2 days (wk 5 code) + 4 days (wk 6 code) = 8 days
- wk 7 1 day (wk 4 code, getting better) + 1 days (wk 5 code, getting better) + 3 days (wk 6 code, slight improvement) + 4 days (wk 7 code) = 9 days
Well, ran out of days in the week it seems and missed the deadline. I didn’t even count the time to watch the lecture and do the quizzes. This course has so far consumed my nearly every waking moment each week and I am not even close to being a ‘slow learner’. The way the material is presented simply isn’t enough for “students with very little or no computing background”