menu

CSSE2310 – Computer Systems Principles and Programming

Lecturer Dr Joel Fenwick
Course Link UQ Site
Faculty EAIT
Prerequisites CSSE1001 + (CSSE1000 or CSSE2010)
Contact Hours 3 Lecture hours, 1 Practical or Laboratory hour, 1 Contact hour
Semester(s) Taught Semester 2
Course Units 2
Submit reviewView reviews (18)

Rating

Total average

72.9/100

Learning Materials ( 70.6 )
Learning Activities ( 69.1 )
Blackboard Management ( 61.6 )
Course Content ( 84.6 )
Course Structure ( 67.9 )
Contact Availability ( 74.9 )
Course Difficulty ( 81.6 )

Reviews (18)

Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 93.9

//Overview
So I took this course semester 2 2021, with Peter Sutton as course coordinator. I thought he did very well with the help of John Williams, both well spoken and knowledgeable lecturers. The third lecturer Siqi Ma, for me at least was very tough to learn from, I pretty much taught myself all of her taught content. This just took time away I didn't have. This course I think for many people is the turning point in their degree. You either continue in software development or change majors afterwards. In comparison to CSSE2002 and CSSE1001 this is a different beast. Most of the cohort drop the course before mid-semester and of the remaining a lot fail the course. There will always be the top percent who get sevens but for the average student this is tough. You need to keep your eye on the ball all semester and start assignments straight away in order to have something that is worth marking. There is pretty much no sympathy, If you can't do it you fail. Even if assignments are clearly very unreasonable for any full time student to complete, there will be a group of people who do finish it for whatever reason so the lecturers can justify it. Many students scrapped as many marks as possible in the assignments to make the hurdle for the final not as insurmountable.

Also at least for me I had crap tutors who were too busy trying to show off how smart they're. I asked questions and was more patronized then helped which was disappointing. Also there is this weird "No hands up policy" where they walk around to people and don't come to people with hands up. So what happens is the first person they go to gets the entire tute worth of help and everyone else is like wtf.

//Value
Given this, the course was easily the most important course I have ever taken, this course changes you from someone who knows coding to someone who can program. Learning C allows you to view other languages differently and mostly with a lot more ease. Linux, Networking and multi-processing are very epic and are awesome to learn. You also come out the other side with a lot of confidence in terms of learning ability. At least for me I felt like I could learn anything, with enough time an effort.

//Advice
If you love computers, programming and to be challenged, make the lunge. The course is well worth it. If you don't have that passion or time don't do it. If you don't need this course to finish your degree, don't do it. For those who do want to do the course:
-Get the Linux and C tutorials off someone before the semester starts and finish them before you start. You need to know them like the back of your hand. It will make life a lot easier.
-Work hard to get all the marks you can in the first and second assignment. You need that buffer going into the 3rd and 4th assignments where you won't get marks.
- Don't be dumb and do this with ENGG2800, bad bad idea.
- Go to John and Peter's lectures and know your content well.
- Start assignments straight away, even if its making the file on the first day. You need to be finished before the start of submission week, because the testing they give you and the submission site can be different so you will need the time to debug.
- Study hard for the final and if you only need that 40% you will be fine. Assignments are the main struggle.
- Check for your first tute if they're good, if they're like mine just use ED.

Good luck :)

Semester taken

Semester 2 - 2021

Your program/major

Bachelor of Engineering Honours, (Electrical and Computing)

Is lecture attendance necessary?

Yes

Is the textbook necessary?

No

Positives
  • Content
  • Learning outcomes
  • Helps you become a better learner
Negatives
  • Tutors
  • Expect to spend hundreds of hours on assignments
Posted on December 23, 2021 10:51 am
Arda
   
CSSE2310 – Computer Systems Principles and Programming 75.4

Tuff course but doable
contact aakgur@gmail.com if u seek help for this course,
I can help you pass this course

Semester taken

Semester 2 - 2016

Your program/major

Software Engineering

Is lecture attendance necessary?

yes

Is the textbook necessary?

no

Positives
  • new lecturer new style
  • challenging assignments
Negatives
  • inexperienced 2310 lecturer
  • repetitive assignments
Posted on May 7, 2021 8:32 am
Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 80.6

Taken - Semester 2 2020

John was the new course co-ordinator this semester and was not without teething problems. Lectures all on zoom due to covid which i think made showing live demos of code easier, also recorded and can watch at 2x speed if need be.

Be prepared to spend time on this subject if you want anything near a good grade and have little experience with C language. (Much more than the Java and Python subjects taken in my first year)

The programming assignment 2 saw the average grade at something like 45/100, and that was with a week extention. I spent upward of 70 hours on that assignment, tactically chosing features of the game we had to design of which not to implement, just to save myself some time and still get a decent mark. This assignment was one of said teething problems, with John saying himself that maybe assignment 2 was a bit hard.

Other 2 assignemnt still needed many man hours to complete them and be ready to get stressed and ask loads of questions on piazza, because YOU WILL NEED TO.

Quizzes throughout the semester were easy enough, but still need to study for as it covers all c programming stuff and linux terminal stuff along with the rest of the content.

Textbook not needed at all, although i heard it can be useful.

Compulsory course for me, but still dont regret taking it as theres some serious satisfaction post having completed it. I certainly think it is easier than past semesters with the old course coodinator, so dont be as afraid to take this course as i was.

Semester taken

Long Long Ago!

Your program/major

CompSci / Cybersecurity

Is lecture attendance necessary?

Yes

Is the textbook necessary?

No

Positives
  • Great for new linux and c users wanting to learn
  • Interesting for those new to networking
  • Satisfaction on completion
Negatives
  • Assignments take loads of work
  • Potential teething problems
Posted on January 31, 2021 10:46 pm
Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 65.1

Attempted Semester 2 2020

So hard. 80% of content went way over my head. I got stuck on the assignments before I wrote a single line of code. Dropping a course has never felt so relieving.

Semester taken

Semester 1 - 2017

Your program/major

Bachelor of Science

Is lecture attendance necessary?

Yes

Is the textbook necessary?

No

Positives
  • useful for industry
Negatives
  • don't do this unless you're really good at computers
Posted on October 12, 2020 1:32 pm
Nikhil Naik
   
CSSE2310 – Computer Systems Principles and Programming 36.4

Did this course in Semester 2 2019, people said it would be easier than CSSE2010, but this was by far the hardest course I've ever done in my life. In the assessments averaged 49% and got 65 in the final to get a 4. This included 20% in the first assignment in which from a far my game looked like it worked according to the spec (say 80-90% required functionality), but since it didn't 100% match the spec i got 0 for all the sections that was related to what i'd done. This was the case with most people with the course dropping from 550 to around 260 people by the end of it. On a good note the lecturer Joel was very enthusiastic and good at teaching content, it was just the content required by second year students was beyond the abilities of most people. The course also had a lot of people from the year prior that failed, so going into the first practical you probably feel intimidated when everyone else is cruising through the prac because its their second time round.

Semester taken

Semester 1 - 2017

Your program/major

Software Engineering

Is lecture attendance necessary?

Yes

Is the textbook necessary?

No

Positives
  • Better At Coding at end
  • Better at solving problem solving skills for software programs
  • Makes you reconsider your degree
Negatives
  • Hardest Course in undergrad program
  • 60 hrs on assignments for a 50% mark
  • Assignments are marked by a program, if task is 99% correct you get 0/3 marks for that task
Posted on March 15, 2020 2:04 pm
Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 90.1

TAKEN SEM 2 2019

Very enjoyable course, coming into it not knowing any C or Linux was initially confusing and I regret not reading all of the the ctute and Linuxtute resources early in semester or even over the holidays before the semester.

However, despite that, the course is still very doable and is well paced, starting with c basics to more complicated aspects, then the Linux environment, then networking and then some extra bits. The content was well ordered and although was slightly intense, it worked.

I found that although the assignments took quite a long time to complete, they were very satisfying to do and did not really feel like a chore for me. With that said, expect to spend alot of time doing them. Additionally, small mistakes on your assignments can damage your mark heavily. For example, in assignment 1, we were tasked to create a 2 person card game in C, and I completed all parts of the game EXCEPT having a fully working score display at the end of the game, because of this I got only 50% on the assignment - so make sure your assignments are ENTIRELY finished.

The skills you learn in 2310 are extremely useful, once you pick up C and Linux you'll find it very applicable knowledge for many other courses and CompSci projects. Also Joel is a great lecturer.

Tldr; SUPER useful and applicable course. not nightmare material like some people make it seem, but definetly takes up alot of time when doing assignments (which are fun to do).

Semester taken

Semester 1 - 2017

Your program/major

BEngg (Software)

Is lecture attendance necessary?

Yes

Is the textbook necessary?

Read the tutes!

Positives
  • Useful and applicable
  • Fun/enjoyable assignments
  • Good lecturer
Negatives No negative points
Posted on December 5, 2019 6:05 pm
Yaboi
   
CSSE2310 – Computer Systems Principles and Programming 67.6

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 taken

Semester 2 - 2018

Your program/major

BEng

Is lecture attendance necessary?

Yes

Is the textbook necessary?

No

Positives
  • Pathways are endless
Negatives
  • Course is only worth 2 units
Posted on November 29, 2018 8:22 pm
Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 82.1

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 taken

Semester 2 - 2016

Your program/major

Software Engineering

Is lecture attendance necessary?

ABSOLUTELY!

Is the textbook necessary?

Borrow books from the library!

Positives
  • Great content
  • Huge amount of depth
Negatives
  • Hard
  • Really hard
  • Did I say hard?
Posted on October 25, 2018 11:13 pm
Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 97.1

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 taken

Semester 1 - 2017

Your program/major

Software Engineering

Is lecture attendance necessary?

Yes

Is the textbook necessary?

No

Positives
  • A lot of work, but so much more reward
  • Challenging, but in a good way
  • Lectures are very engaging
Negatives No negative points
Posted on August 22, 2018 3:05 pm
Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 29.1

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 taken

Semester 2 - 2015

Your program/major

BE

Is lecture attendance necessary?

Yes

Is the textbook necessary?

No

Positives
  • Not many
Negatives
  • The lecturer
Posted on September 13, 2017 5:05 pm
Danyon
   
CSSE2310 – Computer Systems Principles and Programming 65.6

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 taken

Semester 2 - 2016

Your program/major

Software Engineering

Is lecture attendance necessary?

Yes

Is the textbook necessary?

No

Positives
  • Well Strructured
  • Interesting Content
Negatives
  • Lecturer is literally crazy
  • Use newsgroups instead of blackboard
  • Very difficult to get marks on assignments
Posted on December 10, 2016 9:26 am
Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 58.4

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 taken

Semester 2 - 2015

Your program/major

BE - Electrical

Is lecture attendance necessary?

yes

Is the textbook necessary?

not really

Positives
  • You'll learn C front-to-back, which is very useful
Negatives
  • Commonly known as the hardest course in BE
  • You'll spend more time on it than every other course combined
  • Lecturer is often rude and dismissive
Posted on March 5, 2016 5:30 pm
Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 82.1

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 taken

Semester 2 - 2015

Your program/major

Bachelor of Engineering (Software)

Is lecture attendance necessary?

Yes

Is the textbook necessary?

No

Positives
  • Engaging lectures
  • Lots of opportunities to get help / ask questions
Negatives
  • Course is tough if you don't have a background in programming
Posted on March 2, 2016 10:23 pm
Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 65.7

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!

Relevant: https://www.youtube.com/watch?v=eJ7HP7fpnW8

Semester taken

Semester 2 - 2014

Your program/major

Bachelor of Science (Computer Science)

Is lecture attendance necessary?

Yes

Is the textbook necessary?

Up to you. It helps to read as widely as you can since the lectures are poor.

Positives
  • Learned more about Linux programming APIs.
  • An opportunity to improve my C programming.
  • VIM skills were uploaded into my muscle memory
Negatives
  • Long-winded and frustrating lectures.
  • Lectures weren't recorded.
  • Chatty students in back rows need to be told to shut up more.
Posted on February 8, 2015 11:21 am
Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 51.4

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 taken

Semester 2 - 2014

Your program/major

Software Engineering

Is lecture attendance necessary?

Yes

Is the textbook necessary?

No

Positives No positive points
Negatives
  • Lectures not recorded
  • Hard to understand lecturer
  • Time consuming assignments
Posted on January 15, 2015 2:36 pm
Daniel
   
CSSE2310 – Computer Systems Principles and Programming 95.6

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 taken

Semester 2 - 2014

Your program/major

BE(elec and comp)

Is lecture attendance necessary?

no

Is the textbook necessary?

no

Positives
  • great assignments
  • great lecter
  • great teaching staff
Negatives
  • Time consuming
  • no lecture recordings
  • HARD!
Posted on January 12, 2015 10:24 am
Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 91.4

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 taken

Semester 2 - 2013

Your program/major

Bachelor of Information Technology

Is lecture attendance necessary?

Yes

Is the textbook necessary?

No

Positives
  • Worlds best lecturer + tutors
  • Learn heaps, really challenges you to learn
  • Literally the best course I've taken
Negatives
  • No lecture recordings
  • Brutal learning curve
  • Requires lots of time
Posted on November 9, 2014 9:48 pm
Anonymous
   
CSSE2310 – Computer Systems Principles and Programming 84.5

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 taken

Semester 2 - 2013

Your program/major

Engineering (Software)

Positives
  • Entertaining, engaging and challenging.
  • Crash course in C and network programming.
Negatives
  • No recordings.
  • Fairly time-consuming.
Posted on July 6, 2014 7:58 pm

Submit your own review

Please make sure to read our Review Guidelines before posting a review.

<