Well, answering my last question, we looked at how to prove a DFSA this week. It was a lot more straightforward than I thought. Everything was pretty much definition based, for which I am glad. Then things started getting a bit weirder. We began looking at NFSA's and how every regular expression has an FSA. And then how every NFSA can be rewritten as a DFSA. I could follow the pictures Prof. Heap drew, but I had a hard time trying to picture how to apply it to concrete examples. And then finally we learned the cartesian product so that we can build DFSAs for accepting strings with two different properties. Working through the last example at the end of Wednesday's lecture helped reinforce how it worked. I went home and filled in what we started in class. Building a machine that was a union of two different machines was surprisingly a lot easier than I had imagined.
Labels: Problem Sets, Week Eleven
Unfortunately, I missed the Monday lecture with the guest lecturer because I was frantically studying for another midterm. Anyway, we looked at program correctness this week. I think compared to the material we were covering the last couple of weeks, I find this a lot easier to take in and understand. There is something about time complexity that I just despise. Program correctness, on the other hand, feels more straightforward. I just need to follow the code and check if the postcondition is satisfied or not given the precondition.
Labels: Problem Sets, Week Seven
It has been a very stressful and busy midterm period. Although it's still not quite over yet for me, I am going to take some time and try to catch up on my slogging.
As I've mentioned before, I missed Week 5's lectures, and I am still having trouble understanding how to deal with closed form expressions. I had no trouble with Problem Set 3, but the notes on developing a closed form expression for the Fibonacci function haven't exactly 'clicked' for me. Perhaps the midterm stress is the cause, but I do have to admit that I haven't really sat down and investigated it thoroughly.
We looked at the complexity of merge-sort and the Mast Theorem last week. I really need to print out the slides and write on them instead. There were many slides of just text last week, and I tried to write them all down. In the end, I had "see slides online" written after trying to copy everything down, and I didn't get to hear anything Prof. Heap said as I was too busy writing. It's probably better that I print the notes, read them before lecture, and then just follow along the lecture. It's so simple, yet I feel that I need to continue writing up my notes since that is how all my notes for this class have been so far. Anyway, we proved that the time complexity of merge-sort was nlogn. We actually took the code and came up with a time complexity of which we proved by building on several smaller proofs. Or.. I think that's what we did. To be honest, I am somewhat lost at the moment in the course. As things die down, I think I will be able to make sense of everything again. Hopefully.
Well, besides catching up on the course, there's also another problem set and assignment due next Monday. I've looked at the problem set, and it should be somewhat similar to what we did in Wednesday's lecture. I'm having a bit of trouble wording what I want to say though. In fact, throughout this course, I seem to have some problems with the way I present anything. I'm going to have to work on that. The assignment.. won't be too bad, I hope.
Labels: Problem Sets, Week Five, Week Six
I'm still working on the assignment.. so I'm going to have to keep this entry short.
Labels: Problem Sets, Week Three
So, the third week of classes are beginning already, yet I still feel an extreme lack of motivation and concentration. I know I should start focussing before I fall behind, but I'm constantly feeling tired from my super spread out schedule, 3 night classes, cooking, cleaning, and my part-time job. I need to work out some sort of schedule to be better organized :S
Labels: Problem Sets, Week Two