Tuesday, 17 March 2015

A Hectic Week (Week 9)

Whew! Week 8 was one heck of a week! Between two assignments (one for CSC165 and for CSC148) and two term tests for the same two courses above, I can't believe that I managed to survive this week.

To begin with, after weeks of procrastination (ouch!) and a rather frustrating date with the minimax program, me and my partner took it upon ourselves to visit Danny Heap's office hours to figure out this minimax problem. We got one thing out for sure; our code wasn't working as the assignment told us to do, and Danny really showed us an interesting way to think about minimax. Unfortunately, after all that, my minimax solution did not work out as expected (it worked for subtract square but was a complete dork at tippy), but it was an eye-opener for me to the world of AI design. This was a rather interesting assignment as it was my first real encounter with a "smart" AI function for a game, and on implementing such. I felt that this AI implementation should be more suited for a later, upper-year course (in my opinion), but on the other hand, it was an interesting way to look at artificial intelligence implementations. After all, as my peers, parents and the world out there have pointed out, AI is going to be a big thing in the future years ahead, so you could say that this will be a painful, but rewarding experience for me in later years as a CS student at UofT.

Next came the test. This test was quite a worrying factor for me. I didn't do well on the first test - to be honest, it was easy but I choked Toronto Maple Leafs-style on one of the questions and lost major marks - so this time I was determined to kill/murder/do good on this test. I basically went over the labs we did in class, for study purposes, and taught myself how to implement linked lists in code - which, for me, was difficult due to the ongoing strike conditions.

One of the things that was difficult for me to comprehend about linked lists was how to represent them. In class, we were shown pictorial representations of linked lists, which described what linked lists were meant to imitate. However, when I went to compute some problems on my own, I found the diagrams difficult to understand. It wasn't until I went to Danny Heap's office hours that, on my own (and with a friend to help) that for me, it was easier to represent linked lists in their code form. So rather than this:

25 -> 69 -> 10 -> X

I found that this was easier for me to work with, and trace through:

LLNode(1, LLNode(2, LLNode(3)))

Apparently the latter was more convenient and an organized way for me to think of linked lists.

Luckily, the test day came and I found the test to be easier than expected. From the past tests they were difficult to comprehend and trying to work the answers on my own were a disaster. I did get some resolve from Danny Heap assuring that the test would be based on lab questions - which they were - and it was a great relief. Ultimately, thank you Danny Heap for your help and your determination to help us succeed!

Here's to a good mark on my test!

+ Slava Gospodu! Praise the Lord! +

No comments:

Post a Comment