Archive for August, 2007

CS241: System.exit(0)

August 14, 2007

And so, my CS241 exam has finished. The exam was pretty easy; significantly harder than the midterm, but still easy. It was like Colin said: They didn’t test anything that requires memorization. If you paid attention in class, did the homework, and kept up with what was going on, it was pretty trivial. However, if you didn’t understand what was going on in class, things got really hairy really fast. Overall, it was a good representation of the course: it began with a little Assembly language coding, then got into DFAs, regular languages, and finally parsing, code generation, and C. It was pretty equal in distribution, meaning that if you knew a little bit of everything, you should do fine. I found it somewhat relaxing, actually, although the last question was a bit of a tough one considering how much C I’ve learned.

And now, a quick course overview:

I don’t really know how to judge this course, to be honest. On one hand, the concepts are really interesting and I think I learned a lot, but on the other hand, I hate compilers and am not touching CS444 with a 10-foot pole. To be honest, I think the course covers too much in too little detail. Most of the course is geared towards teaching about programming languages, which is good, but I think making you write a compiler is the wrong way to approach it. I like the idea of assembly language, but I would have liked to have learned to do more with it. A basic understanding of how Java or C gets converted into runnable code is interesting, but I found the execution a bit…lacking, I suppose. And the fact that C gets taught in the last week of class, expecting you to learn what they teach in about 3 classes and be tested on it for 1/8 of the final exam with very little practice is a bit silly. If it were me, I’d remove C from the course and just have another 2nd year CS course that teaches C (or, even better, a first-year course that would replace CS 125/133/134) in-depth, replacing that material with more course-related stuff. But it’s not me, and I have no say, so I guess whatever works will work.

CS241 is an easy course if you get it. In my opinion, there is no reason as to why CS241 must be a 2nd-year course, aside from the compiler aspect of it. Aside from that, it’s about memory management and the inner workings of the computer, which is really not that complicated. As long as you go by the old CS standbys of “one instruction at a time” and “do not kill the language”, you should do fine, regardless of your CS experience. The problem is when you fail to program properly and forget what certain instructions do that things start to get hairy. The DFA aspect of the course isn’t bad if you stick to small ones. Unfortunately there was a question on the exam that involves a huge immense ridiculous DFA which I guessed at because I didn’t have the patience to walk through it by hand (I did finish the exam half an hour early, so I had the time). Again, if you understand what’s going on in the course material, it’s not bad. If you try to memorize a bunch of stuff, be prepared to do it again next term. But that’s how it is with all CS courses, I’ve found, anyway.

So that’s the brief overview of CS241 in a nutshell. And now I sit here at the end of my first year the way I began; in my frosh T-Shirt and a pair of jeans, at my computer, typing something random. I’m leaving UW in about 2 hours, so I should probably get to packing my things. It’s a bit sad that I won’t have this blog to continue next term, as it’ll be passed off to someone else. And thus ends the blog of Lyle Waldman, First-Year Math Blogger. To all of you attending UW in September, best of luck to you, and to all who aren’t, you really should be.

Signing off,

Lyle Waldman

CIRCUITS: Crap, I Really Can’t Understand It…This Sucks…

August 10, 2007

Actually, it wasn’t that bad. The final for MTE 120 (Circuits) was this morning. I studied my butt off yesterday and went to see Professor El-Saadany and one of the TAs over the past couple days, so I was able to learn a lot before the exam. Of the 6 questions on the exam (no choice this time), I was able to answer 4 of them completely, and about 1/3-1/2 of each of the other 2. The questions on the final were not nearly as difficult as on the midterm, or perhaps I just learned the material better. They were, nonetheless, still tough, even if you knew your stuff. It was definitely the most difficult exam I’ve had thus far. But on the bright side, I think I passed, which is really all I’m hoping for at this point in time.

As always, a course overview:

Damn, this course is bloody hard. Seriously. The concepts aren’t that bad; the problem is that the application is so obtuse it’s ridiculous. Even if you know all the formulas, you still have to practise application, because you are sure to not get it on the first try. In addition, Professor El-Saadany didn’t give us half the information we needed to know (I learned after the midterm about a specific solution method we were expected to know for the midterm even though he never taught it).

On the surface, the course looks not bad; it doesn’t have that much material, and Professor El-Saadany says that any circuit can be solved with KCL and KVL. This is true. The problem is how to apply KCL and KVL in a particular scenario, which, imo, he doesn’t do a very good job of explaining.

Additionally, the class notes, I found, are worthless. When I was studying for this exam, I tried to look through my notes, and found that, although I took down everything he said, I was missing good chunks of stuff I remember having done in CDTs and labs. I ended up reading the textbook (which is also garbage, but I’ll get to that in a minute) to learn what I needed to know for the exam.

And the textbook. The textbook is crap. The textbook for the course comes as a 3-pack of books specially designed for this course (i.e. you can’t buy this package anywhere except at UW, so don’t even bother trying, although you may be able to find it used on Amazon or something). First of all, of the 3-pack of books, we didn’t even use one of them at all. I have yet to even look at the front cover of this book, even though it’s been on my bookshelf for about 3 months. Of the other 2, one of them is only used up until the midterm. However, you still need it, because there are formulas in its chapters that Professor El-Saadany doesn’t teach you but expects you to know (don’t ask me how; I’m still not entirely sure). Additionally, for someone who did lousy in the electric circuits unit in high school physics and hasn’t touched physics since, they expect you to intuitively know SI units and SI prefixes. For some that are common (milli, centi, kilo, etc.) it’s OK, but I’d never heard of “nano” or “pico” before this course, except through the old TV show ReBoot, and in none of the 3 textbooks (ok, the 2 textbooks, as I haven’t looked through the 3rd) is there a chart for these things, and you’re not even ever given one in class. Perhaps in engineering you learn these things, but as a Mathie taking one course, it’s really lame.

As for the third textbook, it wouldn’t be bad, except for a couple of things: First of all, the chapter questions are at the end of each *chapter*, not each subsection like in every other textbook I’ve ever seen. This means if your chapter has 10 subsections and each subsection is 10 pages, you have to flip back 100 pages to find out what the heck the question is talking about. This is a bit annoying when you consider that each chapter has an overarching theme, so you can’t remember exactly what fit where and what you are and aren’t supposed to know. Additionally, the textbook questions have a very limited answer key. Only a limited number of questions have answers attached, and these questions are seemingly distributed at random. As such, there can be entire subchapters worth of questions with no attached answers you can check when practising for a test or exam. Makes it a bit difficult to study. Luckily, Professor El-Saadany (and/or the TAs) post answers to the assignment problems on ANGEL (a system you will become very good friends with), so you can at least look at what they’ve done for those specific problems. Additionally, the textbook chapters, while they have no questions, are littered with examples. When/if you take MTE 120 (which I definitely do not endorse unless you really like circuits or are in Mechatronics Engineering and for some reason decide to see that that Mathie has to say), you’ll understand that some problems take a long long time to do. Thus, these “examples” can be pages and pages long, interrupting the flow of discussion in the chapter (as they seem to be inserted at random, even in the middle of sentences in the textbook). On a related note, sometimes the chapter, as part of a discussion, will say “See diagram”. The diagram, however, can be on the previous page, on the next page, or somewhere else in the chapter at random. This means that you have to constantly keep flipping pages back and forth, which makes it difficult to understand what’s going on. I could continue ranting like this about the textbook for hours on end, but I think the general idea has been conveyed.

So, in summary, unless you are a masochist, do not take this course. It makes for some very very bad times.

In other news, apparently enough people did badly enough on the Math 138 final exam that it’s being bellcurved. I don’t know how or by how much or if it will affect me at all, but I thought I should throw something in about it.

Now, all I have left is CS241 on Tuesday, meaning I have about 4 days to blow doing absolutely nothing. Tomorrow night is sushi, but otherwise I’m going to be really really bored for the next 4 days…and then HOME TIME :D :D:D:D:D:D:D

I’m not sure when The Powers That Be are cutting me off, so this may or may not be my last entry. If it is, CS241 is a really easy course and there’s really no reason for it to be required that you take 134/136 before it if you have a reasonable understanding of Java. If I get another entry, I’ll go more in-depth, but that’s the brief version in case I don’t.

So, until next time (or maybe not),

Lyle Waldman

NO MORE CALCULUS!!!!

August 7, 2007

Well, I’m officially done Math 138, and, with it, I am officially done with Calculus forever. And of course you know that as soon as I say that I’m going to wind up working for a company in a field where I’m going to have to end up doing multivariable integration or some crap like that, don’t you? Oh well…

So, yeah, Math 138 is done. The final exam…well, it wasn’t that bad. I knew most of the major details, but I forgot a lot of the minor ones (most importantly that there is a case when 0^0 = 1, which caused me to fuzz up the last question…I probably still got n-2/n on it though, so whatever). Given more studying time, I probably would have still missed those details; it’s stuff you think you can treat as trivial until they’re asked on an exam and you’re like “OH CRAP!”. Oh wells…I passed for sure, but given how I did on the first midterm, I might not hit my 80% goal in the course…whatever…no point crying over spilt milk, as the saying goes.

Anyway, that aside, a quick review of Math 138 (with a foreword: review obviously negatively biased by the fact that Natalitya was my prof):

Well, I’m not sure if it was the course material or my prof (probably a good mix of both, but I would lean more heavily towards the prof if asked to choose), but this course made me hate Calculus. It seems neat when you can do stuff like differentiation really hand-wavy using Chain Rule and such, but integration is a huge, huge, immense, monstrous, [add other long adjective meaning "really really big" here] pain in the butt. Like seriously. I want to find the person who invented it, and, if he’s not already dead, punch him in the face. Even if he is already dead I wouldn’t mind punching him in the face. Not even joking. Integration is basically trial and error until something works. You can go for 5 minutes or 5 hours trying to integrate something, and if you don’t try the exact right combination of functions in the exact right order, you’ll completely miss it. That’s not entirely true. There are techniques to make it easier. The problem is that the techniques are more hand-wavy than trial and error. There is no “for this type of problem, use this type of solution”. If you add an “x” where there’s a “1″, all of a sudden your integral completely flips on its head. I spent literally 15 minutes on my final exam today trying to integrate a stupid function and going through all the different methods I could use until I found one that worked. And the methods you learn aren’t even inter-related. The only common thread is that they all make the function “easier to work with” (whatever that abstract statement happens to mean in a particular context). In fact, that’s not even always true, as there are times when you can use multiple methods of solution, some of which make it easier, others of which make it significantly harder, although, of course, you don’t realize how hard it is until 20 minutes and 5 sheets of paper later.

Gah. Seriously. Integration. I want to kill it dead. Dead dead dead dead dead. Thank God (or whatever other Power That Be that you prefer to thank) that I don’t have to deal with this crap anymore since I’m in BCS (Bachelor of Computer Science) instead of BMath/CS.

Other than integration, though, the course really isn’t that hard. Most of it comes directly from stuff you learned (or should have learned) in High School or in Math 137. There’s a short section on Epsilon-Delta in the course, significantly easier than Math 147, although it was (unfortunately, as it would have boosted my mark) not on the final. Other than that, though, it’s pretty straightforward. They start talking about Taylor Series towards the end on the course, although they teach it basically as a formula you have to memorize and then plug values into on the spot. The formula is pretty short though so it’s not too bad.

Oh well; I’m sure if I’d had a better prof that the course would have been better. Professor Wolczuk who taught the tutorials seemed awesome; it was truly a shame that his Math 138 class conflicted with Professor Stebila’s 136 class.

And on that note, I found out last week that Professor Stebila isn’t a professor at all. He, like Nomair and Nataliya, is a PhD student. This is really surprising (although I don’t know why, considering Nomair’s track record) because he’s the best of the 3 Algebra profs this term (although I’ve only had class with Stebila and Hoffman, I’ve heard that the 3rd prof is also not great). This also unfortunately means that it is almost certain anyone reading this will not be able to take a class with him. Oh well. Once he gets his PhD (which, as he seems like a really smart and knowledgeable guy, I’m sure he will), hopefully he’ll become a professor so he can teach more people.

So, in short, I’m done Calculus. Now all I have to worry about is Circuits on Friday. Crap. Until next time,

Lyle Waldman

2 down, 3 to go (Finals edition)

August 2, 2007

Well, today was my Math 136 final. It was a bit disappointing considering my Math 145 final last term, which was a bit difficult. The 136 one was pretty easy, to be honest. Mostly it was row reducing matrices and applying one particular theorem (known as the “Dimension Theorem” if you take Math 146 or the “Rank Theorem” if you take 136) repeatedly for great justice. There was one question that threw me off a bit, though; one of the questions was a 5-parter where the first 2 and last 3 were seperate. My answer for the 3rd question was slightly off, and the 4th and 5th parts were based on the 3rd, so I may have gotten part marks on that one (total of the 3 questions = 9 marks, my estimate for the question = 4 or 5/9). Otherwise though it was pretty much straightforward. In other words, I just wrote my first 94% final exam (Professor Stebila said that my Math 146 marks would only count if they raised my mark, and given that I’ve been doing significantly better in 136 than 146, it’s doubtful they’ll count) since all the marks for all the tests and assignments up to the date I switched were transferred to the final.

As always, course in review:

Overall, Math 136 isn’t a bad course, if you get a good prof. Having seen an awesome prof teach it (Stebila) and a not-as-awesome prof teach it (will remain unnamed to protect the innocent, since this person seems very smart and knowledgeable but just can’t teach well), I can see how some people might hate it while others love it. But, of course, as with pretty much everything, if the prof is good, you’ll have fun, but if the prof sucks, so will your time in the course, and, by association, your grade.

Not much is carried from Math 135 to 136, since 135 is Classical Algebra (dealing mostly with stuff like modulus and abstract concepts like that) and 136 is Linear Algebra (dealing mostly with matrices and vectors, very similar to Grade 12 Geo/Discrete for those who took it), which can be good or bad depending on how you look at it. If you want to get really ready for 136, Geo/Discrete and Data Management are your best bets, since a lot of the same material is covered (not repeated, but the basis for a lot of the Linear Alg stuff is in those High School courses). Of course, as it’s the beginning of August, it’s probably too late for anyone reading this to go out and take those 2 courses, but just a word of warning for those who didn’t that you may need to study a bit harder than those who did.

In other academic-related news, I finished most of my Circuits lab on Friday by myself, causing me to miss the Greyhound bus home for the weekend (there was another coming 1 1/2 hours later, which I got, but it was somewhat annoying). Oh well…it was done, and I get some marks for it anyway.

Also, the CS241 bonus assignment ended last week. My final submission clocked in at just over 30 KB, putting me in 8th place overall out of 63 (or out of 17 who submitted) (although 6th and 8th place were seperated by under 1 KB in the end). Considering I started from over 75, I think I did well anyway and I’m happy with it.

Short of that, not much has happened around UW recently. I spent most of the past 3 days studying for Algebra, and, on a related note, holed up in my room. It seems being holed up in my room is going to be a going trend for at least a little while, until I go out for Sushi not once, but twice, next week (I’m organizing a trip with my ex-Japan 102 classmates to eat sushi as an end-of-term party).

Unfortunately, as I probably won’t have this blog for long enough to do it, I won’t be doing an “ask the prof what they think” section of this blog for this term, although given the response last term I don’t think it’s a big loss. Just thought I should announce that for anyone who wanted to see it.

Until next time,

Lyle Waldman