The ideal computational biology student knows biology very well, computer science very well (including being able to program very well), math/statistics very well and working knowledge of engineering, chemistry and physics. However, it is rare that someone has this background.
The following are case studies of former UofT graduate students in computational biology (bioinformatics), the courses they took and their experiences and recommendations. Hopefully, this will be useful for new computational biology graduate students at UofT.
Student 1
- Background: Biology and chemistry
- Ph.D. Biochemistry Sep.2000-Apr.2005 (4.5 year completion time)
- Student written description of experience:
My undergraduate degree was a combined major in biology and chemistry that gave me a solid footing in biochemistry, molecular biology, genetics and organic chemistry. My computer science training followed two parallel tracks: self-taught and formal courses. Self-learning began with basic programming skills in C and UNIX working environment. I later learned C++, Perl and MatLab. In retrospect I would not recommend learning to program in C. Java is by far a better choice for first-time programmers but I would strongly encourage learning C/C++ at some point. As one instructor told us once “C may not be your first choice for a project but it will always be the second best”. There is no substitute for experience. If your lab has experienced programmers or theoreticians take advantage of their accumulated experience and ask questions, lots of questions. You would often find that asking a simple question can save you days, if not weeks, of frustrating debugging or help you circumvent problems that have been solved many times over. There is no better way to learn than by example. Look at other people’s code. As I started my graduate work it quickly became apparent that although I was programming there were large gaps in my understanding of theoretic concepts, which impeded my work. So I decided to go back to ‘school’ and fill those gaps with undergraduate courses. I began with introductory to computer science (CS148) followed by fundamental data structures and algorithm (CS270), file structure and data managements (CS228) and discrete math (CS238). Towards the end of my graduate degree I also took courses in computational complexity and computability (CS364) and a graduate level course in probabilistic reasoning (CS2506). There are a number of things to keep in mind when starting this process. * Start early. The sooner you learn the more effective and rewarding will be your own research work. * Inform your supervisor that you are taking additional courses and to expect a substantial amount of your time to be dedicated to these courses. * Do not audit the courses, register and do the course work. There are three reasons for that, many of the concepts are not easy to grasp and only through assignments and exams do they solidify in your mind. Second, most people that audit courses rarely attend all classes or do any of the work so they do not learn all the topics covered in the course. Finally, the courses will appear in your transcript so you may be able (although with considerable struggle in my case) to convince your graduate coordinator to credit some of these courses in lieu of other degree requirements. * You don’t have to choose courses that are related to your graduate research. Pick courses that spark your interest. You’ll enjoy them more. There is no wasted knowledge; anything you learn may be of practical use at some point. Today most bioinformatics programs include computer science courses so many of the student are better prepared to tackle their graduate work. However, if you find a ‘hole’ in your knowledge take the initiative and fill it up.
Student 2
- Background: Biochemistry and computer science
- Ph.D. Biochemistry Sep.1998 to Oct.2002 (4 year completion time)
- Took the following courses:
- BCH1421 and BCH1422 during first semester of year 1 (conditional acceptance until those courses were taken, to satisfy entry requirements - not enough biochemistry courses were taken in undergraduate). Somewhat duplicated knowledge learned in undergraduate studies, but was a good learning experience, especially the essay component, since scientific writing was not taught well in undergraduate studies.
- BCH2021S in second semester of year 1 - selected topic of course was bioinformatics. Course satisfied Ph.D. requirements and was taken out of interest. Was an excellent learning experience.
- Audit MBP1011S in second semester of year 1 to evaluate taking course for next year. It is not recommended to audit a course if you will not take it for credit in the future, since you need to be extraordinarily disciplined to attend all lectures.
- MBP1011S in second semester of year 2. Was an excellent learning experience.
- BCH2021S in second semester of year 3 - selected topic of course was protein-protein interactions. Course satisfied Ph.D. requirements and was taken out of interest. Was an excellent learning experience.