[Active]

Objectives of this post

I am a Computer Science student at the University of Limerick. I created this post with the aim to help potential newcomers with the choice of picking the right course/university for them.

UL campus and facilities

University of Limerick is a fantastic university. It has top class facilities, spacious library with big study rooms easily available to book for groups of people, great record of graduate employment rate. The beautiful green campus is a big thing and its value should not be underestimated. Walking alongside the Shannon river coming back from shopping was one of the most calming experiences in my first year. The Computer Science building with all its lab rooms filled with Windows/MAC computers is a great space to work on your projects. It’s an amazing feeling to be on the fourth floor in the evening and watch all the lamps shining in the dark below the building.

People and Communities

It is important to socialise, interact with other people, make friends. Luckily, that is easy at UL. With its number of societies and clubs, I believe that if you make at least a little bit of effort you will find many people that share similar interests with you. You can also check out the international friday night organised by the Music Society. This might be the best weekly event at UL and I am saying this as a person, who generally doesn’t enjoy parties. People come here to talk, dance and meet new people from different or even same countries. It is exciting to share stories, experiences and enjoy the fun. You might just end up having the best time of your life at this university.

To say something about the people in our course; most students I interacted with seem interested in all the technologies we are learning about and take uni seriously. There are around 150 first-years in our course, which I think is not too big of a number and it allows a more personal experience. The lecturers we have are very decent people. They all are people who care to help and thanks to their approach it is generally enjoyable to attend all lectures, labs and tutorials.

First Semester Modules (LM121)

There are 5 modules in the first semester. All of them are compulsory and there are no elective modules.

Introduction to Programming (CS4141)

This module was such a joy. Great lecturers Dr. Alan Ryan and Dr. Faeq Alrimawi make you excited for every lecture and are beloved all students. It really is an introduction as you learn the fundamentals and it doesn’t go further the syntax and basic constructs in Java. People who did a bit of programming before coming to UL will have no difficulty passing the module. The assessment was divided into 3 relatively easy group assignments and a midterm. The group projects were, I believe, as important if not more in learning how to work in a team and getting to know your classmates as learning the basics of programming. The midterm was great for learning how to code (and think) under pressure. I got 100/100 marks and bonus 5 marks for coming to additional programming classes (PLSG). I advise everyone, no matter their profficiency to come to the weekly PLSG classes as they review each topic, give you a practice assignment and answer any question you might have. Overall 10/10.

Representation and Modelling (CS4012)

I would say this module was useful for understanding programming concepts and constructs like conditionals, loops, call by reference, call by value independently of the programming language by drawing flowcharts and writing pseudocode. On the other hand you can imagine that the homeworks weren’t very enjoyable to do as the work felt very repetitive. At least they served as a good preparation for the final exam. I felt like we could have spent more time talking about the Software Development Cycle, representation of bigger real-life problems and mistakes you should avoid when developing software to understand the whole image better. All of that was only very briefly mentioned and instead we focused on the simplest things. However I understand that the first semester shouldn’t be too difficult to allow the adjustment to the university. Overall 8/10.

Discrete Mathematics (MS4111)

Mathematics. Some hate it. Some love it. Personally, I fall into the second category. It is just the math you could expect, the syllabus contains Sets, Propositional and Predicate Logic, Proof by Mathematical Induction, Relations, Sequences and Introduction to Combinatorics. It is nothing too difficult to grasp if you do a little bit of self-study and attend the tutorials, where everything is put to practice. I didn’t enjoy this module’s lectures as much as other modules’, but it might be because for maths I prefer self-study and hands on practice. Overall 9/10.

Foundations of Computer Science 1 (CS4221)

This is a module that made us missing-semicolon-proof. Or in this case missing-bracket-proof. Learning about Lambda Calculus and coding in Racket was quite an experience. The team-based labs made this a fun module, because we could showcase our understanding at the whiteboard in a group of 2 people, competing with a different group. Other things we did like drawing ASTs from prefix expressions and evaluating them, Learning about Local (Bound) and Global (Free) variables, Order of evaluation for lambda expressions (Eager/Lazy) and writing recursive functions were much easier to understand thanks to the handout notes we bought and this website, which literally has all the content. The project in Racket seemed to be a little unreasonably marked as only 5% of the whole module, despite it being quite a lot of work. (My videopresentation) To be fair, there were also marks for answering questions about the project in the final exam. The quizzes were interesting in the beginning but there was little to no change in the quizzes’ content in the following weeks. Overall 9/10.

Fundamentals of Computer Organisation (ET4011)

A really enjoyable module that focuses on.. well, fundamentals of computer organisation. You learn about binary system, digital logic gates and TRUTH TABLES (which you also learn in every other module). If you didn’t know how the computer actually works, after this module you will have a good idea of those foundations. Circuit design and weekly labs where I could work (play) with wires and digital logic gates really made my mornings. We even learned a little bit about machine level programming (ARM Assembly). Both lecturers Dr. Jacqueline Walker and Dr. Ciaran MacNamee did a good job explaining the content. And both are more than willing to help you answer any questions you might have. Overall 10/10.

Second Semester Modules (LM121)

Simililarly to the first semester, there are 5 modules in the second semester. All of them are compulsory and there are no elective modules.

Computer Mathematics (MA4402)

This module focused on Graph Theory, Linear Algebra, Sequences and Series and Numerical Methods for finding the root of f(x) = 0. I found the content interesting. However, besides occasional quizzes the lectures were really just about the presentation slides. So there wasn’t much value in coming to the lectures. Tutorials had compared to the first semester much slower pace, which might suit some students more, but we didn’t get that much done. Overall 8/10.

Foundations of Computer Science 2 (CS4182)

We learned about the use of Hoare Triples for proving program correctness, recurvise and iterative implementation and the use of recursive definition for defining any language. Dr. Michael English explains things clearly in the lectures, so I didn’t have to spend much time home on this module. The tutorials and homeworks served as a good preparation for the final exam. Overall 9/10.

Games Modelling Design (CS4043)

3D Modelling in 3ds Max. A 3D model of an artifact was the only thing being assessed. All lectures and content was online. We could drop in to labs to work on our artifacts and ask the lecturer Gavin Wade any questions. I think most comonnly picked artifact was a car. Some people however picked even a computer, a building or a bike. For me it was McLaren MP4-12C. Besides the .max file we submitted a 3-5 minute video (my video) explaining the implementation process including the different stages, the methods we uses and any problems we encountered and how we dealt with them. Despite the assignment making this semester a little stressful as I wasn’t sure what quality is being expected, it was a great experience during which we actually created something, which has the potential to lead students to a real work in the industry. The last thing I want to mention is that 3ds Max is a software that only runs on Windows, so I had to work in the labs in the Computer Science building instead of working on my computer. That isn’t a big problem but it meant I couldn’t work on the artifact during weekends as the building was closed. Overall 10/10.

Computing Systems Organisation (ET4162)

In the first part of this module we learned about Networking and the Internet. I really liked the quizzes Dr. Ciaran MacNamee put on Brightspace and found them useful not just for preparation but for actually understanding the content. In the second part of the module we focused on processors, cache in computers and ARM Assembly language. After this module I am confident about programming in Assembly. Enjoyable module, but it was very hard to pay attention during the morning lectures with those unbelievably comfortable seats in the main building’s room DG016. Overall 9/10.

Software Development (CS4222)

We started with Java, which I believe wasn’t too difficult for most people and we all did pretty well in the weekly lab exams. It really sped up in the second half of the module though, in which we focused on Data Strucutes, Searching and Sorting algorithms in Python. I wasn’t a big fan of the in-class quizzes in the beggining as the difficulty was set too high and it was pretty much impossible to finish in time. However later on, they got better and I managed to achieve quite a good score. The last assignment assessed was a 4 hour “hackathon” where groups of 4 to 6 people worked on a problem which required the use of pretty much everything we learned. Me and my group prepared for this hackathon the day before in the library to evenly split the work. Still, I felt like a 6 people group was too big and difficult to organise for this task. I wish we had more content available on brightspace but it’s true that the internet is full of content for this module. At least we had the DLSH videos with exercises besides the slides, which is something that’s definitely worth to look at. Overall 9/10.