The software engineering module was very interesting because at first, I thought there would be programming involved however any programming used was very brief. During this module we had to complete several of diagrams including a use case, state machine, sequence and class diagram. What started off as a difficult task started to become natural as I completed these diagrams multiple times. Below I show pictures of my final coursework where I had to create diagrams based on the scenarios given. I felt this was a very well taught and enjoyable module, to which I would have liked another module to futher develop on it.
The aim of this module was to take what we learnt from the Software Engineering module, and work with a team to create an application. What we decided on was a website that could be used for parents, teachers and children to communicate. This program would include a messaging system between parents and teachers, so the parent is always in the know about how their child is doing. It would also allow the child to upload their work and get feedback from the teacher, which in turn would allow the parent to check up on if their child is doing their work and at what level. My task throughout the implementation phase was to create the messaging backend. Due to it being a prototype we didn't need the system to connect to the internet, so the messages were saved locally for the prototype. I also worked on the design of the messaging system using JBuilder. Below are some of the pictures from the program.
Whilst not my first introduction to programming, this was the first programming module at University. It went over things such as
- Compiling and Running
- Input and Output
- For and While Loops
- Records and Abstract Data Types
- Sorting Algorithms
- File I/O
This was probably one of my favourite modules during University as it was taught incredibly well. The teacher knew exactly how to make it enjoyable to people new to coding and those experienced. It was also a useful modules to study as it helped lay the foundation for future modules by introducing concepts like abstraction for OOP.
During this module we were also tasked with a mini project to go alongside the weekly programs we did. This mini project was focused on building up a program and introducing new features based on new concepts we learnt weekly. The mini project I choose was a team quiz game based on music. The program started off simple during its early stages by only asking for input and giving a random score, to then introducing conditions and records, to later arrays, ADT and file saving and loading.
To this day I still go over some of the programming exercises I was given to complete and remake them. This is due to the fact I no longer had the original code due to it never needing to be uploaded, as it was marked in person. Still, I wanted to have something uploaded here to show for this module, so I have remade all programs and the full mini project. I have linked all stages of the mini project to show how it grows instead of only the final version.
Week One - Output
Week Two - Input, Calculation and Variables
Week Three - Making Decisions
Week Four - Records
Week Five - For Loops
Week Six - Arrays
Week Seven - While Loops
Week Eight - Methods and Abstract Data Types
Week Nine - Arrays of Abstract Data Types
Mini Project - Multiple choice Music Quiz
Level One - F--- - Getting Started
Level Two - F-- - Making Progress
Level Three - F- - Getting There
Level Four - F - Almost a Pass
Level Five - D - Bare Pass
Level Six - C - Pass
Level Seven - B - Satisfactory
Level Eight - A - Merit
Level Nine - A+ - Distinction
Professional and Research Themes was a module with a lot of freedom which involved both solo and group work. The solo work was focused on choosing any topic I felt comfortable in and creating a report, to which I chose Cryptography. The group work had us join random students and create a short video on any topic. My role was creating the structure of the video and parts of the script. I organised people's roles which ended with a video with animations, acts and talks. I tried to base the video around being informal in its teaching.