Students enter the informatics field typically from two different paths: they either come from one of the computational core areas (computer science, statistics, biostatistics, or mathematics) or from one of the domain areas (biology, chemistry, physics, engineering, social sciences, humanities, environmental sciences, etc.). It can be bewildering for someone interested in informatics to figure out what to take to prepare themselves for the data-intensive environment they may be finding themselves in. The list of courses and pathways is necessarily incomplete and only meant to be a helpful guide to gain a better understanding of the breadth of educational opportunities this field offers.
UMII does not endorse any of the listed courses. You should check with your academic advisor or graduate program whether certain courses are suitable for your purposes.
A keystone course is a course that is frequently a prerequisite course for more advanced courses. For informatics, these include subjects like algorithms, biochemistry & genetics, biostatistics and statistics. (Courses listed are offered on the Twin Cities campus unless otherwise noted.)
Click this heading to show more/less of this collapsible panel.
A keystone course in computer science is CSCI 4041 Algorithms and Data Structures. This course has a number of prerequisite courses itself.
Programming (three different programming languages):
- Java (CSCI 1103)
- C/C++ (CSCI 1113)
- Python (CSCI 1133) — Preferred language for bioinformatics
This is followed by an introduction to Algorithms
- CSCI 1913 for students familiar with Java or C/C++
- CSCI 1933 for students familiar with Python
In addition, students must have a familiarity with Discrete Structures (CSCI 2011), which requires calculus I (MATH 1271 or 1371).
UMD offers CS 5521 Advanced Data Structures, which requires CS 2511 (Software Analysis and Design), CS 3512 (Computer Science Theory), and MATH 3326 (Vectors and Matrices).
UMM offers CSCI 3501 Algorithms and Computability, which requires an introduction to computer science course and a course on data structures.
The following table lists courses which are often taken by students in informatics and that require CSCI 4041:
|Course Number||Course Title|
|CSCI 4707||Practice of Database Systems|
|CSCI 5421||Advanced Algorithms and Data Structures|
|CSCI 5451||Introduction to Parallel Computing|
|CSCI 5461*||Functional Genomics, Systems Biology, and Bioinformatics|
|CSCI 5481||Computational Techniques for Genomics|
|CSCI 5523||Introduction to Data Mining|
|CSCI 5707||Principles of Database Systems|
*CSCI 5461 lists CSCI 3003 as an alternative, which makes the course very accessible to students from the life sciences.
Biochemistry & Genetics
Biochemistry (BIOC 3021 or BIOC 6021) is a frequent prerequisite course for "-omics" courses. Biochemistry requires an introductory college biology course, Chemical Principles (CHEM 1021/22), and Organic Chemistry (CHEM 2301). Biochemistry is also a prerequisite course for Genetics (BIOL 4003 or GCD 3022).
UMD offers CHEM 4351 Biochemistry I, CHEM 4351 Biochemistry II, and IBS 5101 Biochemistry and Molecular Biology. These courses also have prerequisite courses in general and organic chemistry.
UMM offers BIOL 4211 Biochemistry, which requires molecular biology and organic chemistry.
The following table lists genomics and proteomics courses that require BIOC 3201 (BIOC 5361, GCD 8131, and PBIO 5301 also require Genetics):
|Course Number||Course Title|
|BIOC 5361||Microbial Genomics and Bioinformatics|
|BIOC 5527||Introduction to Modern Structural Biology|
|BIOC 5528||Spectroscopy and Kinetics|
|GCD 8131||Advanced Genetics and Genomics|
|PBIO 5301||Plant Genomics|
Public Health offers a number of courses that are suitable for students in informatics. A year-long course in biostatistics (PUBH 6450/51) is often a prerequisite course sequence.
UMD offers STAT 4060 Introduction to Biostatistics, which is calculus based and requires and introductory course in statistics.
UMM offers STAT 4601 Biostatistics, which requires an introductory course in statistics. The following table lists genomics courses with a focus on statistical approaches that require PUBH 6450/51:
|Course Number||Course Title|
|PUBH 7445||Statistic for Human Genetics and Molecular Biology|
|PUBH 8446||Advanced Statistical Genetics and Genomics|
There a number of introductory statistics courses that prepare students for more advanced data-intensive courses.
- Animal Science: ANSC 3011 Statistics for Animal Science (=STAT 5021, STAT 3011, ESPM 3012)
- Calculus-based General Statistics: STAT 4101 Theory of Statistics I (=STAT 5101) and STAT 4102 Theory of Statistics II (=STAT 5102); STAT 3411 Engineering Statistics (UMD); STAT 3611 Introduction to Probability and Statistics; (UMD)STAT 2601 Statistical Methods (UMM) or STAT 2611 Mathematical Statistics (UMM)
- Education: EPSY 3264 Basic and Applied Statistics (=EPSY 5231, EPSY 5261)
- Engineering: IE 3521 Statistics, Quality, and Reliability (requires calculus)
- Environmental Sciences: ESPM 3012 Statistical Methods for Environmental Scientists and Managers (=STAT 5021, STAT 3011, ANSC 3011)
- General Statistics: STAT 3011 Introduction to Statistical Analysis (=STAT 5021, ANSC 3011, ESPM 3012)
- Psychology: PSY 3801 Introduction to Psychological Measurement and Data Analysis (=PSY 3801H)
- Social Sciences: SOC 3811 Basic Social Statistics; SOC 3155 Quantitative Research Methods and Analysis (UMD)
Linguistics offers a course Introduction to Computational Linguistics (LING 5801) that has a pre-requisite of programming experience or an upper division/graduate level course in Syntax (LING 4201 or LING 5201). This course is taken by Linguistics undergraduate and graduate students and students from other departments across the university. Linguistics also offers a reading group on current issues in computational linguistics that draws participants from both the University community and local industry.
The University offers the following advanced genomics courses: Microbial Genomics and Bioinformatics (BIOC 5361), Plant Genomics (PBIO 5301) and Advanced Genetics and Genomics (GCD 8131). All three require a course in Biochemistry (BIOC 3021) and Genetics (BIOL 4003 or GCD 3022).
Courses that are useful for proteomics are offered primarily through Biochemistry, Molecular Biology and Biophysics: BIOC 5527 Introduction to Modern Structural Biology, BIOC 5528 Spectroscopy and Kinetics, and short courses in some of the techniques, such as BIOC 4325 Laboratory in Mass Spectrometry and BIOC 5225 Graduate Laboratory in NMR Techniques. CSCI 5461 also covers proteomics data.
PHAR 6224 Pharmacogenomics focuses on the genetic variability in drug responses, and BIOL 4035 Metagenomics Laboratory and CSCI 5980 Introduction to Computational Metagenomics introduce students to metagenomics.
Departments frequently offer special topics courses. In Spring 2014, the following two courses are offered through the Computer Science and Engineering Department: CSCI 5980 001 LEC and 883 LEC (UNITE) Introduction to Computational Metagenomics, and CSCI 8980 003 LEC Computational Analysis of Individual Genomes.
The social sciences have long enjoyed rich data sets, in particular, in specialties that require a deep understanding of quantitative and computational approaches, such as networks, demography, or aspects of human behavior. This is reflected in the requirements for the degree programs.
At the undergraduate level, sociology offers a Basic Social Statistics course (SOC 3811), which requires intermediate algebra skills and introduces students to descriptive and inferential statistics. A course on Sociological Research Methods (SOC 3801) focuses on data management and experimental design in the context of sociological research. Both courses have their graduate level analogs (SOC 8801: Sociological Research Methods, SOC 5811 Intermediate Social Statistics, and SOC 8811 Advanced Social Statistics). Graduate students can learn about Social Network Analysis: Theory and Methods (SOC 8412). Undergraduate students who want to develop a rigorous mathematical concentration in research methodologies can major in the B.S. in Sociology, which requires 12-16 credits in advanced (upper division and graduate level) computer science, economics, mathematics and statistics courses. Coursework can also include educational psychology courses that focus on learning and cognition.
MOOCs and Other Online Courses
Over the last several years, universities have made available many excellent courses for free. While it takes a lot of dedication to complete a course on one's own, they can fill gaps, in particular for those who want to move into an informatics without the proper preparation. Below is a small sample of such courses (UMII does not endorse or recommend any of the listed courses, and you should check with your academic adviser or graduate program whether any of the courses are suitable for your purposes):
- Introduction to Computer Science and Programming is offered through MIT OpenCourseware. It is an undergraduate course that teaches Python (2.5) while introducing students to basic concepts in computer science.
- Coursera offers free courses from major universities, including courses in algorithms, such as Algorithms Parts I and II from Princeton University or Algorithms: Design and Analysis Parts I and II from Stanford University.
- Big Data University offers free short courses, for instance a 5-hour Introduction to Data Analysis in R.
- Metacademy is a community-driven platform that provides learning modules in machine learning and probabilistic AI.
- Udacity offers free online courses from major universities across a broad range of topics and levels, including computer science and mathematics.
- UC Berkeley's Astronomy department offers a Python Boot Camp. This is not an introductory computer science class and presupposes some basic programming knowledge