Hey, how's it going!?
So this week, I had completed 148's FIRST TEST and I'm feeling quite good.
Sadly, after the test, I realized I made two small mistakes on two questions but I don't think I can provide precise details here but I can say that I have already looked into them and have learned from my errors :]. It's one of those computer science moments where you have a trick question and you know the answer is either Zero, None or Error.
My reasoning led me to the wrong answer (Doh!) but it was a good attempt and at least I was right about it being one of the three!
So what'll this week's SLOG be about?
Hm... since I have been talking a lot about course material lately and I recently talked in-depth about OOP and recursion, I figured this week would be a good chance to talk about non-material course related things. Let's get started!
Piazza
At the start of 148, I didn't think much of Piazza and thought I could learn the course materials without relying on it. I was totally mistaken and my perspective of Piazza flipped right around at the beginning of exercise # 1.
It's an incredible experience when classmates, professors and TA's take time to discuss course concepts with you and try to hint you in the right direction if you're ever stuck on a submission. By discussing course concepts, or hinting someone who is stuck, everyone who is involved refines their knowledge of the computer science topic and even when we're mistaken, I noticed that the instructors will usually step in and correct our assumptions.
Without Piazza, I honestly think that most students in the program would have a lesser level of knowledge than they do now. That being said, I also hope that Piazza is included in future CSC courses.
Office Hours and Help Center
These two places are the place to be. Sometimes it's difficult to discuss a complicated code on Piazza so if further help is required, I would personally recommend one of the two. During assignment 1, I could not debug my code for TOAHModel.py. In fact, everything looked perfect but the default doctest would keep failing 3 out of 20 tests. After trying on my own for hours, I decided that I needed to discuss the code with someone who was well-versed in programming. I went to the Help Center and the friendly TA went over my code with me. We worked together and tracked down the error, which turned out to be a big issue but very easy to fix!
The issue? I wasn't creating Cheese objects when filling the first stool, just using regular integers for the cheeses which was why the doctest was failing. So the fix was quite simple: fill the first stool with Cheese objects instead!
I have been to office hours a few times this semester and I can't be thankful enough to Prof. Danny and Prof .Dustin for clarifying course material for me and showing me useful tricks to handle difficult problems such as recursive problems.
On another note, they have been replying to all of my e-mails within a day (Even on weekends!) and I am also thankful for that.
Office hours, Piazza, and the Help Center are truly indispensable resources for computer science learning.
Thoughts on Group Work
Let me first state that I strongly believe the current labs have been indubitably helpful to my own understanding of computer science. Nearly every school week there is a group lab where my partner (Ben) and I work through the challenging problems together. We discuss, brainstorm ideas and try them out until our answers are correct. We do try to get the code right the first time, but if it's inevitable we have multiple attempts until we arrive at the correct answer.
Personally, I enjoy the group work with Ben. We help point out each others mistakes and help each other understand things that we're unsure of. In fact, the labs have been so influential for us that we even discuss course concepts outside of school via Skype, phone and e-mail!
For those who are interested, please check out my partner's SLOG: http://mycsc148experience.blogspot.ca/
However, this is where I think a line must be drawn for group work. Although we are allowed to have groups for assignments, I also strongly believe that these should be done alone. By working alone, more students will develop their problem solving abilities but by working together, one group member may understand the solution whereas the others do not. If these students don't understand the concepts then they are at risk of doing poorly on the tests and perhaps in future courses as well.
I realize that in the real world we will be working with other peers but I think it would be meaningless if us students do not have a solid foundation on computer science concepts in the first place.
This is why I believe the perfect balance is to have groups for labs but not for assignments!
Thanks for reading my SLOG.
I will be finishing up assignment 2 this week so I'll make sure to discuss it in next week's entry.
Have a great week and see you again soon!
No comments:
Post a Comment