Archive for Uncategorized

TODO revisited!



 

In a semi-rare moment of flagrant voyeurism, I’m going to post up my current to-do (or as computer types call it, TODO) list spanning the next week… just in case anyone is curious about the exciting, assignment filled life of a CS major. (I’ll admit that I have a perverse interest in looking at other people’s to-do lists, haha.) Onto the fun! It’s really not as bad as it looks. (Though the formatting is pretty bad because WordPress is horrible.)

 

Upcoming Deadlines
Wednesday Feb 2nd – Stat 200 assignment #1 due (5:00pm)
Thursday Feb 3rd – CS320 midterm #1
Friday Feb 4th – CS422 miniproject presentation #2 (10:00am)
Monday Feb 7th – CS422 a3 due (10:00am)
Thursday Feb 10th – CS320 a3 due (3:45pm)
Monday Feb 21st – CS422 project proposal due
Friday March 4th – Stat200 Midterm exam
Monday March 28th – CS422 project presentation
Wednesday April 6th – CS422 project report due


 

CS320
Study for midterm! (Thurs Feb 3rd)
  • make a study schedule
  • organize practice midterm(s) and assignments
  • Cue cards for stable matching (section 1.1)
  • Cue cards for asymptotic notation (section 2.1, 2.2, 2.4)
  • Cue cards for greedy algorithms (4.1, 4.4, 4.5)
Do tutorial problems for weeks #1-3
Read textbook on Amortized Analysis (section 4.6 + additional material)


 

CS422
Start working on term project (proposal due Mon Feb 21)
  • Brainstorm ideas
  • Meet with TA
  • Draw up formal schedule
Work on assignment 3 (with JX) (due Mon Feb 7th)
  • Review relevant material over the weekend
  • Brainstorm ideas
  • Meet with JX on Monday(?)
Work on second miniproject (presenting Fri Feb 4th)
  • Come up with presentation outline
  • Make/collect images
  • Make powerpoint
  • Create accompanying cuecards
Print out an assemble lecture notes and readings
Take cross-reference notes from the Norvig text
Start working on cue cards (sigh…)


 

CS313
Finish doing cue cards for section 4.3
Read sections 4.4, 4.5
Cue cards for sections 4.4, 4.5
Read sections 6.1 to 6.6
Start cue cards for 6.1 to 6.6


 

Stat200
Work on assignment (due Wed Feb 2nd)
Register MSOffice so that Excel will actually work
Print out lecture notes for chapters 1, 2 and 4
Do textbook readings: chapter 1, 2 and 4
Cue cards for material up until now
Do suggested exercises for chapters 1, 2 and 4


 

Other stuff
Do up invoice for the Rocky Mountaineer illustration
Clean room- maybe set up a cleaning schedule?
Start thinking of a website plan

Academic Wrap-up: Winter 2010

It seems to be becoming a BlogSquad tradition to do these wrap-up things… I’ll admit, whether out of sympathy or a common suffering, I love reading them. As I’ve said about a zillion times in the past, this hasn’t been the greatest term for me. However, the grades were finally released yesterday (most of them, at least) and, despite my crappy performance, my GPA didn’t move an inch since the grades I got in the end were actually pretty good, considering. That can be good or bad, depending on how you look at it, I guess… but as long as my average is higher than 80 (the approximate requirement for UBC’s computer science grad program), I’m fairly content. (All of the grad students and faculty I’ve talked to say that so long as you meet the threshold, no one really cares about grades after that… research is what counts.) Anyways. On to the classes!

CPSC 312 – Functional and Logic Programming
Professor Kurt Eiselt
Final grade: don’t know yet

Class average: don’t know yet

As of this writing, my grade hasn’t been posted on the SSC yet. I’ll update when I find it out, but barring a failing grade or some other bizarre happenstance, I doubt whatever I get will change my opinion of the course very much.

Alas, if it were not for how much I dislike Prolog, the combination of Kurt + programming would make this my favourite class. This was a class, similar to CS322 below, that I let fall by the wayside as a sacrifice to the gods of “oh lord please let me pass” for Math 223. This means that I did start the class on sort of a bad foot, but programming classes are great for being generally easy to pick up so long as you do a lot of practice coding… and I love coding of any sort so practice was a (d-dare I say it…?) joy. For Haskell, at least. Programming with Prolog was about as enjoyable as clipping my banshee cat’s nails.

Anyways. This class had four assignments, which were, for the most part, solving a few little puzzles each. No big deal, even though I missed a couple of them. They were only work around 1.3% each. There were also two larger projects: for one, we had to program a peg game called Oska, and for the second, we had to program a game that would assist with kicking butt at Clue. The most important point is that these projects were mandatory to be done in pairs… which, I guess, can be great in certain circumstances (so I’ve heard) but in my experience, pair/group programming very, very rarely works. I won’t go into it much here, but this was probably the least enjoyable aspect of the course. So, if anyone is taking this course with Kurt and he implements the pair project again, make sure you set up some guidelines and expectations from the beginning or you could find yourself in a sticky situation. However, I am pleased to say that our Clue project won our partner and I $20! Bernoulli’s Bagels, here I come…

The way to succeed in this class is hardly a secret… program and program a LOT. If you go through all of the little algorithms in the slides (for example, the Prolog interpreter can span 50+ slides but it’s important to trace through it for real so you understand the process), and then just do all of the assignments, given practice problems and (if needed) textbook problems, you should be a-ok. Beyond this, perhaps a little bit of textbook reading is necessary for cementing some of the more theoretical ideas, but in my experience with Kurt (both as a student and a TA) he tends to focus a lot more on the practical than the theoretical, which I much prefer.

CPSC 322 – Introduction to Artificial Intelligence
Professor Cristina Conati
Final grade: Above average. (Not bad at all, considering I thought I was going to fail.)
Class average: 70%

I went into this class having read the following review on RateMyProfessors: “I guess I was just disappointed that the course was not what I expected… ‘Where are the cool robots and stuff?'” “Pff,” I scoffed. I wasn’t so naive as to believe we’d get to be building hardcore robots (or even Roombas) or building neural nets… which was true enough. However, I didn’t think that CS322 would be so far removed from real-world applications as it was.

The first half of this class was studying search algorithms, divided up into uninformed search (things like depth-first search, breadth-first search… mostly review from CS221) and informed/heuristic search (like A* search, best-first search, etc.). We then got into constraint satisfaction problems, or CSPs. These are just what they sound like… solving a problem given a set of constraints, like scheduling classes. This was more interesting than just learning and tracing search algorithm and search algorithm, I’ll give you that. In fact, I would say that CSPs were my favourite part of the course, since it was easy to see how one could actually implement this and use this. We touched on a weird (and seemingly obscure) representation of problem solving using STRIPS (don’t ask) which was… weird. That sums up everything before our midterm.

Post-midterm, or pre-final depending on how you want to look at it, was three sections. First was a short section on logic (basic predicate logic like we learned in our second-year CS classes, combined with some proof strategies that would be easy if you’ve taken something like CS312). Essentially, we learned a Prolog-like language and used it to represent problems, or “worlds”. We then moved onto probability theory. I thought that this would be a piece of cake since I’d been taking Math 302 at the same time, but the way everything was presented was weird and unintuitive and it took me awhile to learn everything, even though in the end I already knew everything from 302 (which should tell you something about the presentation). This lead into stuff like Belief/Bayesian nets, which was interesting but it’s the sort of thing you could easily spend a whole class on to really get something out of it. Finally, we had a couple of lectures on decision theory. This last one, I taught myself the night before the exam so I really can’t remember enough to comment on it.

In fact, I’ll admit that I taught myself a lot of this course just for the final exam. I fell very behind in this class after my Math 223 fiasco, which was really dumb of me. The lectures followed the textbook very closely, so I falsely assumed that I could easily teach myself everything in a couple of days from the textbook alone. This might be true if the textbook were a little easier to read, but whenever I would sit down to tackle it, it felt like the sort of thing where you have to spend ten minutes processing each sentence because they are so dense and information heavy. (So, my somewhat praise-less exam is certainly coloured by this, but I stand by what I say.)

The midterm for this class was a strange experience. I studied reasonably hard (a lot of it was last minute memorization of search algorithms, etc. since a lot of this class is memorization) and came out of it feeling like I surely had gotten an A or higher. Surprise, surprise… I got my lowest grade on a midterm ever. Meaning, a bare pass. Woohoo…? To compound matters, the teaching staff decided not to post a solution guide, and instead told us to “just come to office hours” to discuss where we went wrong… where they promptly told us to “just read the book”. Hmm. In fact, the whole “omg, I did sooooo well” to “what… the… hell… THAT’S my grade?” thing was common across every student I talked to, all students who (including myself) are used to getting very good exam marks. So that’s something else to consider.

Professor Conati sticks to the book fairly closely, though I have a feeling you’d get this with any CS322 prof since (a) it’s a precursor to 422, with David Poole and (b) the textbook is written by David Poole himself. Some people like this and some people hate it; personally, I’m indifferent, though it can be useful when studying to know that everything will be in the textbook. I am grateful to Professor Conati for meeting with me when I was really sick and offering to help me in any way she could, and she is willing to give you extensions if you really need them. She also provides you four late days, to be used on any assignment you want, which I thought was great.

Anyways. Overall, I was disappointed with this course. As I’ve mentioned in the past, I’ve been toying with the idea of getting into AI research ever since learning about CS. (I love things like neural nets, machine learning, etc.) This class has made me reconsider that for sure, despite the fact that I know basing your career decisions on one introductory course is sort of a silly thing to do. If you do treat this as an introductory course, for the sole purpose of building the somewhat boring foundation you need for “cool robots and stuff”, then it’s a bit more palatable. I’m going to continue on with 422 next term to see if that’ll satisfy what I thought this course would have been. I wouldn’t not recommend this class to CS students, especially because it’s a pre-req for cool stuff and you do indeed learn things that will be useful to you, but while you’re in the thick of things, it’s hard to see it as anything beyond rote memorization and tedious assignments.


Math 302 – Introduction to Probability
Professor Michael Kozdron
Final grade: In the A range
Class average: 74%

This was one of those classes that I figured would be a necessary evil. I hated probability in high school, and so went into this class with indifference and a hope that I would just get through it with a decent grade since it was a prereq to bigger and better things. In the end, I lucked out with a really good professor and material that, lo and behold, was really interesting after all.

Michael Kozdron is a visiting professor from Saskatchewan- I can’t remember why he’s here at UBC, but I think he was only here for the term. Interestingly enough, he actually did his undergrad at UBC and had taken the very class he was teaching us. This is a shame, because I really would have looked forward to taking more classes with Professor Kozdron… damn those URegina students.

Anyways, Professor Kozdron prefaced the class with saying that the textbook was optional, and that even if we did get it, he wasn’t planning on following it. This immediately raised some red flags for me… for a no-textbook arrangement like this to work well, in my experience the teacher has to have either stellar lectures, in which you can’t miss a single one, or thorough slides. Of course, having the best of both worlds would be ideal, and this is exactly what Professor Kozdron gave us. His teaching style is such that he introduces a concept intuitively at first, generally through some sort of scenario you can understand without knowing anything formal about probability. (Drawing balls out of a bucket or whatever, for example.) He’ll then work us through deriving an equation from the example, and only then will he introduce a formal formula and terminology. This really made the material relevant and easy to stay interested in, especially when he took the time to make the examples pertinent to lots of disciplines, including computer science. His lectures were engaging (even though I think he inadvertently came across as condescending at times) and he typed up in-depth handouts summarizing each lecture.

We had a weekly assignment and, while they could be tricky at times, they were certainly doable. Professor Kozdron also made himself very available for hep… I must have met with him for five assignments, and I doubt I would have done as well on them had I not taken the time to do so. Hmm… what else. The class had two midterms- the average was very high for the first one (I forget what it was… maybe 78%?) and a bit lower for the second one. The final was challenging for me because it covered material that I hadn’t studied as thoroughly, but I guess I did ok on it… my final grade was a bit lower than I’d liked, probably due to the final exam (since my course grade leading up to that was pretty high).

So… I guess I really don’t have many negative things to say about this class. I’d say this was easily my favourite class of the term (sorry CS312, but Prolog sucks) and I’m actually looking forward to taking more classes in probability now.


Ling 101 – Languages of the World
Professor Strang Burton
Final grade: In the A range
Class average: 71%

I went into this class thinking that if I didn’t end up with at least a 95%, I would have failed myself. “A 101 arts class, come on.” However, I forgot that 100-level classes can actually be the most challenging, if not for content then for the sheer breadth of information one must learn in an introductory class. So, maybe in the end with two dear linguistics major friends helping me and a year of university under my belt, I should have gotten that 95%, but for an arts elective class that “doesn’t really matter” for my degree, I’m happy with my grade.

I’d say that the breakdown of this class was probably 80% phonology and the rest a little bit of syntax. (At least I think that’s right… I always get these ling disciplines confused.) We touched on language/sound systems for Hawaiian, German, English (naturally), Mandarin and a language called Halq’emeylem (which is a Salish language from around BC), so some of the material was about comparing and contrasting sound systems and how they arise. A good portion of the class was simply learning the IPA piece by piece and transcribing English words phonetically. The assignments, midterms and finals all followed this format quite closely. So long as you know the IPA (and can quickly scribble out a vowel chart after your exam starts) you’ve already achieved an easy C+ on a test.

I guess there’s not much that I can say about this course… Professor Burton is a really nice guy and has a knack for making lectures very interesting. I wouldn’t call him a super difficult professor insofar as testing and stuff goes, but his questions can often be a bit tricky and require a bit of thinking beyond the obvious answer. (“Pick the best answer when all are possibly right” sort of thing, for example.) I found the tutorials pretty boring and arduous and they felt a bit like high school all over again (I guess I’m not used to classes with lockers, dick drawings on the wall and seventeen year olds giggling anymore… such a curmudgeon) and could’ve done without them, even though they were unfortunately mandatory, as was the 9% participation mark (umm…). However, those things just come with the territory of taking a first year class and overall, it was pretty good.


Math 223 – Linear Algebra (Honours)
Professor Hendryk Pfeiffer
Final grade: W
Class average: Not sure. (Since I withdrew, the average doesn’t show up on my transcript.)

As I’ve detailed in other posts, I was super into taking this class since, at the time, I was keen on doing an honours computer science degree… which didn’t pan out well at all. This class was a terrible experience in feeling like a dumb bumpkin, though I guess I should thank it for forcing me to re-evaluate exactly why I wanted an honors degree (protip: I didn’t, really).

I wouldn’t consider myself terrible at math or anything, but I wouldn’t say that I am super intuitive at it and I don’t have a long history of super duper IB or honors math or anything. (Cripes, the last time I took math before last year was like… five years before that.) All I can say is thank God I learned how to do proofs in computer science because that’s all this class was… the assignments, the tests, that’s it. I actually did well on the assignments for the most part since I think they were marked quite leniently, and I wish I could say the same for the midterm but… I really, really can’t. I bombed that thing. With a capital B.

So… considering I only did half the course (I had to withdraw because the stress of it was both compounding some pre-existing health disasters I had at the time and screwing up my other classes majorly), am not amazing at math in the first place and am not particularly keen on proofs, take my advice with a grain of salt. But, unless you’re super duper into math or you really have no other choice but to take this class for a pre-req for something, go with Math 221. Someone actually advised me of this beforehand and I waved them off saying that I liked a challenge but… this is less of a challenge and more of a masochistic, self-imprisonment kind of deal. And that’s only a little bit of hyperbole.

Things I love… Monday?

I am a bit ashamed that I’m already behind on my second Things I Love Thursday post, but a Friday exam and a Saturday full of desperate house-cleaning and a dinner party kept me firmly away from the internet… torture indeed for a computer science student. However, the upside is that I have even more lovely things to coo over:

♥ For Christmas, my boyfriend took me to get professional photos taken of my golden retriever. I love that dog more than anything in the whole world (in fact, I even have his name tattooed on my foot) and this was the best Christmas gift I could have asked for. :) I was lucky to have my incredibly talented friend Shane Oosterhoff work his magic behind the camera, and I seriously can’t wait to see how they turned out.

♥ My sweet better half also got me all sorts of wonderful gifts, including a monster hat and an adorable panda dayplanner for the new year! (I have a serious fetish for stationary, particularly the cute stuff.) The best part was that I got to give him his gifts as well, which he loved.

♥ A bunch of friends came over tonight to play boardgames and stuff ourselves with way too many desserts. I finally made a lemon meringue pie that didn’t fall to pieces. AND Cranium is the most fun game I have ever played.

♥ My kitten is growing into a lanky, awkward teenager cat and it’s adorable. He is truly my familiar- he stays up until 5am with me, drinking my tea and purring in my lap and keeping me company while I draw.

♥ Speaking of that, I’ve been drawing a whole lot again and it feels wonderful. (I was a “professional artist” (in the sense that I made a fair bit of money from selling paintings) for many years but art school ruined my love of painting, until now). I’m going to be setting up my website soon so then I can share it all. :)

♥ Did I mention that FINALS ARE DONE? Today marks my second full day of freedom and thank God for that, is all I can say.

♥ My boyfriend is going to Alberta for Christmas which sucks, but on the bright side, I am going to park myself in front of his enormous iMac computer and play videogames and draw nonstop. I am only going to move for tea and possibly pie and go to bed at 8am and not wake up until 4pm and that is a promise.

♥ … starting on Monday, I guess, since I am going to see Kid Koala at 8pm tonight (Monday) at the Biltmore. I’ll probably be exhausted but it should be fun.

Happy holidays everyone! I know the very last of you will be finishing up your exams on Tuesday, I think, so good luck. And for the rest of you that are already done, enjoy your freedom!

Doomed.

Have you ever had the feeling, while looking at the learning goals and final review materials for a class, that you’re totally, unequivocally screwed?

… I didn’t, until now. There is a very real possibility I’m going to fail my CS322 exam tomorrow and I feel horrible. :( :( :(

The beginning of the end starts… now!

It’s remarkable how fast a blog can fall by the wayside… I remember last year, when I would avidly read each and every BlogSquad post and then hit the refresh button for more, around this time there would be a lot of posts apologizing for the tardiness in posting, etc.I figured that, since I seriously have no life outside of school, I’d probably have TOO much time to update on my uneventful life, haha, but it’s been over two months since my last meaningful post.

Anyways.

Today is the last day of classes and I am actually sitting in my final CPSC322 lecture as I write this. (Not a big deal considering that I’m so painfully behind that, even if I make a sad attempt at paying attention, none of it makes sense.) What a horrible term this has been. The whole fiasco with that honors math class at the beginning of the year set a very bad precedent and it’s just been a prolonged game of catchup since then. A badly played game of catchup, too. I’ve fallen behind in all of my classes and there’s no way to be getting the grades I want or the ones that I even should be getting. Which is not really a big deal. But the frustrating thing is that this happens every year. I fall into the same pattern of doing well on my first set of midterms, then gaining a false sense of confidence and slacking off, doing horribly on my second set and by the end of the year, I’m so behind that I’m hanging on by the skin of my teeth.

This is certainly no way to be a good student and it makes me uncomfortable and cranky to constantly be “just getting by” when I can do so much better. Thankfully, so far “just getting by” is still good enough to get into grad school, but I’m worried that this term will really trash my GPA. I worried about that last term, too.

You’d think that by virtue of being able to recognize such a stupid pattern, I’d be able to break it, right? Or at least make efforts to address it here and there. Yep… you’d think… sigh.

My posts are overwhelmingly pessimistic. I love Lillienne’s Things I Love Thursday… maybe I’ll get into the habit of that. :) I also have a bunch more posts that are half-written, filling up my drafts folder, and I’m looking forward to finishing those, too.

What’s been happening (summarized and numericized(?) for the good of all)

  1. I got a kitten! His name is Puzzle.
  2. I dropped out of honours math…
  3. … and subsequently decided to not carry on with honors computer science as a major. I have no doubt in my mind that this was the right decision, and a conversation with my favourite professor confirmed that.
  4. I’m loving school again, though I’m excited that the term is almost over, except…
  5. …finals are in two weeks! I’m taking a much needed breather this weekend.
  6. Snow!!!

Week 0 down, 12 to go!

When you think of it as only twelve weeks, it really doesn’t seem that long… good or bad, depending on your perspective, I guess.

Anyways! The first pseudo-week is over, and it has been a hectic one for me. I’ve never had to shuffle around so many classes after they’ve started before, which is a somewhat nerve wracking experience. I just count myself lucky that, for once, I didn’t indulge my keener tendencies by buying all my textbooks a month early. Turns out that one of my classes doesn’t even use a textbook… score! On the other hand, I ordered my Math 223 textbook a week and a half ago and I have no idea where it is. Considering that I have reading to do this weekend and an assignment to do on Friday, it isn’t the best of situations.

I didn’t end up going to Imagine Day (even though all UBC students are expected to go, I hear) and instead spent the day in a dentist’s chair getting my teeth drilled. When choosing between a campus full of thousands of shrieking students, and the combination anesthetic needles and fluoride (ew)…. well, it’s a bit of a toss-up. What I did manage to make it to, however, was the Computer Science welcome thing which involved putting some faces to very familiar faculty names and receiving a Student Service Award! And then burgers were had. I didn’t see too many familiar faces there, unfortunately, apart from the ones I dragged along with me, but I’m sure we’ll all run into each other soon.

Classes so far have been both good and bad. My honors math class that I was so worried about seems like it will be promising- I really like my professor’s teaching style so far, and that makes such a huge difference. (More so in math than other subjects, I find.) And who would have thought that getting up at 6:45am to make the 9:00am class time is pretty enjoyable once you get into the swing of it. Coming from a chronic night owl, this is a huge deal. In fact, today is Sunday and I actually got up at 8:00am without an alarm. What have I become!

I’m also still registered in CS 312 and CS 322. 312 is a functional programming class with Kurt Eiselt, who is only my favourite prof in the whole wide world (with the exception of another computer science prof, Kim Voll). Professor Eiselt actually taught CS111, which was the class that started my love affair with computer science so it is super fun to have him again. Plus, come on… a class where your sole purpose is to learn two new programming languages? So awesome. CS322 is an introductory class to artificial intelligence. Because it is a class where you learn mainly the building blocks of a discipline (with very little programming) it seems like it could be a little dry, but intro classes are a necessary evil I guess.

One class that I ended up dropping was Stat 200… the prof was nice enough, but her accent was so thick that I found I spent most of my time trying to decipher what she was saying rather than paying attention. The other class I dropped was Cogs 200, much to my chagrin. I was really looking forward to this class too, but 40% of your final grade was based on groupwork, and I very much dislike having that much of my grade put into the hands of others. 10% specifically was to be derived from the performance of a group we were assigned to in a “quiz show” thing- basically 10% of your mark is calculated from something that you only participate in for one day. I think that’s absolutely unfair and, as such, I switched that class over for Ling 101 with Professor Burton to fulfill an arts requirement (and hopefully have another easy-ish course.)

On another note… I hate the geography building. Way to be precisely 12 minutes away (no matter how fast I walk, seemingly) from every other class I have. Ugh.

Spam prevention powered by Akismet