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
My SLOG
Monday, November 24, 2014
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!
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.
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" is
∧and
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!!
Subscribe to:
Posts (Atom)