Aengus Matthews E-Portfolio
You have found the e-portfolio of me, Aengus Matthews. I am an 18 year old university student currently in my first year studying Computer Science at Cardiff University. I have been interested in and have studied computer science and its various fields for many years and I hope to begin a career in one of its many disciplines. Feel free to continue reading down this page or use the navigation bar in the top right to skip to a particular section.
I am currently at Cardiff University in the first year of a four year course studying for a BSc in Computer Science with a year in industry. I chose to study the subject at university due to my fascination with the subject and how much I enjoyed my A-Level and GCSE Computing courses. The course at Cardiff University teaches a wide range of topics over the three years; from programming and web development, to its connection with mathematics and science.
Modules I am currently studying in the first year of the course include Computational Thinking, Problem Solving with Python, Web Applications, Professional Skills, Developing Quality Software, Fundamentals of Computing with Java, and Architecture and Operating Systems.
I decided to choose a course that included a placement year at a computer science related company. I feel that the experience gained from this will be invaluable to me, giving me a greater deal of knowledge on computer science, its professional applications and how to apply my knowledge to the professional environment. The experience will also improve my job prospects and give me a much greater chance of advancing my career and allowing me to make a difference in the field.
Further Mathematics: B
Methods in Maths: A
Applications of Maths: A
Business Studies: A
Product Design: B
English Language: B
English Literature: C
Problem solving, including principles of computing, system design with the stages and life cycles, finite state machines, turing machines, backus-naur form, reverse polish notation, algorithm design and pseudo code, searching and sorting methods, as well as complexities and big O notation.
Data representation, including denary, binary and hexadecimal number systems, binary arithmetic, fractions, two’s complement, normalisation and floating point numbers; information coding; ASCII and Unicode; error checking and correction, such as parity bits, Hamming Code and Gray code; Image representation, including bitmaps, vectors and their differences, and sound including recording and playing, compression, the nyquist theorem and synthesis.
Fundamentals of computer systems, such as hardware and software, the classification of software, system and application software, generations of programme languages; hardware elements such as logic gates, circuits, gate conversion, Boolean logic, algebra, equations, identities and laws.
Machine level architecture, including computer components, processor functions and characteristics, its role and structure, machine code and instruction sets, the fetch-execute cycle, and architecture types.
The structure of the internet, the intranet, the world wide web, packet switching, IP addresses, MAC addresses and their roles, domain names and registrars, URLs, the client-server and peer-to-peer models, various protocols and the TCP/IP protocol stack
Consequences of computing; legal and ethical issues, legislation, codes of conduct, hacking, digital rights management, robotics and emerging technologies and their applications.
Programming concepts such as paradigms, object-oriented programming, pointers, recursion, abstract data types and structures, stacks, queues, lists, graphs, trees, tree traversal, searching and sorting, hashing, simulation and the halting error.
Databases, keys, entity relationship modelling, normalisation, SQL, and data definition language.
During my first year at Cardiff University I have used Python for a variety of projects, such as in the creation of a text-based computer game. This project required a group of seven people to develop and present a game based on a piece of pre-existing code over a short time. Among our group several of us were given the task of programming a part the game, of which I was one. I programmed the section that tied all of the other parts together, writing the main menu and editing the other sections to fit together and function. I was also in charge of late stage bug-fixing once the parts worked together.
My primary hobby and the focus of much of my spare time is computer science. I program as a hobby, using many of the aforementioned programming languages to create small programs and solve tasks such as that on projecteuler.net. When I am not doing that I am often reading about developments in computer science as well as related technologies. I often build my own computers from purchased parts, and as such do a great deal of research into the functions of the components such as the CPU, motherboard, GPU and RAM. I also look into technologies behind various other technologies; such as storage, including hard drives and solid state,their differences and benefits; and monitor technology, such as CRT and LCD monitors, and forms of TFT LCDs such as Twisted Nematic, In-Plane Switching and others.
For many years I have had a great deal of interest in computer games. I have been playing games on computers and games consoles since I was a child, and a fascination with the technology behind it from a young age is what developed into a widened fascination with computer science in general. I have been involved in modding communities during my time playing computer games and have helped set up game servers.
For the past six years I have been drumming as a hobby. I find practicing music to be very good for helping me relax and focus, and it is very therapeutic. And it gives me a chance to get away from computers once in a while!