So after writing up 2 reviews: one for the first module and then after my second I got a lot of people contacting me on LinkedIn for more answers. So, I thought it was only fair to write up a third honest review for the Computer Science Master of Science Degree (Data Analytics path) at The University of York. So here I explain my experience and any help I can muster up for future and existing students.
I want to begin with talking about the 2nd Module: Advanced Programming which I had spoken about in the previous review. If you are planning on doing this Masters I suggest you research into academic Critical and Report Writing. I am still yet to understand how to do it – asking the teacher will be tricky as they don’t give a definitive answer and send you websites to read instead.. so it will be a journey of self-discovery. Once I find out how to write a good essay I will share tips on this blog. If you sign up to my newsletter you will get updates every time I write a new blog post including more reviews on this Master’s Degree.
I’ve just finished the exam which was 2.5 hours long and it went quick! The module I have just finished was Software Engineering.
Module Overview: Software Engineering
To most, Software Engineering evokes imagery of coding, development and anything to do with building stuff. This module is in fact completely Theory.
The main focus behind this module was to understand types of computer models and architectures, how to analyse, design and test those models and then putting this all in documents using diagrams and other means of showcasing high-level software specifications. Why?
Imagine building a house; an architect would be the person who selects the shape and the materials of the house and draw a blueprint of it to hand over to the constructors. This is basically what a Software Architecture does but for Businesses and this is what this module covers: a software specification blueprint.
This module showcases what Software Architects and Software Engineers do rather than Software Developers due to the broad scale of involvement with analysing, planning and documenting the software specifications. Software Engineers are those who code the software, have a strong technical background but may not be involved with the architectural oversight. They bring the blueprints to life. This really opened my eyes up to the possible career options.
We used tools like VisualParadigm, StarUML or LucidChart to draw diagrams. I actually preferred LucidChart in drawing class diagrams, sequence diagrams, state diagrams as the UI is so much more intuitive, cleaner and stylish. VisualParadigm looked more like an opensource project that was unfinished.
Despite preferring LucidChart I downloaded and used the VisualParadigm Community edition instead of LucidChart as it required a paid license to create more than 2 boards. I didn’t find out until the end that you can get a FREE EDUCATIONAL UPGRADE for LucidChart if you are a student which I definitely recommend doing before the exam…which I didn’t do 🤦♀️
How It’s Delivered
The style of teaching is:
- A brief video explaining key topics of the week.
- Read this [Chapter] from [Book].
- Find the definitions of these Keywords
- Video re-explaining some of the main topics from [Chapter].
- An interactive task either: share your thoughts, critique someone else’s, or draw a diagram.
AKA, there is no teaching. It’s self directed on the LMS.
The reading was the most boring bit part and I struggled to understand what it all meant because it was so much to digest. In the first module, I fell asleep every time I opened up a book (no joke lol) but this time I was determined to get through it all so I started using Text to Speak applications and it really helped!
If you can overcome the Microsoft Sam voice then I really recommend these plugins and applications to use:
Nevertheless, I also hand wrote notes and trudged along.
I handwrite everything which makes it hard to search through manually for anything; I do it to implement what I learn. A lot of people on my course use Evernote, Gitlab or some other Note-taking software which you can sort your notes and search through which would be a better option.
Overall, I found it very hard to focus on this module considering the entire course was taught based on reading these two very long books: Software Engineering by Iam Sommerville and Object-Oriented Systems Analysis and Design Using UML by Simon Bennett. I must warn; they will kill you 😂
The LMS we use, Canvas, will walk you through these books but essentially you will have to read thousands of pages yourself and decipher the meaning behind cryptic ways of explaining simple concepts you could have YouTubed in 2 minutes 🥴. Deviating from the course also worried me as I wasn’t sure if the external information was in line with the Uni content so, like most, I used Youtube on top of most of the topics which added extra time and workload but it was definitely worth it.
By week 5 I fell 3 weeks behind. I was only on Week 2 and there are 8 weeks in total with each week covering a different topic.
Then it got to Week 6 and I was still on Week 3 and the Exam was just around the corner. So, I panicked and cram studied 4 weeks of content in under 2 weeks. Somehow, I managed to wedge each week into 2-3 days and got through it by Week 8 just before the Exam. PHEW
It just goes to know how much and how quick I could learn if I just had some form of adrenaline/motivation pushing me through 24/7 lol. I really recommend studying the content in the first few days and then revising the last remaining days of the week. Or study a couple of hours every day. This is how I dream to study but it never really turns out that way 😭
By then I had covered a lot of ground in a short space of time and my brain was exploding but I was kind of finally getting it! This module has been described as one of the “Easiest” modules by other students but also the most “Boring”. But I found this module hard considering I am more familiar with programming than theory. Drawing sequence diagrams from Java were my kryptonite 😭
I thought the content was hard to digest because of the books but I could really see myself using tools and methods to create my own product.
I’ve been trying to start my own app projects for a while and it’s been overwhelming as I just don’t know where to start but this module has broken down the steps before you even build the software to streamline the programming as smooth as possible and will definitely implement stuff I have learnt in this module at some point in the future.
To begin with, I understood = nothing. I only started understanding what I was learning 3 days before the exam. Throughout the weeks I would look at the Mock Exam paper and couldn’t understand or do any of the questions 😭. A week before the actual exam I still couldn’t answer any of the questions. This threw me into a state of sheer panic.
I discovered this happened to me a lot in previous modules. The weeks lead you through topics and at the beginning it may seem absurd and confusing but as the weeks progress the topics build on top of each other and you may, like me, start understanding a lot more of it about…3 days before the exam 😂.
Therefore, next time I think I will just power through even if I don’t fully grasp a concept and work through the anxiety of not knowing WTF in the first few weeks and trust that I will eventually understand in the last week as I review the content again and re-visit areas I don’t understand (most of it lol).
Online studying is a very lonely experience.
Online studying is hard. You feel like you only have your own motivation to push you through and that you spend a lot of your free time studying rather than your own hobbies.
After going through a period of Therapy. I was recommended to actually force myself to do my hobbies alongside this course even though I felt strapped for time. Therefore I have been trying to paint and sew which helps relax me….a little.
Sometimes when you get stuck you get demotivated – for me, I stop and get distracted for long periods of time. Then I fall behind and then that puts me into a state of panic and anxiety and I stop functioning in life and cancel all plans and avoid the outside world. Please, do not do this!
Some of the students in my cohort have started doing weekly Zoom study sessions to go over the content but I’ve been too far behind to join – I think in the next module my main focus is to keep up with the Weeks and attend these sessions, work on my time management and stay connected with the other students.
How I Survived
Luckily the Slack Admin (some guy who is also studying with us) got hold of the past Exam Papers and shared it with us. I managed to complete 4 of them in 2 days and doing those really helped understand a lot of the content.
Still, the past papers had no definitive answers provided by the uni. So we(the students) had to muster up “possible” answers between us and shared those with each other. I basically have them to thank for understanding most of this module. There are some really clever people on this course who are are super helpful and should be paid by the uni.
I’m not going to lie, I enjoyed the exam. It wasn’t hard nor was it easy. It felt just right covering the concepts we had learnt and applying it practically.
In conclusion, this module is a beginner level introduction to Software Architecture and Modelling. Initially, the content has been hard to digest but once you grasp the concepts everything is easy to understand from then on.
The way it’s delivered is very boring therefore you must have a super-strong focus, get motivated and try to push through and sieve through. Focus on understanding the why and how more so than digesting everything single thing you are reading. The definitions of keywords can be looked up but using them to understand how they come into play in the bigger picture is more important.
Every time you study imagine you are a budding Software Entrepreneur who wants to build your own system someday. That may get you through the course a lot smoother.
Once you do learn the concepts it can be enjoyable and maybe…in the future, it might be of some use.