Rethinking my Strategy

So up to this point I have relied on MIT’s OpenCourseWare for my instruction. On a scale of 1 to 10 I would give it an 8. Its very good instruction and very well put together but it has a rather critical flaw: its from MIT. 

I dont personally know what kind of student they think they are recruiting, but they must believe they are some sort of savant genius. They say in the syllabus that this is an introductory course but they do not tell you what other non Comp Sci classes you should take… like copious amounts of math before you begin. But most of all, the biggest flaw in their instructional method is how they assign a problem set and then teach you how to do the problem on the day it is due. Personally, I dont see much of a need to take a class when they obviously think I can learn the material before they teach it to me. 

Its incredibly frustrating when they assign a problem set that practically requires one to have access to other students in person in order to solve it. It is a problem when the only way to solve a problem is to collectively bang one’s head against a wall with other tortured souls – especially when the class is given as an online instruction. This problem exponetially increases for me because I am constantly fighting the feeling that I have fallen behind in understanding. 

I think one of the core problems in the class lies in that it is intended as an introduction to computer science for computer science majors. They assume a particular level of nerd and the availability to work with other like minded nerds to succeed. 

Were I taking the same class in person I wager my results would be different. Yes, I am a nerd, but I dont have any other nerds doing the exact same course as I. Therefore I have nobody to collectively work through my frustrations with. I do have the secret weapon of a Jedi Master as my guide, but I really dont like running to daddy every time I have a question (which is often). I prefer to figure it out on my own or with a peer. I think a mentor’s job should be to keep me within the bounds of my study and answer the big questions, not to be bothered with every single detail. 

So, I think I may have to do something slightly drastic. Pending approval from Dr. Dave, I think I am going to restart my instruction with Harvard’s CS 50 course. I’ve watched a number of the lectures in the past as well as done some of the assignments and they are prepared MUCH better. The problem sets are more regular and more reasonably constructed. They are more of a, “Today we learned about loops. Construct X program with Y number of loops plus A, B, C elements,” vs. “Today we learned about loops. Construct a program to play hangman with the computer using semi advanced calculus skills before we ever teach you how.” CS 50 also has the added benefit of being targeted not only as computer science majors, but to everyone. The majority of students that take CS 50 are not Comp Sci majors and never intend to be. They merely want to know a bit more about computers. 

I hate to do this sort of thing because I feel like I am running away from a problem. But I am honestly hitting a wall with the course and its because I feel lost. Not because I havent paid attention, but because they expect me to understand concepts and skills that I have had no exposure to. 

In addition to rethinking my istructional strategy, I need to become more ballanced in my math vs lecture time. I spent all of my study time last week doing math on Khan Academy. It was freaking awesome. But then I realized that I had forgotten about my actual mission: learning to program. 

So I think I’ll break it down as follows: M, W, F mornings, and Calculus on T, TH mornings. I’m not sure how I’ll break things down in the evenings, but most of my study time is in the morning anyway. 

I really dont like the idea of stepping away from Python because I’ve grown to like the language, but I will endure. 

Any thoughts out there? 


2 thoughts on “Rethinking my Strategy

  1. Looking at CS50, the only red flag I see is that the programming problems are in C – which is an interesting choice for a class targeted towards non-majors. However it’s a great language to learn, and getting your feet wet early isn’t necessarily a bad thing. I should have some books on C laying around here somewhere, I’ll take a look and see if I can dig them up.

    I think your schedule is good. Save the evenings for your family (if you’re at home). If you’re on the road, maybe a book related to (but not required for) your programming class.

    • Yeah if I recall correctly they use C as their basic into language. They also touch on JavaScript, PHP, SQL, and HTML. It’s also designed to act as the primer for the other Harvard courses they offer. Namely, it’s the prerequisite for a course that covers a good bit of HTML 5 😉

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s