This is the worst course you will ever do.
The lecturer is brilliant, very capable of explaining things. The theory is challenging, but learnable. The final exam is difficult, but passable. None of those are what makes this the worst course.
The worst part is the assignments. Expect to be spending 30+ hours a week outside of class working on them and to get much worse grades than you expect. I came into this course with over 4 years of experience in programming C and linux systems. While it was certainly an advantage, it did nothing to reduce the unreasonably massive amount of work you will have to do.
If you can put off this course, do it. If you can take it overseas with an equivalent, do it. If you can do this course with no others running concurrently, do it. If you can not take this course at all, do it. If you're thinking of switching major, have a good long think about it before enrolling.
If you must take this course, good luck - work as hard as you can, and you can make it without a repeat.
Semester 2 - 2018
TAKEN - Semester 2 2018
This course is not meant to be a walk in the park! Don't go into this course expecting an easy 7. CSSE2010 is given as a pre-requisite for this course, primarily for the C content. The course material is very interesting, as it delves into four abstractions (virtual memory, processes, sockets and file systems) covering many bases of the Unix operating system.
The assignments are very challenging, requiring a lot of time to be spent working on them. All coding is done via vim on Moss, so familiarity with vim would be recommended. You can get around this, but ultimately everything will need to compile on Moss under SVN.
Overall I would recommend this course, but don't do it as an elective.
Semester 2 - 2016
Borrow books from the library!
This course is a trial by fire, but completely worth it. You will go into this course knowing nothing about C, but when you finish you will know everything there possibly is to know.
Assignments need a lot of time dedicated to them if you want to do well - make sure you get as many marks as you can on assignments 1 and 2 because the last two are extremely difficult. The exams on the other hand are pretty easy - while Joel tries to make his exams as unpredictable as possible they're pretty easy if you've been going to lectures. The final exam was changed from 2 to 3 hours in my semester (sem 2 2017), which is plenty of time to attempt all the questions.
Lectures can't be missed - Joel is very engaging and hilarious. Even though lectures are recorded now, you'll miss a lot of his crazy demonstrations if you watch them online.
Definitely an amazing course. If you don't put in the effort that's required you'll hate it, but if you go to all classes and start your assignments when you get them you'll have a lot of fun doing this course.
Semester 1 - 2017
Honestly the worst course I ever had the displeasure of attending. It's fine content wise but the lecturer is a nut job with nothing but contempt for students
Semester 2 - 2015
It's a course that would be fun/interesting if not for the lecturer and the scope (as opposed to the difficulty) of the assignments.
They barely use blackboard - all announcements are on a newsgroup or moss (which you have to access through the command line). It's pretty fiddly to set up the newsgroups and they didn't even have a
It's pretty good content and it's stuff you really should learn, but I'd suggest not taking this course if you can avoid it.
Semester 2 - 2016
Be prepared for this course or it will chew you up and spit you out.
If you're an electrical student and don't have advanced C and Linux skills, you should spend a month in the holidays working through C front-to-back, and learn the Linux command prompt. The course should have an extra four weeks at the start to prepare you for the first assignment, so you should go into the course with that in mind. I spend more time on this course in the semester than the others combined, and I still only got a 5.
The assignments are extremely hard, large, and complex - you should begin them as soon as you can, and expect to spend 40 hours on each, not including learning the concepts. I found the lecturer to be both good and bad. He is good at using analogies to explain difficult concepts, but he is arrogant and rude at times, and is likely to dismiss any complaints about this horrible course as "you just aren't trying hard enough".
The midsem is a relatively easy multiple-choice exam, but the final is the worst exam I've ever done. It's VERY long, with questions that are far from trivial, and you have to hand-write some complex multi-process, multi-threaded code. You should spend days practising hand-writing code to prepare yourself, as it is really difficult.
There is light at the end of the tunnel though: You'll have mad C skills afterwards, and the experience of doing this course helped me get vacation work - the engineer interviewing me remembered "the ridiculously hard C course" from 10 years earlier.
Semester 2 - 2015
BE - Electrical
It's not an easy course, but its reputation for difficulty isn't entirely deserved.
There's a lot of content but it's well-presented and you're always given the opportunity to do well on assessment. If you start the assignments when you get them, you'll do fine. If you start the night before, you probably won't.
More importantly, though, 2310 really teaches you the material. You will come out of it feeling a lot more confident with C and UNIX programming.
Semester 2 - 2015
Bachelor of Engineering (Software)
I was really looking forward to this course as I knew very little about the principles of modern computer systems. This course helped boost my knowledge for sure though I had gripes with the lecturers teaching style. Joel Fenwick is a very kind and nice guy to talk to in person but in lectures, his bloated and exaggerated explanations of not-so-rigorous concepts was a huge time drain. You would spend the entire lecture having dwelled on topics, that a ~10 minute pre-lecture read would easily teach you and I resented this as I had a timetable clash. Unfortunately you can't miss lectures as they aren't recorded... yet other UQ courses several degrees more rigorous that this one have been recorded for years.. so it's very odd and seems a little pretentious. Assignments are time consuming so start them and get a few provided automated tests passing as EARLY as you can - you will thank yourself. Get yourself a decent newsgroup reader since the course group is heavily used and painful to keep up with - it's very disorganised. The mid-term exams (incl. past samples) were quite easy but the final exam will probably take you the entire exam duration to finish, so hand-write that C code as fast as you can!
Semester 2 - 2014
Bachelor of Science (Computer Science)
Up to you. It helps to read as widely as you can since the lectures are poor.
Didn't really enjoy the course at all. I think you either click with a lecturer or your don't, and I certainly didn't get or enjoy his comical exaggeration. I felt the actual material wasn't that hard to understand, if someone else explained it to me in 5 minutes, instead an hour long sarcastical display. It certainly is a challenging course (assignment wise) if you are still a programming rookie as most second year students haven't done much programming up until this point. Rveryone around me built up the course to be super hard and super difficult, so in that facet I was a expecting more. I think people say they enjoyed the course and got a lot out of it - that's great. I certainly didn't, and the fact that he refused to record the lectures meant that I had to be in the lectures, making sure I never forgot anything because it's not recorded because a bit counter productive.
The exam is A LOT easier than the assignments, predicatable exam questions and so forth. Although not really enough time is allowed to complete it. Especially with the programming questions at the end. But it's open book (as is the mid semester), so if you do okay in both exams, it should be an easy pass. I got fairly low marks for my last 2 assignments (time management), and still got an easy 5.
Also the tutorials are not necessary but are jam packed during assignment due dates, I didn't find them very helpful, because they walk around checking each student is okay, and answers their individual questions, and if you don't use that chance to speak to them, you might not get to speak to them for the rest of the tutorial. Or the tutors might be so busy, they may not get to speak to you at all - so for me attendance at the tutes were a waste of time.
Semester 2 - 2014
This is one of the, best course I have been taught so far - no doubt world class!
This course is only for the true programmers, If you really want to understand different ways to program, I.e. threads and processes, this course is for you.
The course consists of 4 challenging assignments, which directly relate to the topics being taught.
1. a difficult c program, using all the elements of c.
2. reverse engineering, have to determine the input parameters to a function, given a function.
3. multi process game
4. multi threaded game.
you will learn so much in this course. The lecturer is great - but doesn't record the lectures (just use your phone)
Semester 2 - 2014
BE(elec and comp)
This course was, when I took it in 2013, the most jam packed course anyone had taken. You left the lecture's a few kilograms heavier, you'd learned so much. Make sure you take notes, and don't miss any of them, since they are not recorded, and Joel Fenwick is the greatest lecturer yet.
Make sure you get good marks on the early, easy assignments and midsem. They are your salvation. Take every mark you can get early, because the marks do NOT come easy on the last few assignments, or on the final exam.
They try and teach you VIM. Don't get me wrong - it's useful, and I used it the whole course, but if I did it again, I'd stick with Sublime. It's just that much better.
Semester 2 - 2013
Bachelor of Information Technology
While this course was fairly demanding, it will teach you a ton about programming with some operating system + networking thrown in for good measure. The tutors were always super helpful especially around assignment due dates. Although lecture recordings aren't available, they're usually entertaining to attend so try to make it. Although stubborn, the lecturer was always helpful provided you'd tried to solve your problems before requesting help.
Semester 2 - 2013