Monday, November 24, 2014

Week 10 and 11

    So my Test 2 mark was not as good as my Test 1 mark, quite a notable difference I'd say. Seeing the mark scheme for Test 2 showed that the first question I did well on, the second question I did okay on and the last question I did pretty bad (I think if I just wrote down the right structure like I did for question 2, then I would've earned more marks!). Other than that, I'm somewhat surprised at my mark since I did feel as though I did better on Test 2 than Test 1 (granted I didn't know what my mark for Test 1 was until recently), but it makes sense since I still do struggle with proofs. And on a side note, my quiz marks are getting worse. Most likely because I haven't mastered the "knowing why a proof is true/false" part when writing a proof and the recent material requires that.

    For the past couple weeks, I'm getting the hang of big O and omega. The only thing I struggle with is what I struggled with in Test 2 which was the "knowing why a proof is true/false" part. Hopefully a3 will help me with this. Also, I'm kind of glad that this past week, there is more integration of material from CSC108 such as while loops and whatnot since I'm much better at coding than understanding logic (unfortunately I'm not good at both...).

    For now, I plan on just studying for the final exam and trying really hard to work on my proofs. I believe that's the only thing getting in my way right now. It doesn't really help that I'm a slow thinker too but right now, I'm aiming for at least a 75 on the final exam...I think that is realistic enough for CSC165 but of course, I'd love to get an A :D

Sunday, November 9, 2014

Week 9

So this week I wrote test 2 and I think I did better on this one than the first test. The first question was alright I think, although I got a bit confused on when to use variables like y' and yo or just y. The second question I didn't answer fully, I just wrote mostly the structure and the last question, I wasn't entirely sure if my proof was correct; I don't think I did as well as the first question but not as bad as the second question. Overall, I'm hoping for at least a 70 on this one.
Also, the quiz was not....so...great. During the tutorial I understood why my TA did this and that for the exercise but when it came to the quiz, I suppose I just blanked out. Plus, the quiz question wasn't the same as the exercise so there was no point in memorizing solutions. One thing I don't understand about worst case is how to arrive to the general expression for the function's output. I remember the answer for the exercise was a calculus formula but that was previous knowledge my TA had so I didn't know the general expression for the quiz question.
And lastly, a2 was due last week and I think it went pretty well. I definitely learned a lot from working with others (especially others who knew more than me and could teach me). I just wish I knew the same things before I wrote the quizzes with proof questions. My marks for those quizzes could've been better but at least there's still the final exam and a3!

Sunday, November 2, 2014

Week 8

    So this week, I had a bit of trouble with the material during the lectures, mostly because I don't know while loops as well as for loops. I should definitely ask someone for help on that! Generally, I don't understand anything as usual, especially the big O and worst case...I really have no idea what's going on. Thankfully it will not be on the test I believe.
    Anyways, a2 was completed yesterday with my group and I found that 1.2 and 1.3 took the longest time to understand and write a proof for. I'm definitely more familiar with the definition of floor now and just writing proofs in general. I think in order to prepare for the test, I just need to practice writing them on my own.
    Through the assignment, I learned a few different techniques on how to approach a claim such as using the contrapositive instead of the original claim, and negating it to prove that the claim is false. The structure of a proof is also more clear to me, in terms of what I can and cannot do depending on the quantifiers and whatnot. On a side note, I'm afraid I don't understand proof by limits (so I guess that's why 1.2 and 1.3 were the hardest for me) and proof by cases is alright. And perhaps I get confused the most is when I see someone writing a proof and he/she just know when and which number to add to get to this next step, or when to let j' equal an expression, and etc. I think the challenge for me is to just think outside the box on how to prove the consequent with the antecedent and with previous knowledge.
    Anyways, to prepare for the test I plan on going through all the lecture slides for written proof examples, doing the past test and if I have time, doing practice questions on proofs. I don't know how I did on the last test but I hope I do decent on this upcoming one! Oh, I also think I messed up on last week's quiz. I don't even remember what I wrote exactly, but I have a feeling it wasn't right at all. Hopefully this week's quiz will be okay.

Sunday, October 26, 2014

Week 7


    So this week we did more proofs. I feel somewhat confident, more confident than last week because of the tutorial. Plus, I learned some of the inference rules in the course notes and reviewed them during the lecture slides. So far, I know that there are introduction and elimination rules. Introduction rules allow us to introduce new logic structures (essentially, building the formula). Some introduction rules are:

a) Implication intro.: If A is assumed then B follows, then A => B
b) Universal intro.: If a is assumed to be a generic element of D and P(a) is derived, then you can conclude "For all a that is an element of D, P(a)"
c) Existential intro.: If x is an element of X is shown and if P(x) is shown, then you can conclude that "There exists an x that is an element of X, P(x)"
d) Conjunction intro.: If you know A and you know B, then you can conclude A and B.
e) Disjunction intro.: If you know A then you can conclude A or B.

    On the other hand, elimination rules allow us to break sentences down (essentially, taking the formula apart). Some elimination rules are:

a) Implication elimination: If you know A => B, then A allows you to conclude B. Also, not B allows you to conclude not A. (Opposite of implication intro.)
b) Universal elimination: If you know "For all a that is an element of D, P(a)", the domain allows you to conclude P(a). (Opposite of universal intro.)
c) Existential instantiation: If you know "There exists an x that is an element of X, P(x)", then you can pick an element with that property. (Opposite of existential intro.)
d) Conjunction elimination: If you know A and B, then you can conclude A (or B) separately. (Opposite of conjunction introduction)

and so on...

    Anyways, I think the quiz went well but mostly because the question was exactly the same as an exercise question. So I think I only did well because I remembered the solution from before. But I forgot what to put as a comment for one of the sentences…

    I'm going to meet my a2 group today to start the assignment so hopefully, I learn a lot from this assignment. Hopefully we do well again, especially since these proofs are much longer and more complicated than the exercises.

Saturday, October 18, 2014

Week 6 (and a bit of 5): Proofs


    So for week 6 (and a bit of 5), the class went over proofs which is something I am not comfortable with at all so far. I somewhat understand the structure of the proof such as stating all of the assumptions and the domain before proving the rest of the claim. But the biggest difficulty I have is probably understanding why the claim is true. In the course notes, it said that the first step to writing a proof is understanding why it was true. It also said it was the hardest step. When I watch the professor write proofs in class, I kind of understand but if I were to write my own, I wouldn't know where to start or if my proof made sense to someone else. I think the concept of proof by cases is fairly easy to understand (When proving, you must consider different cases in which the proof is true but then again, writing the proof on my own would be difficult), but proof by limits is um...I'll probably ask my friends about that. I'm quite glad I did not enroll in MAT137 because supposedly it is all about proofs.

    Back to last week, the term test was okay...I think the first and last part seemed good but the second question I couldn't fully answer because I never understood the "Enemy chooses…" thing. From now on, I need to make sure I understand every single thing (I suppose I learned the hard way). I'm actually concerned about passing this course because I know proofs will not be easy for me and I still have a bit of difficulty with the previous material  (although working in groups for a1 really helped and was a good way for me to start studying for the test). I wish I worked better at home; forcing myself to go to the library sucks because I like getting food whenever I want and I can wear my PJ's. No matter, I'm going to try and study twice as hard for the next test!!!

Friday, September 26, 2014

Week 2 & 3


    Well to start off, I feel a bit more overwhelmed than I did last week with the course material. I was familiar with the conjunction "and", disjunction "or", and negation since in CSC108 I did exercises about Boolean operators. A short and simple summary of this material includes:

1. In order for "P and Q" to be true, both P and Q must be true. For it to be false, either P, Q or both P and Q must be false. The symbol for "and" isand is similar to another symbol, ∩ (intersection). 
2. In order for "P or Q" to be true, at least one of P or Q must be true. For the statement to be false, both P and Q must be false. The symbol for "or" is which is similar to another symbol, ∪(union). 
3. And lastly, to invert truth value we use the negation symbol, ¬. If P were true, the value of ¬ ¬P would be true.

    I also understand vacuous truth, equivalent and equal sets, tautology, satisfiability, and unsatisfiability, but some other concepts I still have questions about. Mainly, the converse of an implication and symbolic expressions confuse me.

    Firstly, I know what the definition of contrapositive and converse is, but I still fail to grasp why the converse of an implication is not the same as the implication. I feel like the answer is simpler, but my mind gets all jumbled especially when I start mixing causality with logic (which according to the course notes, shouldn't be done).

    Another thing I'm stuck on is the tutorial exercise for this week. I did the exercise by myself at home and I thought I had done it right, but when we took it up in class I had gotten everything completely wrong. It made a  bit more sense when my TA took up the exercise but I wish I had gotten more of a chance to practice and learn from my mistakes before the quiz. Even 5 minutes to look over the exercise would have made me feel a lot more comfortable with the material. I take back what I said last week, that I was excited to learn new symbols. I thought these symbols would be fun! :(

    Speaking of which, the quiz was quite easy I suppose. Even though I got the exercise questions all wrong, I think I answered the quiz question correctly...at least some it anyway. I realized that I'll definitely need to find more resources for me to practice translating English to symbolic expressions and vice versa because I find that the course notes only touch upon a fraction of what we really need to know in order to do well in this course. The notes are too general and I need to find practice sheets of some sort or a textbook to help me learn more in-depth.

    Anyways, I plan on forcing myself to go to the CS Help Aid Center (since when I tried to see my professor, there were quite a few people and not enough time until my next class). Also, I think the assignment due on Oct. 3 should help. Although my group members don't seem to know much more than me, I think talking about it with other people should help.
   
    And oh yes, midterms are coming in less than 2 weeks and I'm pooping my pants, but I plan on prioritizing this course since I'm struggling the most in it. After talking to my friends, I don't seem to be the only one struggling though. I guess we can all suffer together, yay!

Friday, September 19, 2014

Week 1

    I've never had a real blog, nevertheless an academic one, so I suppose this is somewhat of a new experience for me. I expect this to be interesting and hopefully enjoyable since I do like writing. So anyways, welcome to my CSC165 SLOG! My first entry will be on Week 1 of the course.

    So right now, I can only remember a handful of the topics I learned last week from the lectures and course notes. These topics include sets, universal quantification, and existential quantification. Firstly, I had only touched upon sets a bit during high school, but I quickly understood the concept of sets, subsets and elements. But all of a sudden my lecturer, Danny Heap, pulled out functions like this:

def q2(S1, S2) :
''' (set, set) -> bool
Return whether ...
'''
return all({x in S2 for x in S1})

    Mind you, I hadn't learned functions yet in CSC108 so hopefully you can understand my confusion. He asked the class to write a comment for each function and I wrote nothing because I didn't know what the heck I was looking at. But thankfully I went home, went through my notes and Danny's annotations, and quickly understood what the terms "all", "not all", "not any", and "any" indicated In a function.

return all({x in S2 for x in S1}) means that every element of S1 is an element of S2.
return not all({x in S2 for x in S1}) means that some elements of S1 are not elements of S2.
return any({x in S2 for x in S1}) means that some elements of S1 are elements of S2.
return not any({x in S2 for x in S1}) means that no elements of S1 are elements of S2.

    It's actually very simple and straightforward. But then the Venn diagrams came...Typically, I am a decent visual learner, but I can't really grasp the reasoning behind putting an X and O in certain sections of a Venn diagram that represents the relationship between 2 sets. I suppose I will have to ask for help soon if I still can't figure it out.

    Next, I learned about universal and existential quantification. These were quite easy concepts to understand, although I understood them much more AFTER quiz 1 (which I found to be quite easy but knowing me, I probably made a careless mistake. I'll be waiting for my failing mark!). One of the main differences between the two is probably the symbols associated with each of them. Universally quantified statements can be expressed with the "for all" symbol which is the turned A, or ∀, and existentially-quantified statements can be expressed with the "there exists" symbol, ∃.
 
    In my notes, I defined the two quantification types as such:
UNIVERSAL QUANTIFICATION: a claim being made about all the objects being considered (i.e. in our "universe"). For example, "Every employee makes at least 30,000."

EXISTENTIAL QUANTIFICATION: a claim about the existence of one or more elements of a domain with some property. For example, "Some employees make at least 30,000." Here, I can see that not all elements are specified to have the same property because of the word "some".

    I know that if I were to disprove a universally-quantified statement, I would need only one counter-example, but if I were to prove it, I would need to consider every element in the domain or "universe". For an existential-quantified statement, it's vice versa. To prove it, I would need to provide only one example, but to disprove it I would need to show that every element is a counter-example. Hopefully, I don't get confused on a test! :(

    And on a side note, I like symbols so when I started seeing all of these foreign symbols in the course notes, they immediately peaked my interest. I'm still learning, but I think I already know the basics like union, intersection, for all, there exists and whatnot.

    And on another side note, I can't help but compare this course to CSC108. My classmates and I noted that CSC165 requires much more thinking than CSC108 and because of that, I like CSC108 better. I find coding fun and being able to code my own functions feels more of an accomplishment than if I were to learn material from CSC165. However, I find both courses to be interesting with CSC165 being more tricky. I definitely need to practice and study excessively in this course.

    So I think this is enough, or at least I hope it's enough, for today! Overall, I feel somewhat confident about  the first week's material. For sure, I need to tackle those Venn diagrams and study everything more deeply, but I don't expect it to be too difficult. Week 2's material is starting to hurt my brain though, but I'll write about that for next week's entry! Thanks for reading!!