base on :microscope: Path to a free self-taught education in Bioinformatics! <div align="center"> <img src="http://i.imgur.com/kYYCXtC.png" alt="Open Source Society logo"/> <h3>Open Source Society University</h3> <p> :microscope: Path to a free self-taught education in <strong>Bioinformatics!</strong> </p> <p> <a href="https://github.com/open-source-society/bioinformatics"> <img alt="Open Source Society University - Bioinformatics" src="https://img.shields.io/badge/OSSU-bioinformatics-blue.svg"> </a> </p> <p> <h3> Archived </h3> </p> </div> Note: this curriculum is not under active development and may be out of date. Read more [here](./ARCHIVED.md). ## Contents - [About](#about) - [Motivation & Preparation](#motivation--preparation) - [Curriculum](#curriculum) - [How to use this guide](#how-to-use-this-guide) - [Prerequisite](#prerequisite) - [How to collaborate](#how-to-collaborate) - [Code of Conduct](#code-of-conduct) - [Community](#community) - [Team](#team) - [References](#references) ## About This is a **solid path** for those of you who want to complete a [Bioinformatics](https://en.wikipedia.org/wiki/Bioinformatics) course on your own time, **for free**, with courses from the **best universities** in the World. In our curriculum, we give preference to MOOC (Massive Open Online Course) style courses because these courses were created with our style of learning in mind. To become a bioinformatician, you have to learn quite a lot of science, so be ready for subjects like; Biology, Chemistry, etc... ## Motivation & Preparation Here are two interesting links that can make **all** the difference in your journey. The first one is a motivational video that shows a guy that went through the "MIT Challenge", which consists of learning the entire **4-year** MIT curriculum for Computer Science in **1 year**. - [MIT Challenge](https://www.scotthyoung.com/blog/myprojects/mit-challenge-2/) The second link is a MOOC that will teach you learning techniques used by experts in art, music, literature, math, science, sports, and many other disciplines. These are **fundamental abilities** to succeed in our journey. - [Learning How to Learn](https://www.coursera.org/learn/learning-how-to-learn) **Are you ready to get started?** ## Curriculum ### 1st Year Code | Course | Duration | Effort :-- | :--: | :--: | :--: BIO 1311 | [Fundamentals of Biology](https://ocw.mit.edu/courses/7-01sc-fundamentals-of-biology-fall-2011/) | 12 weeks | 7-14 Hours/Week CHEM 1311 | [Principles of Chemical Science](https://ocw.mit.edu/courses/5-111sc-principles-of-chemical-science-fall-2014/) | 15 Weeks | 4-6 Hours/Week Py4E | [Python for Everybody](https://www.py4e.com/lessons) | 10 weeks | 10 hours/week 6.00.1x | [Introduction to Computer Science and Programming using Python](https://ocw.mit.edu/courses/6-0001-introduction-to-computer-science-and-programming-in-python-fall-2016/) ([alt](https://www.edx.org/course/introduction-to-computer-science-and-programming-7)) | 9 weeks | 15 hours/week MATH 1311 | [College Algebra and Problem Solving](https://www.edx.org/course/college-algebra-problem-solving-asux-mat117x) | 4 Weeks | 6 Hours/Week MATH 1312 | [Pre-calculus](https://www.edx.org/course/precalculus-asux-mat170x) | 4 Weeks | 6 Hours/Week 18.01.1x | [Calculus 1A: Differentiation](https://openlearninglibrary.mit.edu/courses/course-v1:MITx+18.01.1x+2T2019/about) | 13 weeks | 6-10 hours/week 18.01.2x | [Calculus 1B: Integration](https://openlearninglibrary.mit.edu/courses/course-v1:MITx+18.01.2x+3T2019/about) | 13 weeks | 5-10 hours/week MATH 1315 | [Introduction to Probability and Data (with R)](https://www.coursera.org/learn/probability-intro) | 5 Weeks | 6 Hours/Week ### 2nd Year Code | Course | Duration | Effort :-- | :--: | :--: | :--: BIO 2311 | [Biochemistry](https://www.edx.org/course/principles-of-biochemistry) | 15 Weeks | 4-6 Hours/Week CHEM 2311 | [Organic Chemistry](http://ocw.mit.edu/courses/chemistry/5-12-organic-chemistry-i-spring-2005/) | 15 Weeks | 4-6 Hours/Week COMP 2311 | [CS 2 - Object Oriented Java](https://www.coursera.org/learn/object-oriented-java) | 6 Weeks | 4-6 Hours/Week 18.01.3x | [Calculus 1C: Coordinate Systems & Infinite Series](https://openlearninglibrary.mit.edu/courses/course-v1:MITx+18.01.3x+1T2020/about) | 6 weeks | 5-10 hours/week 6.042J | [Mathematics for Computer Science](https://openlearninglibrary.mit.edu/courses/course-v1:OCW+6.042J+2T2019/about) ([Solutions](https://github.com/spamegg1/Math-for-CS-solutions)) | 13 weeks | 5 hours/week COMP 2312 | [Databases](https://online.stanford.edu/courses/soe-ydatabases-databases) | 10 Weeks | 8-12 Hours/Week 18.06 | [Linear Algebra](https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/) and [Essence of Linear Algebra](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab) | 14 weeks | 12 hours/week COMP 2313 | [Introduction to Linux](https://www.edx.org/course/introduction-linux-linuxfoundationx-lfs101x-0) | 8 Weeks | 5-7 Hours/Week MATH 2314 | [Inferential Statistics (with R)](https://www.coursera.org/learn/inferential-statistics-intro) | 5 Weeks | 6 Hours/Week ### 3rd Year Code | Course | Duration | Effort :-- | :--: | :--: | :--: BIO 3311 | [Proteins' Biology](https://www.edx.org/course/proteins-biologys-workforce) | 5 Weeks | 4-6 Hours/Week COMP 3311a | [Algorithmic Thinking 1 ](https://www.coursera.org/learn/algorithmic-thinking-1) | 4 Weeks | 6 Hours/Week COMP 3311b | [Algorithmic Thinking 2 ](https://www.coursera.org/learn/algorithmic-thinking-2) | 4 Weeks | 6 Hours/Week MATH 3311 | [Linear Regression and Modeling (with R)](https://www.coursera.org/learn/linear-regression-model)| 4 Weeks | 6 Hours/Week MATH 3312 | [Bayesian Statistics (with R)](https://www.coursera.org/learn/bayesian) | 5 Weeks | 6 Hours/Week BIO 3312 | [Cell Biology ](http://ocw.mit.edu/courses/biology/7-06-cell-biology-spring-2007/) | - Weeks | - Hours/Week MATH 3313 | [Differential Equations](https://ocw.mit.edu/courses/mathematics/18-03sc-differential-equations-fall-2011/) | 7 Weeks | 8-10 Hours/Week BIO 3313a | [Biostatistics 1](https://www.coursera.org/learn/biostatistics) | 4 Weeks | 3-5 Hours/Week BIO 3313b | [Biostatistics 2](https://www.coursera.org/learn/biostatistics-2) | 4 Weeks | 3-5 Hours/Week ### 4th Year Code | Course | Duration | Effort :-- | :--: | :--: | :--: BIO 4311 | [DNA: Biology's Genetic Code](https://www.edx.org/course/dna-biologys-genetic-code) | 6 Weeks | 4-6 Hours/Week COMP 4311 | [Data Science ](http://cs109.github.io/2015/) | 13 Week | 10 Hours/Week BIO 4312a | [Molecular Biology](https://ocw.mit.edu/courses/biology/7-28-molecular-biology-spring-2005/) | 16 Weeks | 4-8 Hours/Week BIO 4312d | [Bioinformatics 1](https://www.coursera.org/learn/dna-analysis) | 4 Weeks | 4-10 Hours/Week COMP 4312a | [Bioinformatics 2](https://www.coursera.org/learn/genome-sequencing) | 4 Week | 6 Hours/Week COMP 4312b | [Bioinformatics 3](https://www.coursera.org/learn/comparing-genomes) | 4 Week | 6 Hours/Week COMP 4312c | [Bioinformatics 4](https://www.coursera.org/learn/molecular-evolution) | 4 Week | 6 Hours/Week COMP 4312d | [Bioinformatics 5](https://www.coursera.org/learn/genomic-data) | 4 Week | 6 Hours/Week COMP 4312e | [Bioinformatics 6](https://www.coursera.org/learn/dna-mutations) | 4 Week | 6 Hours/Week COMP 4312f | [Bioinformatics 7 (Capstone)](https://www.coursera.org/learn/bioinformatics-project) | 3 Week | 3-4 Hours/Week BIO 4313 | [Evolution](https://www.coursera.org/learn/genetics-evolution) | 11 Weeks | 4-6 Hours/Week ### Extra Year Code | Course | Duration | Effort :-- | :--: | :--: | :--: COMP 5311 | [Introduction to Machine Learning](https://www.udacity.com/course/intro-to-machine-learning--ud120) | 10 Weeks | 6 Hours/Week COMP 5312 | [Deep Learning](https://www.udacity.com/course/deep-learning--ud730) | 8 Weeks | 6 Hours/Week Extension | [Genomic Data Science Specialization](https://www.coursera.org/specializations/genomic-data-science) | 32 Week | 6 Hours/Week > Will continue with Master's in Bioinformatics --- ![keep learning](http://i.imgur.com/REQK0VU.jpg) ## How to use this guide ### Order of the classes This guide was developed to be consumed in a linear approach. What does this mean? That you should complete one course at a time. The courses are **already** in the order that you should complete them. Just start the first course, [Introduction to Biology](https://www.edx.org/course/introduction-biology-secret-life-mitx-7-00x-2), when you done with it, start the next one. **If the course is not open, do it with the archived resources or wait until next class is open.** ### How to track and show your progress 1. Create an account in [Trello](https://trello.com/). 1. Copy [this](https://trello.com/b/yax8Kgnh) board to your personal account. See how to copy a board [here](http://blog.trello.com/you-can-copy-boards-now-finally/). Now that you have a copy of our official board, you just need to pass the cards to the `Doing` column or `Done` column as you progress in your study. We also have **labels** to help you have more control through the process. The meaning of each of these labels is: - `Main Curriculum`: cards with that label represent courses that are listed in our curriculum. - `Extra Courses`: cards with that label represent courses that was added by the student. - `Doing`: cards with that label represent courses the student is current doing. - `Done`: cards with that label represent courses finished by the student. Those cards should also have the link for at least one project/article built with the knowledge acquired in such course. - `Section`: cards with that label represent the section that we have in our curriculum. Those cards with the `Section` label are only to help the organization of the Done column. You should put the *Course's cards* below its respective *Section's card*. - `Extra Sections`: cards with that label represent sections that was added by the student. The intention of this board is to provide for our students a way to track their progress, and also the ability to show their progress through a public page for friends, family, employers, etc. You can change the status of your board to be **public** or **private**. ### Should I take all courses? **Yes!** The intention is to conclude **all** the courses listed here! Also we highly encourage you to complete more by reading papers and attending research projects after your coursework is done. ### Duration of the course It may take longer to complete all of the classes compared to a regular Bioinformatics course, but we can **guarantee** you that your **reward** will be proportional to **your motivation/dedication**! You must focus on your **habit**, and **forget** about goals. Try to invest 1 ~ 2 hours **every day** studying this curriculum. If you do this, **inevitably** you'll finish this curriculum. > See more about "Commit to a process, not a goal" [here](http://jamesclear.com/goals-systems). ### Project Based Here in **OSS University**, you do **not** need to take exams, because we are focused on **real projects**! In order to show for everyone that you **successfully** finished a course, you should create a **real project** or write **papers and publish them** about your focus with Bioinformatics. > "What does it mean?" After finish a course, you should think about a **real world problem** that you can solve using the acquired knowledge in the course. You don't need to create a big project, but you must create something to **validate** and **consolidate** your knowledge, and also to show to the world that you are capable to create something useful with the concepts that you learned. Put the OSSU-Bioinformatics badge in the README of your repository! [![Open Source Society University - Bioinformatics](https://img.shields.io/badge/OSSU-bioinformatics-blue.svg)](https://github.com/open-source-society/bioinformatics) - Markdown: `[![Open Source Society University - Bioinformatics ](https://img.shields.io/badge/OSSU-bioinformatics-blue.svg)](https://github.com/open-source-society/bioinformatics)` - HTML: `<a href="https://github.com/open-source-society/bioinformatics"><img alt="Open Source Society University - Bioinformatics" src="https://img.shields.io/badge/OSSU-bioinformatics-blue.svg"></a>` **You can create this project alone or with other students!** ### Be creative! This is a **crucial** part of your journey through all those courses. You **need** to have in mind that what you are able to **create** with the concepts that you learned will be your certificate **and this is what really matters**! In order to show that you **really** learned those things, you need to be **creative**! Here are some tips about how you can do that: - **Articles**: create blog posts to synthesize/summarize what you learned. - **GitHub repository**: keep your course's files organized in a GH repository, so in that way other students can use it to study with your annotations. ### Cooperative work **We love cooperative work**! Use our [channels](#community) to communicate with other fellows to combine and create new projects! ### Which programming languages should I use? List of skills: - C/C++ - Unix System - Python/Perl - R - Algorithms These skills mentioned above are the very essential tool set that bioinformatician and computational biologist depends on. The **important** thing for each course is to **internalize** the **core concepts** and to be able to use them with whatever tool (programming language) that you wish. ### Content Policy You must share **only** files that you are **allowed** to! **Do NOT disrespect the code of conduct** that you signed in the beginning of some courses. [Be creative](#be-creative) in order to show your progress! :smile: ### Stay tuned [Watch](https://help.github.com/articles/watching-repositories/) this repository for futures improvements and general information. ## Prerequisite Students without a strong high school background in Biology will benefit from [Getting up to Speed in Biology](https://openlearninglibrary.mit.edu/courses/course-v1:OCW+Pre-7.01+1T2020/about). Understanding how to use Git to version your work can be hugely beneficial and is generally not taught in other courses. [Version Control with Git](https://www.udacity.com/course/version-control-with-git--ud123) should get you up to speed. ## How to collaborate You can [open an issue](https://help.github.com/articles/creating-an-issue/) and give us your suggestions as to how we can improve this guide, or what we can do to improve the learning experience. You can also [fork this project](https://help.github.com/articles/fork-a-repo/) and send a [pull request](https://help.github.com/articles/using-pull-requests/) to fix any mistakes that you have found. TODO: If you want to suggest a new resource, send a pull request adding such resource to the [extras](https://github.com/open-source-society/bioinformatics/tree/master/extras) section. The **extras** section is a place where all of us will be able to submit interesting additional articles, books, courses and specializations, keeping our curriculum *as immutable and concise as possible*. **Let's do it together! =)** ## Code of conduct [OSSU's code of conduct](https://github.com/ossu/code-of-conduct). ## Community We have a Discord server! This should be your first stop to talk with other OSSU students. [Why don't you introduce yourself right now?](https://discord.gg/wuytwK5s9h) Subscribe to our [newsletter](https://tinyletter.com/OpenSourceSocietyUniversity) You can also interact through [GitHub issues](https://github.com/open-source-society/bioinformatics/issues). Add **Open Source Society University** to your [Linkedin](https://www.linkedin.com/school/11272443/) and join our [Facebook](https://www.facebook.com/groups/opensourcesocietyu/) group! ## Team * **Curriculum Founder**: [Enes Kemal Ergin](https://github.com/eneskemalergin) * **Curriculum Maintainer**: [Enes Kemal Ergin](https://github.com/eneskemalergin) * **Contributors**: [contributors](https://github.com/open-source-society/bioinformatics/graphs/contributors) ## References ", Assign "at most 3 tags" to the expected json: {"id":"6537","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"