About this site

This page is about the creators behind the site, and also contains links to solutions to the questions in the course. This site was created as part of the Coding Curriculum Coursework in one of UCL's Computer Science courses. The content has been designed to fit the specification of teaching beginners about how to program in a new and exciting way. We hope you enjoy your stay!

Below are some short descriptions of each of the development team.
This Course was created to combat the lack of good OOP courses online. The problem that the team found was that many online Object Oriented Courses taught the theory behind Object Oriented Programming, but did not explain how to properly implement the theory. We wanted to keep the course open to a wide range of students. Unfortunately, due to the scope of the project, we knew it wouldn't be possible to both teach Java and Object Oriented Programming in the time available. We chose to focus on teaching Object Oriented Programming and made Java a prerequisite for the course as there already exist a number of java courses online, but few excellent Object Oriented Courses. The scope of this project is large, but we feel that we have fully achieved our initial goals, and have truly created a product that may change the world.

About the team

Federico Vignati

Hi everyone! I'm Federico and together with Francesco I was the responsible of editing the videos. We put much effort into it, as we believe that the more enjoyable and entertaining the videos are, the more productive the learning experience will be.
My favourite part about coding
I've always been interested in coding as I believe that this skill empowers you to unleash your creativity and to bring your imagination to life. Being able to create a sofware which can potentially fullfill mine and others needs is what motivates me to further improve and practice my programming skills.

Francesco Benintende

Ciao I'm Francesco, my role in the team was video editor together with Federico (great guy), so I hope you like the videos and the music.
What I like most about coding
I started playing with programming at the end of high school, right before the start of university. I began with a simple rock, paper, scissors game and from there I saw the full potential of coding, the limit is your imagination. Programming taught me how powerful just an idea can be and how rewarding it is to build your own projects. Don't be scared of programming, it is really for everyone and is so much fun so don't miss this opportunity!

Immanuel Baskaran

Well I am not one for intros but hey, I'm Immanuel, I was the lead app programer for this Project, I learned a great deal of Java building the apps that you will use and had great fun I am a programmer and a musician too (Yea, bet you didn't see that comming), and I love the fact that the two are linked. I hope that as you follow this course, you can see that programming is truly an amazing force.
What I like most about coding
I started my programming after i asked myself how games work the way they do. As i began to dig deeper, I discovered that coding was the heart and soul of video games. I started to program my own small games, that taught me the skills and principles of programming. One of the reasons people find it hard to start programming is because it appears so different to what they would normally like. The best thing about programming is that it can relate to anything you want and that it is powerful.

Kiran Gopinathan

Hey, I'm Kiran, I was the Lead Animator for this Project. I hope you enjoyed the content, we spent a lot of time making it the best possible content we could produce.
Why I became interested in coding
I guess I became interested in programming because I'm naturally very curious. Whenever I'd use an application on the computer, I'd always wonder, How did they do that? Learning how to code was a great journey, and has taught me a lot about how to approach problems I face. I would highly recommend exploring the field of computing, irrespective of what you want to do. Computing is so much more than just another skill. Programming has something to offer everyone.

Exemplar Question Solutions

Below we have listed the answers to the questions presented in the course. This section is mainly aimed for use by Teachers, if this course is to be used as teaching material. However if you are a student and have become stuck, feel free to look at the answers to find out a solution. Remember though, design is a subjective thing, so don't worry if your answers don't match up exactly with ours. Most of all, remember to have fun.

For Teaching reference, we shall also provide the question specification upon which this course was designed. This may be used to construct simmilar questions to aid the learning of OOP.
Question Specification

Story Script

Finally, all applications on this course are open source, so Teachers may adjust and improve the applications to suit their classes.
Application Source Code

Topic Subarea No. Link
Abstraction Practice 1 Bank Account Class Game Account Class
Abstraction Practice 2 Library Book Class Printable Book Class
Abstraction Practice 3 Print Document Digital Document
Abstraction Story Exemplar code Link
Abstraction Application Exemplar Code Link
Encapsulation Practice 1 Book Class
Encapsulation Practice 2 Bank Account Class
Encapsulation Practice 3 Document Class
Encapsulation Story Exemplar Code Link
Encapsulation Application Exemplar code Link
Inheritance Practice 1 Teacher, Student Inheritance
Inheritance Practice 2 Rectangle, Circle Inheritance
Inheritance Practice 3 Journey Inheritance
Inheritance Story Exemplar Code Link
Inheritance Application Exemplar code Link
Polymorphism Story Exemplar code Link
Polymorphism Application Exemplar code Link