Tuesday 2 December 2014

CSC165 Slog 12

    This week covered induction which is the concept of any function F(x) is true, then it implies there's an f(x+1) which is also true. The core concept of induction seems pretty clear cut but the examples in lectures were anything but that to comprehend.
    We covered diagonalization, cantors example and looked at tables that show induction. According to Heap, the topic isn't necessary for this course but will be seen throughout other Comp Sci courses so I'm going to have to look at and fully understand the examples we did in class at a later date.

Saturday 22 November 2014

CSC Slog 11

    Only 2 lectures this week, and Heap covered non-computable functions. I don't really get this at all and assignment 3 has a question related to it. I looked back at the annotated slides and those didn't help much. Not too sure what to problems related to the topic or how to solve and or prove that they are not computable.
    Went to waterloo over the thanksgiving break and didn't get a whole lot of review in for the material covered last week on Big-Oh.

Monday 17 November 2014

CSC165 slog week 9-10

    Past two weeks have been pretty tough, and pretty repetitive. we've been dealing with a heavy amount of proofs on upper bounds and the usage of big oh statements. last week had a large portion devoted to looking at functions and counting line execution with while loops and for loops based on any given input.
    Dealt with some variations of Big-Oh including proofs with varying break points in the proof and dealing briefly with doing proofs of limits using bounds.
    On a side note, assignment 2 was due last week. the floor functions we had on that were pretty rocky overall but it's done I suppose.

Tuesday 4 November 2014

CSC165 Slog 8

    This week was a more focused and complete version of last week. Just looked at functions in python and did proofs on finding the worst case and best case scenarios in quantity of lines executed in any given function. Not a whole lot of new material, just a focus on big oh, and a more formal look at worst case scenarios and visualizing how a function would execute itself given a certain input.
    Overall doing proofs with big-oh have been pretty smooth, and being able to visualize the actual executions of code to determine the worst and best case scenarios has been more fun than the actual writing of proofs.
    Not a whole lot to go over, just need to get some more practice with big oh and get used to seeing the omega pop up. In terms of topics covered, it was mostly introduced last week.

Wednesday 29 October 2014

CSC165 Slog 7

    This week we continued with different examples of proofs and more specifically, upper bounds of a function and lower bounds of a function. Despite it being more proofs, this week was pretty refreshing since we moved away from solely the use of symbols, but we also used some algebra in our proofs which made understanding the reasoning behind steps in the proof a lot easier to follow.
    We covered bounds because of how in comes into play when looking at how many times a function passes any given line of execution in code. I don't know where to find the symbol for the upper bound, so I'll just use the term big-oh. This upperbound method we learned was to give a fairly loose upper bound to how many line executions are performed in any function written in python (looking at how many if statements or while loops included in the code). The typical translation of finding an upper bound of any given function looks the following:
 C ∈ R+,   B ∈ N,  n ∈ N, n>=B, f(n) <=C*g(n) 
    Looking at this function is pretty confusing, but seems to be consistent in the format with the lower bound statements so when we focus on that it should be a bit smoother than the introduction to this complicated statement. Overall though the proof itself has been reasonably smooth to take in and understand.

Monday 20 October 2014

CSC165 Slog 6

    This week's material covered different varieties of proofs, and how to go about writing them.
some of the different scenarios covered this week were including case by case, proof of the negative.
    Overall this week was pretty challenging with the introduction of looking at limits while also taking a look at proofs using floors and ceilings of a variable. Limits have always been a bit of a struggle for me so it was even more challenging having to look at limits and see how they translate from english to symbolic form. I also had never seen the function 'floor of x' which made the first few examples with the function pretty difficult to follow but that only lasted the first few days of this week.
    In terms of the most important stuff that I took away from this week was writing proofs using case by case as well as proving the negation of a statement since it allows you some flexibility in deciding whether or not you want to prove or disprove any given statement.
 

Saturday 11 October 2014

CSC Slog 5

    This week was introductions to full proofs, and some examples of that. overall it was not very stressful in terms of problem solving,  just becoming familiar with the content within the proof structures.
   overall not a whole lot apart from processing and becoming familiar with what different proofs looks like.

Monday 6 October 2014

CSC165 Slog 4

This week the topic that stuck out the most as very important was the introduction to proof structures.
A few other topics were mentioned this week included:
However Heap made it fairly clear that proofs would continue on for the rest of the semester and how it was pretty important to understand structuring so most of my attention was spent on that.
    The standard format that we were taught was to go through the given statement from left to right and introduce the variables in the statement. If  ∃ of a set of variables exist ∈ in another set, you pick a variable in the set to allow it in the proof, and assume any sets that ∀ exist a set before doing the 'meat' of the proof. Once you end the proof, you show how you got to the consequent with the knowledge of the assumptions in the proof (antecedent).
    The structure has been quite easy to catch on, which is nice to know since it is also essential to doing proofs for the rest of the semester.

Saturday 27 September 2014

CSC Slog 3

This week focused pretty heavily on methods to do negations of statements. This along with last weeks lectures, we focused on the usage of the following symbols:

Negation: '¬' 
    Basically used to negate, or imply the opposite of something. There are a lot of uses and laws behind it but the most memorable law behind negation methods that comes to mind is DeMorgan's Law.
Disjunction: '∨'
    More often than not in can be used to substitute 'or' when translating from english to symbols
Conjunction: '∧'
    the symbol is used to combine two statements, usually used as 'and' when translating to symbols
For all: '∀'
    Used to introduce a variable or set and defines whether or not all of the 
Exists some: '∃'
    Used to introduce a set of variables where only some of the units inside coincide with another set.
Implication : '⇒'
    Used after the antecedent has been introduced to show the consequent
in a set/ included in : '∈'
    the symbol that says that a variable defined to exist for all or for some instances is within another set or function

With this terminology Heap introduced and covered how to visualize different statements on a Venn diagram. 

Overall it was a difficult week getting used to pushing negations from the beginning of a statement all the way to the end, and the Venn diagrams were fairly easy to grasp, but very difficult to be as minimalistic as possible when drawing and filling in the diagrams.

Saturday 20 September 2014

CSC165 Slog 2

    This week we finished covering the how to on full translations of statements from english into symbols. This week also included the introduction of nomenclature behind implication statements (defining the antecedent and consequent), vacuous truths and a brief introduction to manipulating statements in different ways. This included negations, contrapositives, and converses.
    Overall this week was a lot easier than the first week because I could start to recognize and quickly translate symbols to english which allowed me to understand the problems in class. The specific tasks that we covered in class were not too difficult, but were definitely not familiar to me and we only did an overview of negations. Heap promised that negations would get harder so I'll take his word for it. Memorizing the format of contra-positives, converses and negations have been a bit difficult but it should come with time.

Friday 19 September 2014

CSC Slog 1

    Coming into CSC165 I was expecting the class to jump straight into programming and focus on it heavily. I was pretty surprised to find that the first subject that we focused on in lectures was the use of English and how important it is. I was caught off guard because I didn't really take into account how essential precision in language was because of how drastically meaning can change with one slip up in the structure of the sentence.
    So far I really enjoyed looking at how precise and ambiguous phrases can be since I wasn't expecting the topic. The most interesting topic for me was looking at statements and proving them true or false with conditions that we translated between English and Venn diagrams. My interest in that portion of the lectures made me pretty confident during the quiz at the first tutorial.
    The most difficult portion of the class for me so far has been converting a lot of the statements from English to purely symbols since I'm completely unfamiliar with them, but that should settle down as I see them more often and ideally be able to convert from the symbols to english and vise versa