Home Work Examples Qualifications Work Experience Skills & Technologies
Logo

Technologies:

I have an understanding of multiple programming languages, including:

  • C, C# and C++
  • Java
  • Python
  • Assembly Language
  • HTML, CSS, JavaScript, PHP, Bootstrap, RedBean, Twig
  • SQL
  • Linux Command Line Interface

With one of my Python projects I used a library called PyGame which has entirely different and new commands inside it which I had to use almost entirely for the coding of snake and its AI. I researched and taught myself how to use this new part of the language from scratch.

I have an understanding of multiple programming techniques and methodologies, including:

  • Object Oriented Programming and Development
  • VDM Modelling
  • Test Driven Development
  • Algorithm Design

I have an understanding of multiple programming IDEs, including:

  • Visual Studio
  • Eclipse
  • Putty
  • Unity
  • GitHub
  • VirtualBox
  • Idle
  • GDevelop
  • Android Studio

Skills:

I am quick to adapt to new technologies and languages when I am introduced to them. In one of my projects in 2017 I had to learn SQL to construct a database to store information about users. I had to teach myself what I needed to know in the space of 2 weeks, which by the end of that period of time, I had coded a database that was used to store: a users’ username, score, the moves they took during the game and more. Since going to university, I have adapted and learnt more languages including Java, HTML, CSS and JavaScript.

Since starting programming, I have always done testing and debugging of programs as it is almost inevitable, however my method for testing and debugging has grown substantially since I started. I would originally put print statements in and try and figure out where something has gone wrong as I wouldn’t be able to understand the error that was returned to me. Now I can do a variety of methods for testing and debugging, including understanding the returned error or exception statements, using the debug menu in my Java IDE or even using JUnit.

I have experience with creating and designing GUI’s as I have created several in a couple of programming languages. No matter what language I program a GUI in, I always start by thinking how I want the interface to look and appear, what buttons will do what, where the buttons and everything on the window should be, colour of the window, etc. When implementing a GUI in a project I will sometimes have to edit the methods I have already made to make them more friendly for a GUI, such as if a method returns a Boolean, but it has multiple places where it returns. Then when I implement it in a GUI, I may make it return a string which explains what happened and this string can then be used to provide more options or information to the user from the GUI. I believe this makes the GUI more effective as it provides the user with more information.

I have had lots of times where I have demonstrated leadership and communication skills. An example of this is in a group project, where me and two others took control of a group to try and steer them towards completing a goal that we had been set. We organised times for the group to meet up at to discuss the work, we also tried to increase the moral and team spirit when we thought or suspected it was dropping.

My problem-solving skills have substantially developed over the recent years, allowing me to become both better in programming and developing, as well as in everyday life. In programming I have learnt how to more efficiently solve a problem or error, or increase the performance and run-time of a program by using more efficient techniques. In development, my problem solving helps me to solve problems that were similar to previous ones I have had before.

My planning and organisation skills have developed since I went to university, where before when I was given a project -or started my own project- I would just go about it and complete it before the deadline for the project was due. Now when I get given a project, I plan it out and create a time management timetable that allocates what part of the project I will try to complete each day and set mini deadlines for myself (such as finishing a class) which I will try to keep on top of, to keep me on track for the final project deadline.

Since going to University, I have learnt how to create a website and how the design of the website is very important in enticing the user to stay on the site, it is not as important as the content staying relevant but still quite important. Because of this, when I start to create a website I will get an idea of how I want it to look and plan it out on paper to get a visual idea of what it looks like (very similar to the design process I use for a GUI).

I am skilled in applying logic to situations, this is very useful in programming as it allows me to follow how a computer would process the code that has been written. This also allows me to break down a problem repeatedly until I have it in terms of how a computer will be able to process it and then I can code that broken-down version of the problem.

I am quite capable of programming independently, as well as collaboratively with others. All of the examples in the work section so far have been written entirely by me. If I am in a project and I don’t know how to program the thing I need to do next, I will go away research it and learn how to do it. I will then come back to it and use what I have learnt to program it, I don’t need to rely on others to help me fix the problem.

I like paying attention to the details of my programs, this means when I make a program that asks for inputs it will validate to see if the user’s input is valid, for example if it asks for a string for someone’s name, but the user enters a blank string I won’t allow a blank string it must be of a certain length before it is allowed. I also don’t like doing a job not to the highest standard that I can do it too, unless it has been specified that I should do it to a certain way, I will always try and improve my code to make it the best I know I can make it.

logo