I'll start with mathematics/logic. They all include practically no math. CMPT 411 though is a very logic heavy course though, so if you are wanting to avoid that I would cross that course off of your list. I would say 310 has the next most logic. Then 365 has the least.
Now then which is easiest is a bit of a harder question. I would argue the easiest course to do well in is CMPT 310.
I really disliked CMPT 365 when I took it. In fact it is the course I most regret taking. The assignments on the whole were quite easy, with some of them being kind of ridiculous (make a video...). I found the lecture material to be dry, and many things we learned were details of codecs that are hardly ever even used today. Lastly I found the tests to be incredibly hard (Median on the midterm was 54%, median on the final was 52%). We were allowed to have a bunch of cheat sheets, but even with those things were difficult. I took the course with Ze-nian Li. I believe Mark Drew teaches the course in a very similar fashion though since he uses the same book (which they co wrote) and course webpage template. The assignments may be different however.
CMPT 310 on the other hand is a survey course covering a bunch of different aspects of AI. I found the topics to be pretty straight forward even though I had no prior AI experience. I think my offering might have been a little easier than the average one though. It looks like schulte is teaching it this semester. You can take a look at a past version of his course here http://www.cs.sfu.ca/CourseCentral/310/oschulte/ and see what you think of the material.
Thanks for the advice Ryan. I'll avoid CMPT 365 in that case, and will try to get into CMPT 310; although its 75 seats capacity is all full, and its wait-list capacity is currently at 23 of the 25 limit. So I'll be 24th on the wait list!! Hopefully they'll expand the class size to 100!
I only need two courses to graduate. For the other one I have chosen CMPT 473 - Software quality assurance, as it appears to be very trivial from its description.
The other courses that I could potentially take are as follow, although I am sure that your advice is that CMPT 310 is the easiest of all:
CMPT 433 - EMBEDDED SYSTEMS CMPT 471 - Networking II CMPT 411 - Knowledge Representation CMPT 419 - Machine Learning CMPT 431 - Distributed Systems
And one final question. This Summer I took CMPT 477 (Formal Verification Methods). It was an intercession course, only six weeks long. I could not handled it and dropped it, as I found it to me enormously difficult. I just want to ensure that the level of Logic in CMPT 310 is significantly less than that course. Thanks again.
Thank you Ryan. I managed to be the final person on the wait-list for CMPT 310 (position 25).
That's a long shot to be enrolled! Just in case I could not enroll, which one of the above courses I named would be the next choice, as far as doing well?
Ahh, I would say it depends what you are interested in.
419 and 411 would be logic heavy, so if you don't like that avoid those.
433 hasn't been offered in a loooooonnnngggg time, and has only been offered once before that (as far as I know). Fraser is a great prof, so it should be a good course. From what I remember the course had a fair bit of programming, but in a good way. It also sounds linux heavy, and has a group project (if you like/dislike either of those). course site http://www.cs.sfu.ca/CourseCentral/433/bfraser/index.html . I am not sure what the programming language will be here. Since it is embedded there might be a special language you use. Or it might be C. Or maybe something else.....I really don't know. If it was a traditional language I would guess C though.
471 is a course I liked, but I was interested in networking. I took it with a different professor so it is hard for me to comment on the fall offerings. In general the course material wasn't terrible difficult. The assignments were tedious but not terribly hard. If you are not interested in networking though you will likely find the content rather dry.
431 is a course I really like. It is again programming heavy in a good way. It will be a lot of parallel programming with some networking thrown in. Fedorova is supposed to be a good person to take it with. Old course website is here http://www.cs.sfu.ca/~fedorova/Teaching/CMPT431/Summer2012/ . Note that these courses are usually done in C/C++. Looking at her assignments some seem to mention C/C++, others seem to mention you can choose. This course is not easy, but you would learn a lot and it is very satisfying.
Of the three difficulty is probably 471 < 433 < 431.
of the courses listed here I took 471, 310, and 365 (but 310 I did in 2009 so it's hard to comment on that)
471 (regan) was pretty heavy imo, tons of content and loooong assignments. The lectures were pretty clear but there was a lot to absorb
310 I took forever ago with toby donaldson. It was moderately interesting and relatively easy when I took it (although the assignments I recall took plenty enough of time I tihnk, but i was young and a slacker)
365 with mark drew is hard to comment on, his teaching style is a little weird, and the textbook is very similar. He definitely tried to make some of the rather dry content less boring and more memorable. But in some cases he simply didn't spend enough time explaining some confusing concepts.
The projects were fairly easy. I feel a bunch of the content was a bit outdated. The tests were a little hard, especially the midterm if only because it was unexpected. The final had an equally pretty bad average score although I found it really easy, having a better idea what to prepare for.
365 felt the least useful to me, although to be fair the only reason I raelly enrolled in it is because it made my schedule fit together so perfectly.
From the courses listed above, I took 365, 411, 431.
I would say I enjoyed the most 431, it was interesting and prof is really good (Fedorova). Yes, assignments will require considerable amount of time but not impossible. One assignment I left until the last weekend before it was due but still managed to finish it by coding 10 hours straight each day.
I remember very little from 365. It wasn't a difficult course to pass.
411 was very difficult because of so much strange(to me) logic. I was never 100% sure about what I was doing in assignments and tests. However, it was graded on a curve so I ended up with a good grade.
Comments
Thanks for the advice Ryan. I'll avoid CMPT 365 in that case, and will try to get into CMPT 310; although its 75 seats capacity is all full, and its wait-list capacity is currently at 23 of the 25 limit. So I'll be 24th on the wait list!! Hopefully they'll expand the class size to 100!
I only need two courses to graduate. For the other one I have chosen CMPT 473 - Software quality assurance, as it appears to be very trivial from its description.
The other courses that I could potentially take are as follow, although I am sure that your advice is that CMPT 310 is the easiest of all:
CMPT 433 - EMBEDDED SYSTEMS
CMPT 471 - Networking II
CMPT 411 - Knowledge Representation
CMPT 419 - Machine Learning
CMPT 431 - Distributed Systems
Thanks again
And one final question. This Summer I took CMPT 477 (Formal Verification Methods). It was an intercession course, only six weeks long. I could not handled it and dropped it, as I found it to me enormously difficult. I just want to ensure that the level of Logic in CMPT 310 is significantly less than that course. Thanks again.
Thank you Ryan. I managed to be the final person on the wait-list for CMPT 310 (position 25).
That's a long shot to be enrolled! Just in case I could not enroll, which one of the above courses I named would be the next choice, as far as doing well?