For students without a strong Computer Science background
Students in the BISB program have backgrounds in Computer Science, Biology, Math, and related areas; however, particular strengths and interests vary.
Beyond introductory programming and scripting courses, it is essential to have taken undergraduate courses in data structures and algorithms prior to taking the required BISB class CSE 282 / BENG 202 (Introduction to Bioinformatics Algorithms). We emphasize that most BISB students already have such experience prior to entering the program. If you do not, here are some options to prepare. We recommend preparing before starting at UCSD by taking relevant coursework at your undergraduate school or the online courses listed below.
Before registering in CSE 282 / BENG 202, you will need to submit a brief statement of your preparation for the class (e.g., classes at your undergrad school similar to UCSD's CSE 101; or the online classes recommended below). CSE 282 is usually offered winter quarter, so this statement will usually be due October/November. If you're not prepared to take it your first year, you may need to postpone it to your 2nd year.
Note: The external links below are current as of May 2024, but may change. Please contact the graduate program coordinator if they change.
Prospective students: If you have a medical or wetlab focus and are interested in using Bioinformatics tools to analyze research data, but do not wish to focus on the algorithms and software behind them, please also check related programs such as Biomedical Sciences, Bioengineering, and Quantitative Biology.
Prospective students
Prospective students: You should take Computer Science courses at your school similar to this series of UCSD classes. Please note, once you are at UCSD in the BISB graduate program, it may be difficult to enroll in these classes (CSE undergrads have priority), and they will not count as electives (except CSE 101).
UCSD # | Title |
---|---|
CSE 6R or 11 | Introduction to Computer Science and Object-Oriented Programming (CSE 6R: Python or CSE 11: Java) |
CSE 12 | Basic Data Structures and Object-Oriented Design |
CSE 20 / Math 15A | Discrete Mathematics |
CSE 21 | Mathematics for Algorithms and Systems |
CSE 100 | Advanced Data Structures |
CSE 101 | Design and Analysis of Algorithms |
You should also take math and biology courses at your school, similar to these UCSD undergraduate classes:
UCSD # | Title |
---|---|
Math 20A-B-C-D | Calculus and Introduction to Differential Equations |
Math 18 | Linear Algebra |
Math 11, 183, or 186 | Introduction to Probability and Statistics |
BICD 100 | Genetics |
If you have a medical or wetlab focus and are interested in using Bioinformatics tools to analyze research data, but do not wish to focus on the algorithms and software behind them, please also check related programs such as Biomedical Sciences, Bioengineering, and Quantitative Biology.
Scenario (most common): Need algorithms, but took programming and data structures
Incoming/current students: If you have programming and data structures experience but have not yet taken an undergraduate algorithms course, we suggest the following options.
OPTION 1: Taking CSE 101. Undergrads have enrollment priority, so it can be difficult for grad students to get in; CSE advises that grad students have the best chance in the fall quarter. Fall is also good since CSE 282 is in the winter. If you are an incoming student still at your previous school, try to take a similar class there.
OPTION 2: You may be able to self-study from this past CSE 101 site (including slides & homework), at least while it's still available.
OPTION 3 (RECOMMENDED): Online courses on Cogniterra, available year-round for free for UCSD BISB students. See Coursera and Cogniterra logistics below for registration information.
Platform | Course | Similar UCSD course |
---|---|---|
Cogniterra | Data Structures | CSE 12 & 100 |
Cogniterra | Ace Your Next Coding Interview by Learning Algorithms | CSE 101 |
OPTION 4: Online courses on Coursera. See Previous recommendations (all-Coursera) below.
Scenario (less common): Need to take programming, data structures, and algorithms
Incoming/current students: If you have not yet taken discrete mathematics, programming, and/or data structures, these are needed before taking algorithms. We suggest taking these courses. They're available year-round for free for UCSD BISB students (see Coursera and Cogniterra logistics below for registration information).
Platform | Course | Similar UCSD course |
---|---|---|
Cogniterra | Introduction to Computer Science and Object-Oriented Programming: Python | CSE 6R |
Coursera | Intro Discrete Mathematics for Computer Science Specialization • Course 1: Mathematical Thinking in Computer Science • Course 2: Combinatorics and Probability • Skip courses 3-5 |
CSE 20 & 21 |
Cogniterra | Data Structures | CSE 12 & 100 |
Cogniterra | Ace Your Next Coding Interview by Learning Algorithms | CSE 101 |
Alternatively, see Previous recommendations (all-Coursera) below
Previous recommendations (all-Coursera)
Our previous online course recommendations on Coursera are listed below. These courses are still suitable and may be of interest:
- The new recommendations (above) are more streamlined. However, they use two platforms (Coursera and Cogniterra); some require a fee (waived for UCSD BISB students); and only some have a certificate option.
- The older recommendations (below) are all in a single platform (Coursera). Coursera is much more established; offers free versions of these classes (w/o a certificate); and certificate versions for an additional charge (waived for UCSD students). The Coursera series also have additional classes to go beyond our recommendations.
Scenario (most common): Need algorithms, but took programming and data structures
Incoming/current students: If you have programming and data structures experience but have not yet taken an undergraduate algorithms course, we suggest taking these Coursera courses (see Coursera and Cogniterra logistics below for registration information). They're available year-round for free for UCSD students.
Platform | Course | Similar UCSD course |
---|---|---|
Coursera | Data Structures and Algorithms Specialization • Course 1: Algorithmic Toolbox • Course 2: Data Structures • Course 3: Algorithms on Graphs • Skip courses 4-6 |
CSE 100 & CSE 101 |
Scenario (less common): Need to take programming, data structures, and algorithms
Incoming/current students: If you have not yet taken discrete mathematics, programming, and/or data structures, these are needed before taking algorithms. We suggest taking these Coursera courses (see Coursera and Cogniterra logistics below for registration information). They're available year-round for free for UCSD students.
Platform | Course | Similar UCSD course |
---|---|---|
Coursera | Intro Discrete Mathematics for Computer Science Specialization • Course 1: Mathematical Thinking in Computer Science • Course 2: Combinatorics and Probability • Course 3: Introduction to Graph Theory • Skip courses 4-5 |
CSE 20 & 21 |
Coursera | Object Oriented Java Programming: Data Structures and Beyond • Course 1: Object Oriented Programming in Java • Course 2: Data Structures and Performance • Course 3: Advanced Data Structures in Java • Skip courses 4-5 |
CSE 11, 12, & 100 |
Coursera | Data Structures and Algorithms Specialization • Course 1: Algorithmic Toolbox • Skip courses 2-6 (2-3 overlap w/OO Java series; 4-6 go beyond our recommendations) |
CSE 101 |
Coursera and Cogniterra logistics
Coursera
Incoming/current UCSD students: UCSD students may take the Coursera classes recommended above for free through Coursera for UC San Diego (use this rather than the regular registration links on the Coursera pages above). On successfully completing each course, Coursera will issue a certificate of completion, roughly like a “Pass” on a “Pass/Fail” grading scale. However, Coursera classes do not count for UCSD course credit, do not issue letter grades, do not appear on your UCSD transcript, and do not count towards your UCSD degree requirements, whereas CSE 101 does count. This is just an option for you to prepare for CSE 282 and other graduate CSE courses.
Coursera classes have rolling enrollment dates year-round, so you can start any time instead of waiting for a new quarter or dealing with a waitlist.
You can also work on the Coursera classes even before starting at UCSD. You're eligible for Coursera for UC San Diego once you are admitted and set up your UCSD accounts. You may be able to audit the courses prior to that (however, you don't get a certificate of completion if you audit a course).
Prospective students: See the Prospective students section above. We recommend taking classes for credit at your undergraduate school. If you do take classes through Coursera, see their enrollment options page for info on paid options and free auditing options. Auditing may be available for particular courses but not for specializations. If you're on a Coursera specializations page, pick “Courses”; go to a particular course; and use the enrollment button on the course page (rather than on the specializations page) to see if it has an Audit option.
Cogniterra
Some Cogniterra classes are free and others have a registration fee. Incoming/current UCSD BISB students may contact us for a fee waiver for Ace Your Next Coding Interview by Learning Algorithms.
Cogniterra classes do not count for UCSD course credit, do not issue letter grades, do not appear on your UCSD transcript, and do not count towards your UCSD degree requirements.
Cogniterra classes allow enrollment year-round. You can start any time instead of waiting for a new quarter or dealing with a waitlist.