The ability to program is important for a bioinformatician. You will need to automate the tasks that you wish to perform; it's this ability to scale computational analyses up to, for example, entire genomes which distinguishes the general biologist from the more specialised bioinformatician.
The ability to program differs very widely between different bioinformaticians. Some of them are extremely competent programmers, capable of building software systems comprising of many thousands of lines of code. Others are much less so, writing lots of short utility scripts to perform their day-to-day tasks.
For those of you who have not programmed before, you may find some of the concepts difficult. Programming is not actually that hard, but there is a certain level of background knowledge that you need before any of it really makes sense. If you find yourself confused at first, don't worry, this is true for many people.
There are many more programmers in the world than there are biologists or bioinformaticians. As a result there is a large wealth of information resources available to you, to support your learning. As well as the many different books, there are a large number of freely available, electronic resources. Please feel free to spend time reading through these. They will provide more advanced help on specific areas.
Welcome to the practical classes for CSC8303. These classes are built to complement and drive the lectures. The practicals are very important for a programming module. Things which can seem clear during the lectures may just appear not to work at all when in front of a machine. Conversely concepts which seem intractable when described are obvious when seen.
The lectures for this module are given joint with another module (CSC8001). The lectures are there to support the practical work. Pre-printed lecture notes will not be distributed. There are two 2-hour lecture slots each week and each lecture will address a particular theme that will involve the development of one or more pieces of code. Towards the end of the lecture a summary will be made and a set of notes will be constructed with class participation. The aim is to make the lectures as interactive as possible and to adapt to the perceived needs of the class. Students are encouraged to identify areas of concern ahead of the lectures where appropriate.
There are a set of backup notes available should you really want them.
To emphasise, the lectures are there, to be driven by you. Please make the most of them. Ask questions about things that you don't understand. The more interactive you make them, the more they will address the problems that you are having.
|
In more detail, the module practicals are organised as a set of exercises which you need to carry out. You need to get the various exercise signed off, by myself or the demonstrator. The deadline for signing off will be 1 week after the exercise is released. The demonstrators tend to leave on time, so please don't all try to get work signed off in the last 5 minutes. The exercises are intended to ensure that you are keeping up with the coursework. They will be responsible for about 5% of your end module score — they will only be marked as to whether you have completed them or not.
One point to note. Java code and programs in general are NOT meant for machines to read: they are meant for other people to read. It is the work of the compiler to generate something meaningful to the machine and incomprehensible to the human, not the work of the programmer.
Any code, therefore, that you write will be assessed for style. Badly documented, poorly commented or indented code will be assessed very harshly. If you hand in code with no comments at all, it be given zero marks, regardless of whether it works. Well documented code on the other hand will get positive marks, even if it doesn't work 1. Commenting is relatively easy to do, it's easy to score marks on, so please do it.
As well as the exercises, there is an assignment. This contributes to about 30% of the overall mark (the rest being examination based).
Exercise 1 | 16 Oct |
Exercise 2 | 23 Oct |
Exercise 3 | 30 Oct |
Exercise 4 | 13 Nov |
Exercise 5 | 20 Nov |
Exercise 6 | 27 Nov |
1. Obviously, it will get more marks if it works as well.