This unit in CS1103 was all about Abstract Data Types. Between visiting the US for Thanksgiving, work, and school, I just barely had enough time to write my graded quiz for the week. Now that I’m caught up and have about 30 min left till I start work, I’m going to try to hash out this week’s learning journal!
So far I’ve tried to keep the learning journal entries as void of technical jargon as possible. However I am studying computer science so eventually it is going to come out. I still hope to keep these articles friendly for those followers who are not CS majors, but bear in mind it’s only a matter of time before these entries get more technical. It shouldn’t be too bad today, so let’s see how I do.
To start with, this week was challenging but it was more because I loaded a lot on my plate. I participated in a coding contest online over the weekend, while trying to visit with family in the US, and keeping my son entertained as well. I tried to get as much school work done as possible before the weekend, because I knew I wasn’t going to be doing school then.
The problem is that the discussion question was on ADT’s or Abstract Data Types. It’s something that I understood before the unit, but unlike DQ’s in past courses it’s not something that I understood enough to hash out an elaborate tutorial styled post in less than an hour. It took some serious work to create a quality post – probably too much work.
I ended up burning all of my time before the weekend on the DQ, that I didn’t finish all of the reading material, or really accomplish much else. The only reason I managed to complete the graded assignment before the weekend, was because it happened to be simple – maybe because it’s the same week as a graded quiz?
The assignment was meant to emphasize on the importance and usefulness of ADT’s. Our challenge was to create a Tape object that would be used by a virtual Turing Machine. We were given all of the code for the Turing Machine, and some programs that ran simple tests on our tape, as well as a specification for what the Tape was to achieve. It was up to us, to decide how to implement the tape.
This showed the power of ADT’s because completing this assignment was almost frivolous. It took me almost no time at all. All I had to do was follow the specification. It was the coding equivalent of assembling a sandwich with instructions – seriously.
Despite the ease of the assignment, it was still a struggle to get caught up on the rest of the unit’s requirements when I got back to Canada. There is a lot of information to consume in this course, and I’m trying really hard to make sure I’m understanding it all before the end of each unit. Which brings me to the important thing I’m thinking about this week.
In our Learning Journal assignment one of the questions is – as you saw last week – this:
Finally, describe one important thing that you are thinking about in relation to the activity.
Here’s what I answered:
In the last two CS courses I was able to create very in depth, comprehensive, tutorial styled, posts in the discussion forums. This is largely due to the fact that I spend a lot of time answering beginner questions in other forums like the comment section on YouTube, Codecademy, and the community questions section at Khan Academy (which is actually how I got my job by the way). There are many core concepts to programming that I’m exceptionally good at describing because I spent so much time grasping the basics myself, and have dedicated a lot of time to helping others understand them too. So, for the first two courses each discussion question was very easy for me to answer. I would write posts that probably seemed like I spent days on, but actually I wrote them up in about an hour.
Now we are entering areas that aren’t so easy for me to explain. They are concepts that I haven’t come to understand on that level yet. So now the DQ’s are taking much longer to write an answer to, but I’m still trying to keep up with the quality my classmates have come to know me for.
The important thing I’m thinking about is how I choose to balance where my efforts go in school. I’ve been giving it 110% in all aspects, and it’s really wearing me out. I keep making small mistakes, like in the graded quiz, the last two graded assignments, and I’m sure there are others. The fact is I have to value comprehension over grades. I don’t believe in anyway what so ever that grades and comprehension are linked. I think anyone who works hard enough can earn high grades without necessarily comprehending the material. And any genius can fail a course simply by not doing the assignments – so there is no correlation. That’s not to say that they can’t coincide, but I just intend to say that they are not linked. They are independent – but not mutually exclusive.
I watched a video by Eli The Computer Guy on YouTube the other day about school. One thing he said, was that when he was in school he only aimed for a B in each class instead of an A. He said he didn’t think the difference between an A and B changed the level of comprehension of the subjects he was learning, but earning a B was certainly a lot less stressful than an A.
So what I’m thinking about is turning the dial down from 11 to 10, and not being so aggressive about maintaining a 4.0 average. Sure it’s desirable, but if it means spending so much time working on assignments that I’m not taking breaks, spending time with my family, or spending time just reflecting and playing with the concepts I’m learning in my own way, then it could be possible I’ll come out the other end of the UoPeople function as a memorization machine – capable of remembering enough to get high grades, but not comprehending subjects at a deep enough level to apply them in the real world.
Hopefully the programmer speak wasn’t too much. Balancing these posts so they reflect what I’m learning in school, but are also worded for non techies is going to be a challenge as I progress. Let me know in the comments how you feel about bringing more CS related topics into the journal entries.