MacInsiders Logo

Similar Threads
Review Review Starter Category Comments Last Post
Are there any data recovery wizards here? Anamaria Computers & Tech 9 09-21-2010 09:30 AM
Interesting Data zeChinaman General Discussion 14 04-12-2010 04:22 PM
Gr.12 data management to replace stats shay First-Year / Prospective Student Questions 8 07-28-2009 03:14 PM

SFWR ENG / CS 2C03 - Algorithms and Data Structures

 
SFWR ENG / CS 2C03 - Algorithms and Data Structures
Algorit..it..tzz
Published by Ownaginatios
06-02-2010
Published by
Ownaginatios's Avatar
Trolling ain't easy
Join Date: Jul 2008
Posts: 3,190

Author review
Overall Rating
40%40%40%
4
Professor Rating
20%20%20%
2
Interest
80%80%80%
8
Easiness
20%20%20%
2
Average 40%
SFWR ENG / CS 2C03 - Algorithms and Data Structures

Sofware Engineering 2C03 is an introductory course to algorithms and data structures. It's a second semester course also shared with those in Computer Science.

The purpose of this course is basically to learn how to program smartly (i.e. with using as little memory and/or clock cycles as possible).

The course starts with an introduction to Big-O notation (a general logarithmic/exponential value of n to show the complexity of a program) and gradually moves on to more difficult topics such as master's theorem (finding the complexity of a recursively defined algorithm).

Following that, it moves onto dynamic programming (recalculating as little as possible by storing solutions), sorting algorithms and data structures such as trees, queues and stacks.

This course is taught by RyszardJanicki, and he is absolutely terrible - worst professor I've ever had. During all the lectures, all he did was monotonously read out the content of his highly congested slides, never ONCE stopping to ask if anyone had any questions. He also has a very thick Polish accent and a stammer which makes understanding him quite difficult. By the end of the term, there were only about 5 to 10 people attending class (out of ~100).

The course breakdown is as follows:

Assignments 30% (10% each)
Midterm 15%
Final Exam 55%

The assignments are extremely long and sometimes rather difficult. Most of them involve writing out many many copies of data structures showing all the steps as you basically do algorithms by hand. Notably long ones (extending up to 10 pages) include the heap sort and Floyd's algorithm. In some instances (such as with Floyd's algorithm) it takes less time to make a program that implements the algorithm and writes out the steps for you. It's not unusual to spend over 24 hours on a single assignment (if you complete everything that is).

The only somewhat positive thing about this class is the tutorials. In the tutorials the TA usually shows how to do most of the assignment problems. Unfortunately though, our TA was not familiar with the material outside of the notes she was given... so it was usually pointless asking further questions.

Also, this class has a midterm. If you do the first assignment completely, you should be good. The midterm is quite easy and the TA marks rather generously.

The exam, however, is literally physically impossible to finish. If you walked in knowing absolutely everything you were going to write, you would not be able to write it all down in the 3 Hour period given. There is such an insane amount of work to do on it. It's literally 2 assignments stuck together. Also, you get a cheat sheet, but it will probably be useless. Don't worry though, their is an insane curve applied at the end (I predict ~22 people in software would have failed in my year without it).

Protip: The exam is only on things covered after the first midterm, regardless of what the prof says. I wasted quite a bit of time relearning things I didn't need to. Spend the time digging up old assignments and learning them inside out instead.

Protip 2: On the final exam, rather than showing every step, just write SOMETHING for each question. The marking TAs are very generous.

Protip 3: Start the assignments early. You cannot finish them the day before.

Protip 4: Don't buy the book. It's a poorly written piece of garbage. You only need it for assignment questions, and there is a PDF version available on a DC++ near you.

- - -

It's unfortunate that this class is presented so poorly, because the material is actually quite interesting and fundamental to CS and Software Engineering. You can help make a brighter future by showing up to the course review day towards the end of the semester .

Good luck! You'll need it...
Deleted Post
Edit/Delete Message
Click here to add your own review for SFWR ENG / CS 2C03 - Algorithms and Data Structures!

Old 05-13-2016 at 08:20 PM   #2
Quvol
Member
Posts: 2

Thanked: 0 Times
Liked: 0 Times
~ 2016 Update ~
The course content has not changed much since the post above, although a different professor now teaches this course (Dr. Karakostas).

Here is what you should know:

1. The professor is actually quite good and gives very helpful lectures. If you happen to skip the lectures (shame on you), the tutorials do an excellent job of teaching you what you need to know. Overall, you should attend both the lectures and tutorials, since both sessions drop hints as to what will be on the midterm and exam.

2. The textbook used in this course (Algorithms 4E) is extremely useful and is definitely worth buying. We were also allowed to use this textbook during the midterm and exam, so this probably the best millage you'll get out of any textbook in university.

3. The assignments are still quite long, but they are now simply a list of questions from the textbook...the questions tend to be quite challenging (and sometimes fun in that way), so you can't leave it to the last minute.

4. The midterm during my year was exceedingly difficult (and curved quite heavily), and pretty much everyone struggled with it. On the flip side, the exam was relatively easy. It should also be known that the mark breakdown for these areas was 40% Midterm and 45% Exam.

This course is probably the most important course you'll take in your software career at McMaster, since the stuff you learn here is primarily what you'll be asked during interviews as well as your actual job. Make good use of it and learn as much as you can!
  Reply With Quote



Review Tools Search this Review
Search this Review:

Advanced Search

Posting Rules
You may not post new reviews
You may not post comments
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



McMaster University News and Information, Student-run Community, with topics ranging from Student Life, Advice, News, Events, and General Help.
Notice: The views and opinions expressed in this page are strictly those of the student(s) who authored the content. The contents of this page have not been reviewed or approved by McMaster University or the MSU (McMaster Students Union). Being a student-run community, all articles and discussion posts on MacInsiders are unofficial and it is therefore always recommended that you visit the official McMaster website for the most accurate up-to-date information.

Copyright © MacInsiders.com All Rights Reserved. No content can be re-used or re-published without permission. MacInsiders is a service of Fullerton Media Inc. | Created by Chad
Originally Powered by vBulletin®, Copyright © 2019 MH Sub I, LLC dba vBulletin. All rights reserved. | Privacy | Terms