Monday 1 December 2014

Week 12

This week in lecture we discussed computability and induction, which both will not be on the exam, but will probably be useful in the future. However we have already done a lot of induction in MAT137, and the introduction in CSC165 was not very beneficial compared to what I have already done. The computability portion of the lecture was interesting and lends what feels like a glance into the future. However the lecture confused me more than any other thing in the course. I don't really understand how the halting function can relate to a function, and how one would be a helper function for another. In this slog, someone did a great job of identifying very similar issues to mine, surrounding this topic: http://slogcsc165.blogspot.ca/. I have watched a few youtube videos and reviewed the course notes. I think I understand how to solve computability problems, but I still do not understand how, or why it works.

This was the last week of class, and although we didn't cover too much important information regarding the upcoming exam; the lecture gave us an idea of what the future holds, and how our courses will be. I feel like I am ready for the upcoming exam, as long as I take my time, and don't skip out on any steps.

Thursday 27 November 2014

Week 11

I did not have any class this week for CSC165. However with my new found free time, I browsed some other blogs. Many people are very behind but the blogs I did end up being able to read were quite interesting. It was nice to see how most of the people in the course are in similar situations to myself, and I could relate. A lot of people had similar issues with the course, such as Andrew Goupil having issues with Big O in week 8 (http://andrewgoupilcsc165.blogspot.ca/search?updated-max=2014-11-09T14:58:00-08:00&max-results=7), or Albert Xie getting stressed over exams in week 10 (http://99bugsbutaglitchaintone.blogspot.ca/). Reading these blogs helps me to attain a better mindset heading into class, because I know it's not just me that has issues and everybody struggles.

Friday 14 November 2014

Week 10

    Got my midterm back this week; I didn’t do as well as I thought. I got the easy proof wrong that the class averaged an 8.9 on and the other two right but lost two marks on each of them because I didn’t comment. In MAT137 we also do a lot of proofs and we do not have to be as clear in our explanations. For the most part as long as we figure out the “trick” to the proof we get the answer correct, whereas CSC165 is a lot more focused on form. I did not read the questions well enough and ended up losing out on free marks because of it.

    In this week’s tutorial we worked on Big O proofs which was very helpful but I’m not sure I got the correct answer. I did the quiz in an unorthodox way where my answer was different than anyone else I talked to after so I’m not sure if I got the proof correct.

Wednesday 12 November 2014

Week 9

BIIIIG O PROOOOOFS!!!

    So far this is the most complex and confusing thing so far. I don't really understand them at all, definitely going to put in a little bit of extra work to make sure I can get them done for the exam in December. Our tutorial this week went well, as things get more complex the tutorials get more useful. It's very helpful to get an extra hour for focused work to recall the lecture information.

    We also had a midterm this week, it felt good. All of the proofs weren't too difficult and I figured them out with time to spare. However after the test I realized that I had forgot to comment anything, hopefully I won't lose too many marks due to that. In MAT137, we do not really need to be as precise while doing our proofs, as long as we figure out the trick we pretty much get the mark, but I am not sure that is the case in CSC165; because the proofs are easier the marking may be more restricted to form.

Week 8, The Max Slice

This week in class we covered more on Big O, omega, and simplifying different functions. A challenge for this week was to simplify an original max_slice program given by Larry. I simplified it down to both O(n2) and O(n).

The problem:
Take original max_slice program which runs on O(n3) and simplify it into both O(n2) and O(n).

Is this accomplishable?
Yes. The given statement is a lot more complex than it needs to be.

Devising a Plan
Finding the Connection:
It appears that a major problem with the complexity within the code is that they are not using some of the functions already defined within python, such as max.


Carrying out the Plan:
The goal was to eliminate a loop. I did this by instead of sorting based on max length in each section, just using the built in function max.

Next I had to eliminate one more loop. I added a variable in order to keep track of additional info I would need to record. I used the max function again in order to keep track of another variable to check if the max sum would increase by adding a number.

Looking Back

Examine the Obtained Solution:

Eventually I got what I call the Golden Sum, it seems to work for all numbers and instead of O(n3) or O(n2) it is just O(n) which is as simple as it gets because there is no way this could be done in any O less.

Tuesday 28 October 2014

Week 7

Proofs! We are beginning to get more into solving proofs currently. I enjoy the puzzle solving dynamics involved with proofs and the tutorial this week was fun. It took me a while to figure out the “trick” involved in proving the statement but figuring out the steps along the way was a good learning experience.  Although getting into all of the introductions was a little bit tedious and seemed like common sense. We also began to get into algorithm analysis, and tracing code. I enjoyed this aspect and look forward to applying it in the future. Even in CSC108 it will be useful and I won’t have to rely on code visualizer as much. Which I currently find myself doing with many of the CSC108 assignments. The efficiency aspect of developing algorithms will be crucial in the future and this excites me. I feel like I am finally going to be able to put my coding to work in the near future and be able to apply what I've been learning to the real programming world.

Sunday 19 October 2014

Week 6

The test went as expected, I finished with a low eighty, which I am happy with. Although the class average was very high for a test. I am worried about future tests. Professor Zhang explained after our test that they would be harder in the future because of how ell everyone did. The subject matter in this course so far has been interesting and not too impossible, but I feel like it could get rather abstract when we get more in depth into the course. For some reason my brain is retaining this class a lot better than most others, it may be we are moving at a slower pace, or the subject matter is more interesting, or it might even be because it is a night class and I am more alert. Whatever it is, this class is not my largest worry right now.



Our tutorial was canceled this week and the lecture was only two hours so we did not cover much. 

Week 5

Midterms! This week we had our CSC165 midterm. I felt like I did well, with the questions being very close to the past exams I felt I was well prepared. I didn’t answer the last question and left it blank. Luckily it was only worth six marks and I will get one of those back because of the 20% rule for not answering. I should have studied our assignment more and better prepared for that category of question. If I had better prepared that aspect I believe I could have got near perfect on the test instead of the eighty-something I predict. In the future I plan to better prepare for the tests by studying a broader area of the content instead of just mainly past tests.



Our tutorial this week went well. Going over proof structures was very helpful not just for CSC165 but also MAT137. In calculus we are currently doing a lot of proofs but we never really went over the structure or the formal layout and I think understanding that helps a lot with solving the proofs. I look forward to the more complex proofs in the near future and I am excited to relate theorems and mathematical sequences to computer science.

Thursday 2 October 2014

Week 4

This week we got into more advanced logic, including De Morgan’s Laws. This course has continued to be all about logic which is kind of boring, but will probably be essential in time. I thoroughly enjoy the proof portion of this week’s lectures and love the problem solving dynamic it opens, this is what I have been looking for in computer science the whole time I have been involved.


This course has still been similar to MAT137 but I now see how they are branching off in different directions. I feel confident about the test coming up. However, it being my first ‘University’ test I am uncertain how difficult it will actually be. A lot of people are worried about it and even though we are allowed to bring a paper with whatever we want into it I am not sure. I have heard a lot of people saying things like, “I am not ready for this test… At all.” But I don’t really understand what the big deal is, I find that Larry has been going at a good pace where it isn’t hard to manage the information load if you just go over the notes once in a while.


This week’s tutorial was great, it demonstrated the class’s ability to share ideas and open up. We were able to bounce ideas off of each other in a fashion that formed all of our ideas into one definitive answer. We discussed how some answers were better than others even though they were both correct and formed outcomes that we could all agree on. The quiz was easy once going through the tutorial and I believe that the majority of the class believed the same. 

Friday 26 September 2014

Week Three

In this week of class we went over concepts related to disjunction, negation and Sets. This week we started to veer in a different direction of MAT137, which is nice but I anticipate will cause difficulty in the future. I am excited to see the direction this course will take. It seems right down my alley and getting more and more interesting each lecture. Larry’s enthusiasm bolsters the students’ attentions and causes most people to stay interested, but sometime a few students struggle with grasping certain concepts and when they ask the professor they still struggle even when the professor explains. I think sometimes Larry could be more thorough with questions he is given, and make sure the students fully understand what he is trying to portray. Or the students should just study after the lecture to make sure they understand.


Our tutorial this week was a lot better than the last. We were given a more difficult worksheet and concept to understand and it caused the class discussion to be a lot more in depth. The tutorial worked really well when everyone contributed to the discussion and it wasn’t based around the T.A teaching but rather using our classmates to feed off of and share ideas with. The environment was great because it felt like nobody was afraid to ask questions, and when they did it sparked discussion that helped everyone better understand the topic.   

Friday 19 September 2014

Weeks One & Two

In our first two weeks of class we covered a lot on how to understand different types of quantifiers and mathematical symbols which will allow us to understand the problems that will be thrown at us throughout the year. So far this class (CSC165) and MAT137 have overlapped immensely which is greatly beneficial. This overlap is what allows me to follow each course without too much confusion. It feels like I am taking the same course twice in the week with the only difference being CSC165 has some python thrown in, essentially just changing the language we learn through.


Initially I was confused on the venn diagram portion of our course. I think the most confusing aspect was grasping that it would be impossible for something to be in the second circle (Belonging to the sets). Eventually it became very clear after discussing with a friend. It really helps to share ideas, even just to hear your own thoughts outside of your own head.


Going to my first tutorial was an experience. The entire class was very quiet before class started which caused a sense of awkwardness to arise. Eventually our teaching assistant asked if everyone had done the preparation; everyone had. We went over the worksheet with ease. The entire class had hardly any questions. It felt like the T.A hadn't been left with enough to go over. We finished going over the worksheet forty minutes in without any difficulty, seeing as everyone had already learned the material on their own. The quiz took under a minute and we were all out of there. I thought tutorials were more about learning in a different environment. It felt like it was just a formality with not a large amount of learning. I predict in the future tutorials will become a more intensive learning experience as the course becomes more advanced.