How to succeed in your Informatics degree

Advice from our Director of Learning and Teaching to help Informatics students succeed in their degree.


1. The ‘Myth of Talent’ versus Time on Task

You often hear people say they “have a talent for words but just can’t do maths or programming or numbers” or the other way around. This is the myth of talent: the idea that you have fixed abilities that determine how good you can be. This is a destructive myth; studies show that learners who believe this do less well than those who believe that they can become good at things by working at them.

The myth of talent is not only destructive, it is also wrong. For most endeavours the main difference between exceptional people and the less accomplished is the amount of work they put into practice. Initial talent may get you off to a start with learning, but in the long run the important thing is “time on task”.

It may seem to you that other students are more or less talented at Informatics than you are. But the difference is probably down to practice because the more you learn, the more fluent you become.  This means that more things are routine and it is easier to learn new material: you can incorporate already understood material into your reasoning with less effort.  So, the more effort you put in, the better you get, and the faster you progress.

It is often claimed that to become truly exceptional at something - academic, musical, sporting or anything else - it takes 10,000 hours of “deliberate practice”. Practice that is well-directed and appropriately challenging: so, the message is that you need to use study time in a smart way. That is the subject of the other five ideas here.

A University of Edinburgh 20-point course corresponds to 200 hours of work.  A year of study is 1200 hours and an honours degree is 4800 hours.  Still short of 10,000 - but you have done some study at School already and if you can find good challenges in internships, volunteering, demonstrating etc you can get very close to 10,000 hours.  The big transition from School to University is you taking responsibility for what you want to do in the future.  Your programme and the courses you take are only one part of a much bigger picture.

2. Learning is not easy

It’s easy to get frustrated when it’s hard to understand something. We all expect physical skills, such as juggling or tightrope walking, to require a great deal of repetition and practice to learn. But what can be hard about learning how to get a computer to do what you want it to do?  Or can it be that difficult to master mathematical skills.  It is important to realise that all Informaticians, including fellow students and all your lecturers, spend half their time being stuck on the best way to program something, how to do a calculation or trying to understand a colleague’s work. Learning is not easy, and learning Informatics is certainly not because it involves a combination of complex mathematical reasoning with developing programming skills and understanding how to do experiments and analyse the results.

Learning something new involves manufacturing new connections in your brain, it has to be connected to a whole load of things you know already so that it makes sense and comes to mind at useful moments.

Being stuck is good! If you aren’t getting stuck then maybe you need to look for more challenge.  Think of it as an opportunity to learn something. If you aren’t getting stuck quite a lot then you aren’t really pushing your limits enough.  The closer you get to new knowledge, the more often you get stuck – many of your lecturers are stuck most of the time.

3. Surface Learning versus Deep Learning

Knowing is not a “yes or no” thing, there are levels of understanding from simply being able to recall a fact toward deep understanding. Think of sorting a sequence of numbers, for example. Here are some degrees of knowing that you might go through or have gone through with that:

Sorting Numbers

  • Memorising a particular method.
  • Knowing how implement a particular sorting method in a particular programming language.
  • Understanding how the method performs in terms of the amount of time and storage space it might take to sort a sequence.
  • Knowing several different sorting methods and their performance characteristics.
  • Being able to select and implement the most appropriate method for particular circumstances.
  • Understanding the limits to sorting methods.  What are the limits on how efficient a sorting method can be?

Surface Learning

Surface learning results from activities such as memorising facts without worrying where they come from or copying the solution to a programming problem without trying it yourself.  One trouble with surface learning is that what you learn is very quickly forgotten.

Deep Learning

Deep learning is the hard work of understanding where methods and techniques come from, of connecting new information with your existing understanding, of exploring examples to find the limits of what a new method can do. Deep learning provides a much better base for further study. For example, if you have learned deeply about sorting methods then when the need to sort things arises as part of a programming problem, you will understand what is necessary, and lots of information about how to choose a sorting method or modify one will come to mind unconsciously. This frees your mind to concentrate on other aspects of the programming problem.

4. Engagement is Important

Your timetable at University is not full of meetings.  You are expected to do quite a bit of learning at your own initiative.  Lectures, tutorials and labs are there to help guide you, so it is important to be there and be prepared to take an active part.  A lecture is almost guaranteed to be boring if you don’t understand it because you haven’t revised and consolidated the material from earlier lectures. 

Keeping up, showing up and taking the initiative is called “Engagement”.  Engagement is one of the things that research shows leads to success at University. Being engaged involves things like:

  • Keeping up and consolidating the material in lectures and tutorials.
  • Working consistently on coursework, starting well before the deadline and using labs to ask for help if you feel you need it.
  • Attending lectures, tutorials, labs and other events.  Studies of first year students show that students attending just one more workshop on average scored 4% higher in the exam.
  • Seeking out opportunities for learning. You can do well, but you need to be proactive - think, ask and talk about things you don’t understand.
  • Talking to demonstrators, tutors, lecturers, InfBase and fellow students.
  • Be organised, identify things you find difficult as early as possible and work out the best way of getting help.

5. Cooperative Learning

Research has established that, for most learners, working cooperatively works better than working alone. That does not mean that all your time should be spent studying with other people, but it does mean that it is a good idea to seek out other students to work with.

To help you establish good working habits and to start building your network of learners we have supported our InfPALS scheme.  InfPALS stands for Informatics Peer Assisted Learning Scheme.  This is a student-organised scheme that helps students establish study groups that support group members’ learning and help develop better approaches to learning.  Our experience is that this is one of the best ways to become better at University-style learning.

6. Monitor your learning

Metacognition is the technical term for a lot of things we do that you might describe as “thinking about thinking”. Focus on something you do well and imagine doing a complex task in that area - do you sometimes stop for a moment, draw back, and ask yourself if it is going well or whether perhaps you ought to be approaching what you are doing in a different way? If you do, and most people will recognise that sort of feeling, you are using “metacognive skills”. Studies have shown that when solving typical undergraduate Informatics problems, experts spend more time planning their approach, and pause more often to review how their solution is progressing, than students do. This is remarkable given that you would expect experienced lecturers might need to do these things less.

You will probably find that the type of learning we are asking for is different from what was asked of you at School. Be alert for that difference and to picking up ideas on how to change your mode of study to adapt to these new challenges.

What is Expected of You

There are many places you can go to for support and advice relating to your studies. We want to help you to do the best you can in your degree. Here’s some advice on what you can do to maximise your chances of success.

Make the most of lectures

The most important thing is to remember that your lectures are opportunities to learn. Keep your brain switched on: the more you think about the material, the more you will absorb and retain. If you have been asked to prepare for the lecture in advance, for example by reading a section of the textbook, then you will get far more out of the lecture if you do so. Come prepared with writing equipment and your wifi-enabled device, if appropriate. Show consideration to other students and your lecturer by switching mobiles to silent, giving your full attention and avoiding off-topic conversations.

Make the most of laboratory time

Labs are about having practical experience of developing software.   This involves some problem solving and then getting your solution into the computer, so you can check it works the way you expect.  Often, solving problems will involve mathematical skills but getting your solution onto the computer will involve understanding and using a programming language to create your program and then using a range of tools on your computer to allow you to see how the program behaves.

Initially all of this can seem quite confusing but as you do more it gets easier but to do this you need to spend time in your scheduled laboratory times and at other times.  The Programming Club aims to provide challenging programming problems for all levels of experience, from complete novice to highly experienced. 

Your fellow students have a wide range of experience and so when you are in the lab ask questions!  This is often the quickest way to get unstuck and it’s a good way to start to get to know your classmates.  CompSoc is our main student society (there are others) and their website has good pointers to help with developing as a programmer.  Getting to be good at programming takes time and some people in the class have been doing that for much longer than others so expect a wide spread with lots of expertise to draw on.

Make the most of coursework

In some of your courses there will be regular work set, often called “practicals” or “assignments” or “hand-ins”, which will be marked and returned by a tutor. It is really important that you tackle as many problems as you can.  Practice in problem solving and programming is essential.

Marks for assessments usually count towards your final grade, but the real point of them is that you get feedback on your work and the opportunity to learn from that about your progress and what we are looking for in work at university level. Students sometimes ask: “Why are you asking me to do all this work for only a few marks?”. The reason is that we give you a few marks to remind you to complete the work, but really it is the feedback that is important. The real reward for the hand-in work is that you will have a far better understanding (and therefore do better in exams) if you work hard at it.

We encourage you to work together on hand-in work as we do for everything else. (Or everything except exams anyway!) But there is no point in getting feedback on somebody else’s work and so your hand-in should reflect your own understanding.

Make the most of the personal development programme

The School offers a programme of personal development activities throughout your degree, starting with the induction programme when you first arrive here. These activities are designed to support your development as a member of an academic community, and the themes include transitioning to university study, your academic progress, career planning, and skills development. This is an important part of your degree programme and it is expected that you engage with it

Attend everything you can

It is expected that you attend all lectures and tutorial to the best of your ability. Research shows that attendance at activities is a good predictor of success overall.

Keep us informed

Let us know as early as possible if you fall behind in a course, for whatever reason. The earlier you inform us, the more likely it is that we’ll be able to offer help and advice to get you back on track.