I’m a freshman at UNC double majoring in biology and chemistry. For a decently long time now, I’ve been hoping to get into some sort of Genetics-based job, whether it be direct study of genetics (academia) or more some sort of more company related position. However, upon attending a conference recently, I was told that it would be best to have some CS qualifications as well since genetics often links in with that field these days. Unfortunately, I have zero CS skills and have no idea where to begin.
I’m specifically looking for suggestions as to what type of CS classes to take and what types I should avoid if I am just looking to use it to supplement my biological studies. Thanks for any help or insight that can be provided!
Most schools have some kind of introductory computer programming for science and engineering course. That would be a good starting point.
Start with an intro CS class. Once you know how to program well in any programming language, it becomes relatively easy to learn new languages and apply the skills to relevant issues for biology. Some of the most useful languages for you would probably be Matlab and Python.
Python is a language that’s very easy to pick up too. The basics of it can easily be self taught for the most part. It’s good to go into a programming class with at least a basic understanding of some of the simple ideas and methods of programming, although it certainly isn’t necessary.
Edit - There’s a good open source Python textbook called “Think Python” that is very good if one is interested in self-teaching a bit of programming prior to taking the class.
http://www.greenteapress.com/thinkpython/
The Biology Dept. at UNC offers several advanced undergrad elective courses on computational genetics. So, as you progress in your biology major, make sure that you are meeting the prerequisites for these courses. I also recommend that you meet with the faculty members who teach these courses for their guidance in pursuing this aspect of genetics. While many schools now offer undergrad majors in bioinformatics or computational biology, UNC is not one of them. (UNC does offer a suggested track for mathematical biology within the math major, but this is a broader area than just the applications to genetics.) Here are the relevant courses to which I referred in my comments above:
525 Computational Analyses and Resources in Genomics (4). Prerequisites, BIOL 202, COMP 116, and STOR 155. Permission of the instructor for graduate students. Computational techniques for the analysis of large-scale genomics data. Databases and online genomic resources. Programming for standard file processing and development of analysis pipelines. Course includes a computational laboratory.
526 Computational Genetics (4). Pre- or corequisites, BIOL 202, COMP 116, and STOR 155. Permission of the instructor for students lacking the prerequisites. Graduate enrollment allowed with permission of the instructor. Introduction to computational principles underlying sequence alignment and phylogenetics, genome assembly and annotation, analysis of gene function, and other bioinformatics applications. Includes a one-hour computer laboratory.
527 Seminar in Quantitative Biology (3). Prerequisites, COMP 114, and MATH 232 or 283. Permission of the instructor for students lacking the prerequisites. Seminar in quantitative biology for advanced students. The course counts as a quantitative biology course for the major.
527L Laboratory in Quantitative Biology (1). Laboratory in quantitative biology for advanced students. The laboratory will involve mathematical analysis and modeling of biological systems and processes.
528 Systems Biology of Genetic Regulation (4). Prerequisites, BIOL 202, COMP 116, and MATH 232 or 283. The course will focus on mathematical and informatics approaches to modeling biological systems in particular gene networks. Students are expected to have some experience with programming.
http://www.unc.edu/ugradbulletin/depts/compsci.html lists CS courses at UNC-CH
The intro sequence of (110, 116, or 121), 401, 410 is probably useful in general if you want to learn the basics of CS. 283, 411, 530, 550, 431, 521, 523, 535 may be of interest if you want to go more in depth in CS. 555 may also be of interest specifically for computational biology.