# Prerequisites

The BCB PhD and certificate programs do not have formal prerequisites as such. However, both programs do require the completion of some or all of the BCB core courses (albeit on different timelines; see later), and these core courses often assume certain foundational mathematical and computational skills. In particular:

- BCB 715 Mathematical Modeling of Gene Networks and Signaling Pathways: familiarity with calculus, specifically differentiation; willingness to learn MatLab.
- BCB 717 Structural Bioinformatics: familiarity with or willingness to learn Python.
- BCB 720 Introduction to Statistical Modeling: assumes single variable calculus at least up to Calc 1; familiarity with or willingness to learn basic matrix algebra; familiarity with or willingness to learn R.

More specific information on these courses and their prerequisites can be found in theĀ Current Course Schedule. In general, recent practice with calculus and experience with at least one programming language (not necessarily any of those listed above) will be a strong advantage. Conversely, students with no experience of calculus are strongly advised to acquire basic calculus skills before attempting courses that assume it; students who have never programmed before are encouraged to gain practice programming in at least one language before attempting courses that have a programming component.

These considerations of prerequisite skills are most immediately relevant to students aiming to join the PhD program, who are strongly encouraged to take all the core courses in their 1st year if possible, and necessarily by their 2nd year. For certificate students, there is more flexibility about when they take the core courses, and therefore more time to acquire any missing pre-requisite skills.