A review of second year as a CSE student...

Motivation#

I wanted to revisit this type of post and do another review. Again, this is to hopefully help out any newcomers to the University of Warwick who happen to find my website. I’m going to go through each module individually, providing:

  • An overview
  • The main merits of the module
  • The main downfalls of the module
  • My advice for doing well in it

As a Computer Systems Engineer I take a mix of modules from both the Computer Science and the Engineering deparments. The course is not particularly popular (there are about 30 of us in my year), but we will hopefully develop a much wider range of skills that employers will value. Our course is often forgetten about and it is likely you will experience timetabling issues if you take this course, but there have not been any major issues yet for me.

If you have any questions or want any additional information, feel free to contact me on any of my listed socials!

CS241#

Overview

Here you’ll be doing plenty of theory on computer networks, as well as some C programming in the coursework. See the module webpage for more details.

Merits

  • The coursework is marked in a way where it is actually possible to get 100% unlike first year
  • I found the lecturer (Arpan) to be great at explaining concepts thoroughly
  • Quizzes provided to test understanding
  • The exam may be very similar to previous years…

Downfalls

  • Personally I didn’t find the content particularly interesting

My advice

As always, starting the coursework early is going to be very valuable. The way I like to approach courseworks is to try and get stuck into them as much as possible as soon as they released, and then you can identify the major areas that you might not understand. From there you can ask for help early, and the module organiser is much more likely to help you.

Our module organiser provided quizzes every few weeks or so which would be completed in the lectures. Personally I was behind on content for most of the quizzes and so most times I would not get any of the questions correct. Try to avoid that. If you can keep up with the quizzes and have good notes throughout, you’ll be golden. Saying this, because this module is in term 1 and the exam is in term 3, you have a lot of time to catch up. This means you could do it little and often throughout term 2 (you probably still won’t do it), or you can just learn the content and revise during the easter break ready for the exam. As a CSE student you probably won’t have too many exams, and they should be fairly spread out over term 3, so it’s entirely possible to get all your revision done between easter and the exams. This comes with the catch that you should at least be up to about week 7/8 with all modules. If you’re trying to learn more than that in the weeks before the exams then that might cause some unnecessary stress.

As mentioned, the exam might be very similar to previous years, so it’s as important as ever to get those past papers completed.

CS257#

Overview

It’s like CS132, but advanced! See the module webpage for more details.

Merits

  • This module has one of my favourite pieces of courseworks

Downfalls

  • Content overload
  • Lectures were not interesting
  • Very few revision resources provided

My advice

Okay this module does not understand how to manage the content load. Prepare for hundreds of slides of surface level information that is hardly examinable and is nearly impossible to remember. But don’t worry, there will be a few topics that stick out, and I’d recommend analysing the past papers early (just looking at the types of questions asked) to help you identify what those topics are. In our case we had a new module organiser to previous years, and the exam was a slightly odd jumble of random content but overall it was still relatively predictable.

Now for the coursework. You will be optimising an existing program to make it run faster, and this can actually be a lot of fun. In our case we were looking at a heat dissipation model applied to a cube, but honestly the program itself doesn’t really matter. The first thing I did was to spend a week or so creating my testing and recording script so that it was easier for me to keep track of the progress I was making regarding the code run times. Also if you haven’t started using GitHub for your coursework yet, please do. It is so useful to be able to see a history of your code changes, and it was especially important here as I could match run times to specific versions of the code which made it a whole lot easier to manage. At the end of the coursework you will also need to write a report. I would recommend creating a graph of your run times over various code iterations to which you can then explain and evaluate in the rest of the report. Another metric gained from running the code was the error, so it was also important to track the error to make sure the program was still working as expected. Some optimisations will increase this error, but it can be justified so if you’re going for the fastest speed don’t worry about the error increasing by a few orders of magnitude. Remember this advice is specific to the coursework from 22/23 though, the error may be more important in future coursework iterations.

CS261#

Overview

See the module webpage for more details.

Merits

  • Group project!
  • James Archbold makes lectures more fun

Downfalls

  • Group project!
  • The lecture content itself can get very bland

My advice

Right, be prepared for all the pure computer scientists complaining about having to work with other people. But don’t worry, if you do CSE you’ve already suffered through a fair few group projects so you really have some good experience to back yourself with. Quite a common trend that comes from this is that us CSE people end up taking the project manager roles, which in my opinion is not too bad at all. This project is long, and it’s completely different every year since it’s so open and so really easy for the module organiser to keep it new and fresh. As such, it really starts as soon as you group is declared, and you want to meet up with your group as soon as humanly possible. There are a few reasons for this: firstly you want to scope out who you’ll be working with, and if there are any significant problems you can raise then early so that they can get sorted without affecting you too much. Secondly, you want to get your roles sorted and get to brainstorming so that you can make as much progress as possible before all your other modules start to pile up. Thirdly, you really want to try and befriend the people you’ll be working with for the next 10 weeks. You’re going to need to have a lot of meetings. You’re going to have to talk a lot. Please try and make it more manageable by allowing yourself to open up to them and not exclusively talk about the project.

For the rest of the module, I would recommend making flashcards as you go. You’re going to get bombarded with plenty of content and if you’re like most people then you’re not going to enjoy it. If I hadn’t of done flashcards as I went along I would have severely struggled trying to remember everything in time for the exam because a lot of the information can feel a little pointless.

ES2C0#

Overview

Circuits circuits circuits! It’s ES191 but with more components. See the module webpage for more details.

Merits

  • Labs (easy marks)!
  • Predictable exam
  • Plenty of resources to study with

Downfalls

My advice

Check out my YouTube for long form videos on all the worksheets and quizzes. They’re not edited, they’re not perfect, but they’re definitely going to be useful on a few questions here and there.

For the labs just ask as many questions as you can, there’s always assistants about who want to help. If you finish a lab early (which is very doable) make sure to go over it again, ask around if other people are getting the same, and check your understanding by reading up on the relevant theory. In about week 7 you will then have an exam where you fill in all your answers that you calculated during the labs, there will also be a few questions to check your understanding which is why you can’t solely rely on just the answers.

The exam will still likely be a QMP, and if it’s like my year you’ll get told the exact content to revise for. So just do what they tell you to and you’ll be golden. Remember that although QMPs are usually easier, you have to be careful not to make silly mistakes since error-carried-forward marks are mostly non-existent.

ES2C6 (Optional for CSE)#

Overview

See the module webpage for more details.

Merits

  • There are some nice group projects going

Downfalls

  • Projects are randomly assigned, so hope for the best
  • The content is just a mess of loads of equations

My advice

This module is a little odd because so much of the content has no depth at all, and you’re just applying about 30 different equations depending on the specific situation you are presented with. Although that sounds daunting, it actually makes for a really easy QMP exam, provided that you sufficiently prepare and don’t get caught out by missing small details in the questions.

For the group project, I did the solar tracking one, this was lucky because it was the one I was most interested in. Like any other group project just start it early, get brainstorming and get talking to and befriending your team.

ES2C7#

Overview

It’s ES193, but more! See the module webpage for more details.

Merits

  • Very well organised
  • Plenty of useful resources provided
  • Lots of labs to get stuck into
  • The exam follows the content nicely

Downfalls

  • The content might not seem too interesting since the core content is less practical based

My advice

The coursework is to complete a series of week-long quizzes related to the work that has been completed in labs. As such, make sure to attend the labs and complete the content fully! Asking questions at this stage is also much more important since the teaching assistants and module organiser are more likely to give you more detailed answers, compared to if you asking for help for the marked quizzes.

The exam follows the content you’ve been learning nicely, there shouldn’t really be any surprises. As such, use all the resources provided, ensure you’re completing all the questions and can also perform the same under time pressure. Once you reach this stage, you should find the exam a breeze provided you can stay calm under the additional pressure.

ES2E3 (CSE specific)#

Overview

Here you will find a lot of suffering, but also a lot of reward. See the module webpage for more details.

Merits

  • Has a really cool and fun piece of coursework (make a game!)
  • A fair amount of practice problems to revise with
  • Well-documented labs with supporting videos

Downfalls

  • The coursework, despite being fun, will get annoying

My advice

This is the module that will introduce you to the programming language Verilog which is very different to your typically programming languages that you’ll have encountered in first year. Because the language is so different, it will likely be a struggle to get used to it but luckily there are plenty of labs to get on with to help you with this. A mistake I made was relying too much on the videos provided, simply copying code over. The videos would sometimes leave out some code to be completed independently, but I would have been much better off only using the written guide and struggling more during the labs. By struggling more in the labs, I probably would have gained a greater understanding of how the code was working, which would have aided my coursework. Of course, if you find yourself a few labs behind because of this, you may have to rely on the videos just to ensure you get all the labs completed before the lab sessions conclude. I say this because once you have done all the labs, you will have already covered a fair amount of the criteria specified for the coursework, and so even if you really struggle to add anything else you can still get a fair portion of marks.

For the lecture content, I found it to be quite overwhelming during the standard teaching time and I had fallen about 3/4 weeks behind by the end of the term. As such I had to work a bit harder during revision since I also had new content to learn. The majority of the slides contained surface level knowledge and there were only a few instances of problem solving questions. For our year the exam was an online QMP, and so to revise I simply collated all the teaching slides while watching through all the recorded videos to ensure there wasn’t any verbal information I was missing. Then I looked at the past papers and mock QMP provided and identified the few problem solving questions and familiarised myself with them. Finally I brushed up on my Verilog as a large portion of the exam relies on it.

PX281 (Optional for CSE)#

Overview

A lovely module to boost your marks. See the module webpage for more details.

Merits

  • Yorck is the epitome of a helpful lecturer
  • 100% coursework, which is great for us exam haters

Downfalls

  • The assignments descriptions can be cryptic at times

My advice

This module may seem a little out of place. But for any form of computer scientist this module is a gold mine for marks because it is completely coursework based and Python is the language of choice. Sure there will be some physics content that may seem intimidating at first, but the majority of it can be figured out with just a few google searches, and then you can get on to the real task which is the programming. Now although this is deemed as one of the easiest modules, it is still going to cause you a fair amount of struggle and head scratching, so don’t get overly confident and leave the assignments to the last minute because you will regret it.