diff --git a/docs/computer-science/extras/other_curricula.md b/docs/computer-science/extras/other_curricula.md index 42877f4..34f41e1 100644 --- a/docs/computer-science/extras/other_curricula.md +++ b/docs/computer-science/extras/other_curricula.md @@ -9,7 +9,7 @@ The Borr Prject is one of a few efforts to inform learners how they can pursue c - [P1xt](https://github.com/P1xt/p1xt-guides) - [Functional CS](https://functionalcs.github.io/curriculum/) -What differentiates the Borr Project? The Borr Project is dedicated to how an individual can learn the undergraduate CS curriculum. This is why we use the [CS2013](../../curricular_guidelines) as our curricular guidelines. These guidelines are written by the two foremost professional organizations in computing. +What differentiates the Borr Project? The Borr Project is dedicated to how an individual can learn the undergraduate CS curriculum. This is why we use the [CS2013](../curricular_guidelines.md) as our curricular guidelines. These guidelines are written by the two foremost professional organizations in computing. To know what makes the Borr Project Different from OSSU, read [this blog post](https://borrproject.github.io/blog/announcing-borr-project/). diff --git a/docs/computer-science/faq.md b/docs/computer-science/faq.md index c00c822..b48f2a8 100644 --- a/docs/computer-science/faq.md +++ b/docs/computer-science/faq.md @@ -4,7 +4,7 @@ This page answers some questions that we frequently receive about the curriculum If you have questions that aren't answered here, try asking through one of our [community channels](../#community). If it seems important enough or we get asked that question a lot, we will probably add it here. -Alternatively, you could [contribute](../../contributing) an answer yourself. +Alternatively, you could [contribute](../contributing.md) an answer yourself. ## Questions @@ -13,7 +13,7 @@ No. The Borr Project creates guides to resources that will empower you to learn ### How can I review the math prerequisites? -See our [Pre-College Math](../../precollege-math) curriculum for a list of resources to use for reviewing the math prerequisites. +See our [Pre-College Math](../precollege-math/index.md) curriculum for a list of resources to use for reviewing the math prerequisites. ### What is a good course to learn a particular language? The Borr Project focuses on finding the best courses to learn computer science topics, and isn’t focused on finding language-specific courses. If you are looking to learn a particular language or framework there are two great resources to check. @@ -72,7 +72,7 @@ Sometimes a course is on multiple platforms that are reasonably similar in quali ### Why doesn't the curriculum cover/ignore topic X? -You can read more about our curricular guidelines and the qualifications of the guidelines' authors [here](../curricular_guidelines). If you find a topic that is required by our guidelines and is not included in the curriculum, we should make a change! Read more about [contributing to a change](../../contributing). +You can read more about our curricular guidelines and the qualifications of the guidelines' authors [here](./curricular_guidelines.md). If you find a topic that is required by our guidelines and is not included in the curriculum, we should make a change! Read more about [contributing to a change](../contributing.md). ### Why is the curriculum missing some pre-requisites? diff --git a/docs/computer-science/index.md b/docs/computer-science/index.md index da4cc61..a8ea4fa 100644 --- a/docs/computer-science/index.md +++ b/docs/computer-science/index.md @@ -22,17 +22,17 @@ but specifically chosen to meet the following criteria. - Be open for enrollment - Run regularly (ideally in self-paced format, otherwise running multiple times per year) - Be of generally high quality in teaching materials and pedagogical principles -- Match the curricular standards of the [CS 2013](curricular_guidelines): Curriculum Guidelines for Undergraduate Degree Programs in Computer Science +- Match the curricular standards of the [CS 2013](./curricular_guidelines.md): Curriculum Guidelines for Undergraduate Degree Programs in Computer Science When no course meets the above criteria, the coursework is supplemented with a book. When there are courses or books that don't fit into the curriculum but are otherwise of high quality, -they belong in [extras/courses](extras/courses) or [extras/readings](extras/readings). Some may be mentioned as supplemental to the recommended course. +they belong in [extras/courses](./extras/courses.md) or [extras/readings](./extras/readings.md). Some may be mentioned as supplemental to the recommended course. **Organization**. The curriculum is designed as follows: - *[Intro CS](#intro-cs)*: for students to try out CS and see if it's right for them - *[Core CS](#core-cs)*: corresponds roughly to the first three years of a computer science curriculum, taking classes that all majors would be required to take -- *[Advanced CS](#advanced-cs)*: corresponds roughly to the final year of a computer science curriculum, taking [electives](advanced-cs/electives/index.md) according to the student's interests and a [final project](advanced-cs/final-project/index.md) for students to validate, consolidate, and display their knowledge, to be evaluated by their peers worldwide +- *[Advanced CS](#advanced-cs)*: corresponds roughly to the final year of a computer science curriculum, taking [electives](./advanced-cs/electives/index.md) according to the student's interests and a [final project](./advanced-cs/final-project/index.md) for students to validate, consolidate, and display their knowledge, to be evaluated by their peers worldwide **Duration**. It is possible to finish within about 2 years if you plan carefully and devote roughly 20 hours/week to your studies. Learners can use [this spreadsheet](https://docs.google.com/spreadsheets/d/1Pp4z-ulYDT9Px88oTQP5FJiZWyk8LcF7cBvc6SVXu6o/) to estimate their end date. Make a copy and input your start date and expected hours per week in the `Timeline` sheet. As you work through courses you can enter your actual course completion dates in the `Curriculum Data` sheet and get updated completion estimates. @@ -52,14 +52,14 @@ just remember that you can't purchase success! **Content policy**. If you plan on showing off some of your coursework publicly, you must share only files that you are allowed to. *Respect the code of conduct* that you signed in the beginning of each course! -**[How to contribute](../contributing)** +**[How to contribute](../contributing.md)** -**[Getting help](../getting-help)** (Details about our FAQ and chatroom) +**[Getting help](../getting-help.md)** (Details about our FAQ and chatroom) ## Community - We have a Discord server! [![Discord](https://img.shields.io/discord/1385616874200371350.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/uR2QS36pdH) This should be your first stop to talk with other Borr project students. Why don't you introduce yourself right now? [Join the Borr Project Discord](https://discord.gg/uR2QS36pdH) -- You can also interact through GitHub issues. If there is a problem with a course, or a change needs to be made to the curriculum, this is the place to start the conversation. Read more [here](../contributing). +- You can also interact through GitHub issues. If there is a problem with a course, or a change needs to be made to the curriculum, this is the place to start the conversation. Read more [here](../contributing.md). > **Warning:** There are a few third-party/deprecated/outdated material that you might find when searching for Borr Project or OSSU. We recommend you to ignore them, and only use the [Borr Project website](https://borrproject.github.io). Some known outdated materials are: > - OSSU repos and websites @@ -75,22 +75,22 @@ just remember that you can't purchase success! Get a thorough idea of what it takes to begin study of Computer Science at The Borr Project. While some of these prerequisites may be daunting, they are vital for success in this curriculum. To break things up, feel free to work on Elementary Programming, an optional course that introduces the very basics of programming. -- [Prerequisites & Motivation](prerequisites/index.md) -- [Elementary Programming](prerequisites/elementary-programming.md) (Optional) +- [Prerequisites & Motivation](./prerequisites/index.md) +- [Elementary Programming](./prerequisites/elementary-programming.md) (Optional) ### Introduction to Computer Science *Timeline: 108 - 164 hours* -*Prerequisites: [High school math](../precollege-math/)* +*Prerequisites: [High school math](../precollege-math/index.md)* Get a birds eye view of what the field of Computer Science entails. Even if you have programmed in the past, you will find the MIT's Intro to CS with Python to be a great experience in teaching you the basics of computer science. Note that although the course is taught with Python, the focus of the course is not on the particular language, but core concepts of Computer Science. -- [Introduction to CS](intro-cs/index.md) +- [Introduction to CS](./intro-cs/index.md) Understanding theory is important, but you will also be expected to create programs. There are a number of tools that are widely used to make that process easier. MIT's Missing Semester is a course reviewing such tools. Learn them now to ease your future work writing programs. -- [Missing Semester](intro-cs/missing-semester/index.md) +- [Missing Semester](./intro-cs/missing-semester/index.md) ## Core CS @@ -98,72 +98,72 @@ Understanding theory is important, but you will also be expected to create progr *Timeline: 325 - 500 hours* -*Prerequisites: [High school math](../precollege-math/), [Intro CS](intro-cs/)* +*Prerequisites: [High school math](../precollege-math/index.md), [Intro CS](./intro-cs/index.md)* -Learn how to think like a programmer and build robust, well-structured, thoroughly-tested software. These courses are the cornerstone of your CS education. You will find that the practical concepts of Data Structures and Algorithms distributed throughout this pathway. More theory-oriented DSA courses come later in the theory track. +Learn how to think like a programmer and build robust, well-structured, thoroughly-tested software. These courses are the cornerstone of your CS education. You will find that the practical concepts of Data Structures and Algorithms distributed throughout this pathway. More theory-oriented DSA courses come later in the theory track. -- [Systematic Program Design](program-design/spd/index.md) -- [Class-Based Program Design](program-design/class-based/index.md) -- [Programming Languages](program-design/programming-languages/index.md) -- [Object-Oriented Design](program-design/object-oriented/index.md) -- [Software Architecture](program-design/software-architecture/index.md) +- [Systematic Program Design](./program-design/spd/index.md) +- [Class-Based Program Design](./program-design/class-based/index.md) +- [Programming Languages](./program-design/programming-languages/index.md) +- [Object-Oriented Design](./program-design/object-oriented/index.md) +- [Software Architecture](./program-design/software-architecture/index.md) ### Math *Timeline: 1 - 2 years* -*Prerequisites: [High school math](../precollege-math/)* +*Prerequisites: [High school math](../precollege-math/index.md)* Build a rigorous foundation in mathematical thinking, which is essential for mastering computer science. The goal is to sharpen your analytical thinking so you can confidently tackle complex computational and algorithmic challenges. -- [Calculus](math/calculus/index.md) -- [Discrete Mathematics](math/discrete-math/index.md) +- [Calculus](./math/calculus/index.md) +- [Discrete Mathematics](./math/discrete-math/index.md) ### Systems *Timeline: 250 - 500 hours* -*Prerequisites: [Program Design](program-design/)* +*Prerequisites: [Program Design](./program-design/index.md)* Learn how computers actually works. You will build a simulated version of a computer from scratch, learn the inner workings of operating systems, and take a look into how computers communicate with each other. This track will demystify how the programs you write actually get executed by the computer. -- [Intro to Computer Systems](systems/computer-systems/index.md) -- [Operating Systems](systems/ostep/index.md) -- [Computer Networking](systems/networking/index.md) +- [Intro to Computer Systems](./systems/computer-systems/index.md) +- [Operating Systems](./systems/ostep/index.md) +- [Computer Networking](./systems/networking/index.md) ### Theory *Timeline: 64 - 128 hours* -*Prerequisites: [Discrete Math](math/discrete-math/), [Program Design](program-design/)* +*Prerequisites: [Discrete Math](./math/discrete-math/index.md), [Program Design](./program-design/index.md)* Get a perspective into why certain ways of solving a problem are better than others. Learn about complexity and theoretical limits of algorithms. Get an idea of what computers can or cannot do. These courses are the pillars of Computer Science. -- [Theory](theory/index.md) +- [Theory](./theory/index.md) ### Ethics & Security *Timeline: 167 - 183 hours* -*Prerequisites: [Program Design](program-design/)* +*Prerequisites: [Program Design](./program-design/index.md)* Learn how to think critically about the social impact of technology and protect digital systems against evolving threats. These courses lay the foundation for responsible and secure software development. You will find concepts like privacy, threat modeling, cryptography, and ethical reasoning deeply interwoven throughout this track. -- [Ethics](ethics-security/ethics/index.md) -- [Cybersecurity Fundamentals](ethics-security/cyber-fundamentals/index.md) -- [Secure Coding Practices](ethics-security/secure-coding-practices/index.md) +- [Ethics](./ethics-security/ethics/index.md) +- [Cybersecurity Fundamentals](./ethics-security/cyber-fundamentals/index.md) +- [Secure Coding Practices](./ethics-security/secure-coding-practices/index.md) ### Applications *Timeline: 279 - 291 hours* -*Prerequisites: [Program Design](program-design/)* +*Prerequisites: [Program Design](./program-design/index.md)* Get to know how to use the skills you have learned apply to real world applications of Computer Science. Learn how to design database systems, how computer graphics work, and dip your feet into the world of machine learning. This track ends with teaching you how to tackle large sized real world projects. -- [Databases](applications/databases/index.md) -- [Machine Learning](applications/machine-learning/index.md) -- [Computer Graphics](applications/computer-graphics/index.md) -- [Software Engineering](applications/software-engineering/index.md) +- [Databases](./applications/databases/index.md) +- [Machine Learning](./applications/machine-learning/index.md) +- [Computer Graphics](./applications/computer-graphics/index.md) +- [Software Engineering](./applications/software-engineering/index.md) ## Advanced CS @@ -173,11 +173,11 @@ Get to know how to use the skills you have learned apply to real world applicati After completing every course in all previous tracks, choose a subset of courses from Advanced CS based on interest. Understand that these are electives; not every course needs to be taken. But take every course that is relevant to the field you intend to go into. You do not need to make this choice until you have completed all previous tracks, and it is suggested to only make the choice after that. -- [Electives](advanced-cs/electives/index.md) +- [Electives](./advanced-cs/electives/index.md) Afterwards, visit our Final Project page to decide how you want to cap off your Computer Science journey. There are many paths you can take your career, and it is up to you to decide where to go. -- [Final Project](advanced-cs/final-project/index.md) +- [Final Project](./advanced-cs/final-project/index.md) ### Congratulations @@ -188,7 +188,7 @@ Congratulations! What is next for you? The possibilities are boundless and overlapping: - Look for a job as a developer! -- Check out the [readings](extras/readings) for classic books you can read that will sharpen your skills and expand your knowledge. +- Check out the [readings](./extras/readings.md) for classic books you can read that will sharpen your skills and expand your knowledge. - Join a local developer meetup (e.g. via [meetup.com](https://www.meetup.com/)). - Pay attention to emerging technologies in the world of software development: + Explore the **actor model** through [Elixir](https://elixir-lang.org/), a new functional programming language for the web based on the battle-tested Erlang Virtual Machine! @@ -198,4 +198,4 @@ What is next for you? The possibilities are boundless and overlapping: ![keep learning](keep-learning.webp) ## Code of conduct -[Borr Project Code of Conduct](../coc). +[Borr Project Code of Conduct](../coc.md). diff --git a/docs/computer-science/prerequisites/index.md b/docs/computer-science/prerequisites/index.md index 6f3315a..b30e10a 100644 --- a/docs/computer-science/prerequisites/index.md +++ b/docs/computer-science/prerequisites/index.md @@ -11,9 +11,9 @@ First of all, if you do not have a strong mathematical foundation from Arithmeti Don't feel like you need to start completely from scratch as we provide diagnostic tests to determine what you need to study to be sufficiently prepared for CS. -- [Pre-College Math](/precollege-math/index.md), 0 - 2 years +- [Pre-College Math](../../precollege-math/index.md), 0 - 2 years -Secondly, there is the mental aspect of self-study. Are you prepared to commit to a routine of studying Computer Science regularly for a few years? This is a challenge for everyone, but rest assured we have resources designed to help. Be sure to join our [Discord](https://discord.gg/uR2QS36pdH) server for cohort meetings, progress sharing, tutoring, and an overall passionate community to hang out & study with. Check out [Getting Help](/getting-help.md) before asking questions. Another good read is [How to Ask Technical Questions](https://www.theodinproject.com/guides/community/how_to_ask) by The Odin Project; these tips can help you anywhere. +Secondly, there is the mental aspect of self-study. Are you prepared to commit to a routine of studying Computer Science regularly for a few years? This is a challenge for everyone, but rest assured we have resources designed to help. Be sure to join our [Discord](https://discord.gg/uR2QS36pdH) server for cohort meetings, progress sharing, tutoring, and an overall passionate community to hang out & study with. Check out [Getting Help](../../getting-help.md) before asking questions. Another good read is [How to Ask Technical Questions](https://www.theodinproject.com/guides/community/how_to_ask) by The Odin Project; these tips can help you anywhere. Here are a few courses that some may find helpful to get the right mindset necessary for self study. They are both optional, but past students have mentioned that they have been helpful. @@ -22,6 +22,6 @@ Here are a few courses that some may find helpful to get the right mindset neces Finally, if you feel like the prerequisites are too daunting, feel free to break up your math studies with some basic programming. The following course is completely optional, but it can break up the monotony of exclusively studying high school math. -- [Elementary Programming](elementary-programming/), 75 - 100 hrs +- [Elementary Programming](./elementary-programming.md), 75 - 100 hrs Once you're ready, feel free to start the [Intro Computer Science](../intro-cs/index.md) track to get an idea of what CS is all about. Afterwards, complete the [Program Design](../program-design/index.md) and [Math](../math/index.md) track in any order. Once both of those are done, you can do any of the other tracks any time. \ No newline at end of file diff --git a/docs/computer-science/program-design/class-based/index.md b/docs/computer-science/program-design/class-based/index.md index ebc4cb7..9b373ad 100644 --- a/docs/computer-science/program-design/class-based/index.md +++ b/docs/computer-science/program-design/class-based/index.md @@ -5,7 +5,7 @@ sidebar_position: 2 # Class-Based Program Design *Timeline: 104 - 130 hours* -This course studies the class-based program design and the design of abstractions that support the design of reusable software and libraries. It covers the principles of object oriented program design, the basic rules of program evaluation, and examines the relationship between algorithms and data structures, as well as basic techniques for analyzing algorithm complexity. The recommended background is [Systematic Program Design](../spd). +This course studies the class-based program design and the design of abstractions that support the design of reusable software and libraries. It covers the principles of object oriented program design, the basic rules of program evaluation, and examines the relationship between algorithms and data structures, as well as basic techniques for analyzing algorithm complexity. The recommended background is [Systematic Program Design](../spd/index.md). - https://course.ccs.neu.edu/cs2510sp22/index.html Keep in mind that the written notes are the primary source of learning in this class. Any videos should be considered supplementary. *Credit: @pulkitkrishna, Discord* @@ -81,4 +81,4 @@ To make it easier on students, a syllabus was created to give a general sequence | | [Lecture 35: Dynamic Programming](https://course.ccs.neu.edu/cs2510sp22/lecture35.html) | | Week 14 | Lecture 35: Intro to OOD part 1 | | | [Assignment 10 Part 2](https://course.ccs.neu.edu/cs2510sp22/assignment10.html) | -| | Lecture 35: Intro to OOD part 2 | \ No newline at end of file +| | Lecture 35: Intro to OOD part 2 | diff --git a/docs/computer-science/program-design/object-oriented/index.md b/docs/computer-science/program-design/object-oriented/index.md index cabb93f..43b8214 100644 --- a/docs/computer-science/program-design/object-oriented/index.md +++ b/docs/computer-science/program-design/object-oriented/index.md @@ -7,6 +7,6 @@ sidebar_position: 4 CS 3500 teaches a rigorous approach to object-oriented programming and design, with an emphasis on abstraction, modularity, and code reuse as applied to the building and understanding of large-scale systems. We will explore the basic mechanisms and concepts of object-oriented programming: object, class, message, method, interface, encapsulation, polymorphism, and inheritance. Students will gain hands-on experience with tools and techniques that facilitate the creation and maintenance of applications using the Java programming language. -This course assumes familiarity with programming in the style of *[Systematic Program Design](../spd)*, and basic knowledge of the Java programming language as introduced in *[Class-Based Program Design](../class-based/)*. +This course assumes familiarity with programming in the style of *[Systematic Program Design](../spd/index.md)*, and basic knowledge of the Java programming language as introduced in *[Class-Based Program Design](../class-based/index.md)*. - [CS 3500: Object-Oriented Design](https://course.khoury.northeastern.edu/cs3500/) diff --git a/docs/computer-science/program-design/programming-languages/index.md b/docs/computer-science/program-design/programming-languages/index.md index ebf19f3..7647700 100644 --- a/docs/computer-science/program-design/programming-languages/index.md +++ b/docs/computer-science/program-design/programming-languages/index.md @@ -11,7 +11,7 @@ This course is an introduction to the basic concepts of programming languages, w This course is neither particularly theoretical nor just about programming specifics -- it will give you a framework for understanding how to use language constructs effectively and how to design correct and elegant programs. By using different languages, you will learn to think more deeply than in terms of the particular syntax of one language. The emphasis on functional programming is essential for learning how to write robust, reusable, composable, and elegant programs. Indeed, many of the most important ideas in modern languages have their roots in functional programming. Get ready to learn a fresh and beautiful way to look at software and how to have fun building it. -The course assumes some prior experience with programming. *This is covered by the previous courses in [Program Design](../)*. +The course assumes some prior experience with programming. *This is covered by the previous courses in [Program Design](../index.md)*. - [Lecture Videos, Notes and associated files](https://courses.cs.washington.edu/courses/cse341/20sp/calendar.html) (click on the "Video Notes" link, not the "Lecture Recording" links) - [Homeworks](https://courses.cs.washington.edu/courses/cse341/20sp/homework.html) diff --git a/docs/faq.md b/docs/faq.md index d8f001f..270aa64 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -2,8 +2,8 @@ Each curriculum has its own FAQ. Here is a list of them: -- [Computer Science FAQ](../computer-science/faq) -- [Math FAQ](../math/faq) -- [Pre-College Math FAQ](../precollege-math/faq) +- [Computer Science FAQ](./computer-science/faq.md) +- [Math FAQ](./math/faq.md) +- [Pre-College Math FAQ](./precollege-math/faq.md) Some Course pages also have their own course specific FAQ. Visit them to read their FAQs. diff --git a/docs/getting-help.md b/docs/getting-help.md index cd91634..bdb2951 100644 --- a/docs/getting-help.md +++ b/docs/getting-help.md @@ -2,7 +2,7 @@ ## Check the FAQ! -Please check our [Frequently Asked Questions](../faq) to see if your question has been addressed. +Please check our [Frequently Asked Questions](./faq.md) to see if your question has been addressed. ## Ask in the chat room [![Discord](https://img.shields.io/discord/1385616874200371350.svg?label=&logo=discord&logoColor=ffffff&color=7389D8&labelColor=6A7EC2)](https://discord.gg/uR2QS36pdH) Join the Borr Project [Discord server](https://discord.gg/uR2QS36pdH)! Discord is an online chat service, similar to Slack or IRC where you can chat with other students and get help. @@ -13,4 +13,4 @@ If you need help successfully completing the content of a course or are having g ### General problems -If you have general problems with the program not specific to any course, such as preferring textbook-style learning over MOOCs, Discord is a good place to reach out to people who may have great suggestions. You might form a working group that makes the next improvement to Borr Project CS! Read more about contributing [here](../contributing). +If you have general problems with the program not specific to any course, such as preferring textbook-style learning over MOOCs, Discord is a good place to reach out to people who may have great suggestions. You might form a working group that makes the next improvement to Borr Project CS! Read more about contributing [here](./contributing.md). diff --git a/docs/math/faq.md b/docs/math/faq.md index b300a1a..e09d614 100644 --- a/docs/math/faq.md +++ b/docs/math/faq.md @@ -1,10 +1,10 @@ # Frequently Asked Questions This page answers some questions that we frequently receive about the curriculum. -If you have questions that aren't answered here, try asking through one of our [community channels](../#community). +If you have questions that aren't answered here, try asking through one of our [community channels](./index.md#community). If it seems important enough or we get asked that question a lot, we will probably add it here. -Alternatively, you could [contribute](../../contributing) an answer yourself. +Alternatively, you could [contribute](../contributing.md) an answer yourself. ## Contents @@ -21,7 +21,7 @@ Alternatively, you could [contribute](../../contributing) an answer yourself. ### How can I review the math prerequisites? Many Borr Project students choose to review math topics that they have not studied recently. -See our [Pre-College Math](../../precollege-math) curriculum for a list of resources to use for reviewing the math prerequisites. +See our [Pre-College Math](../precollege-math/index.md) curriculum for a list of resources to use for reviewing the math prerequisites. ### In what order should I take the courses? @@ -71,7 +71,7 @@ If you just want to watch the videos, it is never necessary for any edX course o ### Why doesn't the curriculum cover/ignore topic X? -You can read more about our curricular guidelines and the qualifications of the guidelines' authors [here](../curricular_guidelines). If you find a topic that is required by our guidelines and is not included in the curriculum, we should make a change! Read more about [contributing to a change](../../contributing). +You can read more about our curricular guidelines and the qualifications of the guidelines' authors [here](./curricular_guidelines.md). If you find a topic that is required by our guidelines and is not included in the curriculum, we should make a change! Read more about [contributing to a change](../contributing.md). ### Why is the curriculum missing some pre-requisites? @@ -82,4 +82,4 @@ The curriculum assumes two things: Without these assumptions, the curriculum would be out of control with trying to fill in your knowledge gaps. For those who want to study math pre-requisites, read more [here](#how-can-i-review-the-math-prerequisites) -Of course, if you find that the curriculum is missing a pre-requisite for a course that isn't part of a normal high school curriculum, please let us know! \ No newline at end of file +Of course, if you find that the curriculum is missing a pre-requisite for a course that isn't part of a normal high school curriculum, please let us know! diff --git a/docs/math/index.md b/docs/math/index.md index 7af36c8..413f996 100644 --- a/docs/math/index.md +++ b/docs/math/index.md @@ -17,7 +17,7 @@ The courses themselves are among the very best in the world, often coming from H but specifically chosen to meet the following criteria. **Courses must**: -- Match our [curricular guidelines](curricular_guidelines.md) the 2015 CUPM Guide. +- Match our [curricular guidelines](./curricular_guidelines.md) the 2015 CUPM Guide. - Be open for enrollment - Run regularly (ideally in self-paced format, otherwise running multiple times per year) - Be of high quality in teaching materials and pedagogical practice @@ -39,9 +39,9 @@ just remember that you can't purchase success! **Content policy**. If you plan on showing off some of your coursework publicly, you must share only files that you are allowed to. *Respect the code of conduct that you sign in the beginning of each course!* -**[How to contribute](../contributing)** +**[How to contribute](../contributing.md)** -**[Getting help](../getting-help)** (Details about our FAQ and chatroom) +**[Getting help](../getting-help.md)** (Details about our FAQ and chatroom) ## Community @@ -74,7 +74,7 @@ Calculus is the study of change (differential calculus) and accumulation of quan Courses | Duration | Effort | Prerequisites :-- | :--: | :--: | :--: -[Calculus 1A: Differentiation](https://openlearninglibrary.mit.edu/courses/course-v1:MITx+18.01.1x+2T2019/about) | 13 weeks | 6-10 hours/week | [high school math](../../precollege-math) +[Calculus 1A: Differentiation](https://openlearninglibrary.mit.edu/courses/course-v1:MITx+18.01.1x+2T2019/about) | 13 weeks | 6-10 hours/week | [high school math](../precollege-math/index.md) [Calculus 1B: Integration](https://openlearninglibrary.mit.edu/courses/course-v1:MITx+18.01.2x+3T2019/about) | 13 weeks | 5-10 hours/week | Calculus 1A [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 | Calculus 1B [Multivariable Calculus](https://ocw.mit.edu/courses/mathematics/18-02sc-multivariable-calculus-fall-2010/) | 12 weeks | 6 hours/week | Calculus 1C @@ -116,7 +116,7 @@ Linear algebra is the mathematics of spatial relationships that deals with the m Courses | Duration | Effort | Prerequisites :-- | :--: | :--: | :--: -[Essence of Linear Algebra](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab) | - | - | [high school math](../../precollege-math) +[Essence of Linear Algebra](https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab) | - | - | [high school math](../precollege-math/index.md) [Linear Algebra](https://ocw.mit.edu/courses/mathematics/18-06sc-linear-algebra-fall-2011/) | 14 weeks | 12 hours/week | Essence of Linear Algebra ### Probability & Statistics @@ -153,7 +153,7 @@ Abstract algebra (occasionally called modern algebra) is the study of algebraic Courses | Duration | Effort | Prerequisites :-- | :--: | :--: | :--: -[Introduction to Abstract Group theory](https://nptel.ac.in/courses/111106113) | 8 weeks | 8-10 hours/week | [high school math](../../precollege-math) +[Introduction to Abstract Group theory](https://nptel.ac.in/courses/111106113) | 8 weeks | 8-10 hours/week | [high school math](../precollege-math/index.md) [Introduction to Rings and Fields](https://nptel.ac.in/courses/111106131) | 8 weeks | 8-10 hours/week | Introduction to Abstract Group Theory @@ -176,7 +176,7 @@ Courses | Duration | Effort | Prerequisites Courses | Duration | Effort | Prerequisites :-- | :--: | :--: | :--: -[Topology Without Tears](https://www.topologywithouttears.net) | 15 weeks | 14 hours/week | [high school math](../../precollege-math), Set Theory, Knowledge of axiomatic branch of mathematics such as [Introduction to Abstract Algebra](#introduction-to-abstract-algebra) +[Topology Without Tears](https://www.topologywithouttears.net) | 15 weeks | 14 hours/week | [high school math](../precollege-math/index.md), Set Theory, Knowledge of axiomatic branch of mathematics such as [Introduction to Abstract Algebra](#introduction-to-abstract-algebra) [Euclidean plane and its relatives](https://arxiv.org/pdf/1302.1630v19.pdf) | 14 weeks | 4-6 hours/week | Elementary Set Theory, Calculus 1C, Linear Algebra [Geometry with an Introduction to Cosmic Topology](https://mphitchman.com) | 14 weeks | 14 hours/week | Multivariable Calculus [Differential Geometry](https://ocw.mit.edu/courses/mathematics/18-950-differential-geometry-fall-2008/) [(Supplementary Video Lectures)](https://www.youtube.com/playlist?list=PLIljB45xT85DWUiFYYGqJVtfnkUFWkKtP) | 10 weeks | 6-8 hours/week | Multivariable Calculus, Introduction To Analysis and Linear Algebra @@ -202,4 +202,4 @@ What is next for you? The possibilities are boundless and overlapping: - Pay attention to emerging ideas in mathematics by subscribing to a math journal or joining a professional math organization. ## Code of conduct -[Borr Project Code of Conduct](../coc). +[Borr Project Code of Conduct](../coc.md). diff --git a/docs/precollege-math/faq.md b/docs/precollege-math/faq.md index 1a63310..23fd41a 100644 --- a/docs/precollege-math/faq.md +++ b/docs/precollege-math/faq.md @@ -1,7 +1,7 @@ # Frequently Asked Questions This page answers some questions that we frequently receive about the curriculum. -If you have questions that aren't answered here, try asking through one of our [community channels](index.md#community). +If you have questions that aren't answered here, try asking through one of our [community channels](./index.md#community). If it seems important enough or we get asked that question a lot, we will probably add it here. Alternatively, you could [contribute](../contributing.md) an answer yourself. @@ -43,7 +43,7 @@ Some may find using a textbook to supplement their learning useful. However, usi #### What book do I use? -Check out [extras/readings](extras/readings.md) for a list of textbooks you can use to aid your studies. +Check out [extras/readings](./extras/readings.md) for a list of textbooks you can use to aid your studies. #### Where can I find answers to the questions in the textbook? @@ -73,7 +73,7 @@ It would be ideal if graded assignments were always free. In the event that free ### Why doesn't the curriculum cover/ignore topic X? -You can read more about our curricular guidelines and the qualifications of the guidelines' authors [here](curricular_guidelines.md). If you find a topic that is required by our guidelines and is not included in the curriculum, we should make a change! Read more about [contributing to a change](/contributing.md). +You can read more about our curricular guidelines and the qualifications of the guidelines' authors [here](./curricular_guidelines.md). If you find a topic that is required by our guidelines and is not included in the curriculum, we should make a change! Read more about [contributing to a change](../contributing.md). ### Is Geometry necessary for Calculus or Computer Science? @@ -84,7 +84,7 @@ Yes. Geometry is a major prerequisite to Trigonometry, which in turn is used tho It is very common to find lessons for single math topics on the internet. It is rarer to find an entire course that covers all the math topics. If you are looking for a resource that goes more in depth into a topic you are struggling with, we recommend searching [Google](https://www.google.com/) or [YouTube](https://www.youtube.com/) for that topic. -[r/learnmath](https://www.reddit.com/r/learnmath/comments/8p922p/list_of_websites_ebooks_downloads_etc_for_mobile/) has a list of resources that you may find useful. Also, be sure to check out [extras/courses](../extras/courses) and [extras/readings](../extras/readings)! +[r/learnmath](https://www.reddit.com/r/learnmath/comments/8p922p/list_of_websites_ebooks_downloads_etc_for_mobile/) has a list of resources that you may find useful. Also, be sure to check out [extras/courses](./extras/courses.md) and [extras/readings](./extras/readings.md)! ### Why not Khan Academy, Professor Leonard, and/or `insert favorite resource here`? diff --git a/docs/precollege-math/index.md b/docs/precollege-math/index.md index 193ef5e..6fcf74a 100644 --- a/docs/precollege-math/index.md +++ b/docs/precollege-math/index.md @@ -16,9 +16,9 @@ The courses are specifically chosen to meet the following criteria. - Be open for enrollment - Run regularly (ideally in self-paced format, otherwise running multiple times per year) - Be of generally high quality in teaching materials and pedagogical principles -- Match the [Curricular Guidelines](curricular_guidelines.md), which roughly corresponds to the [Common Core](https://www.thecorestandards.org/Math/) +- Match the [Curricular Guidelines](./curricular_guidelines.md), which roughly corresponds to the [Common Core](https://www.thecorestandards.org/Math/) -When there are courses or books that don’t fit into the curriculum but are otherwise of high quality, they belong in [extras/courses](extras/courses.md) or [extras/readings](extras/readings.md). Of course, some may be mentioned on the course page as a supplemental resource. +When there are courses or books that don't fit into the curriculum but are otherwise of high quality, they belong in [extras/courses](./extras/courses.md) or [extras/readings](./extras/readings.md). Of course, some may be mentioned on the course page as a supplemental resource. **Cost**. All or nearly all course material is available for free. Some supplemental resources may come at a cost, but the core curriculum remains free. @@ -43,49 +43,49 @@ just remember that you can't purchase success! Most of The Borr Project's Pre-College Math Curriculum is based on the excellent problem sets created by Matthew Dellinger at [The College Prep School](https://www.youtube.com/@thecollegeprepschool4486/playlists) (TCPS), used by permission. While some prefer to learn from other resources, we still recommend completing the problem sets from TCPS. Before you begin your Pre-College Math studies, we recommend taking some tests to determine where you should start. Likely, you have already completed some math education, so it would be better to start ahead. -- [Assessment Tests](assessment.md) +- [Assessment Tests](./assessment.md) ## Arithmetic *Timeline: 156 hours (videos: 52 hours, homework: ~104 hours)* If you have no math experience, we recommend starting here. You will become proficient in basic arithmetic which is required for higher level math. -- [Arithmetic](02-arithmetic/index.md) +- [Arithmetic](./02-arithmetic/index.md) ## Pre-Algebra *Timeline: 84 hours (videos: 28 hours, homework: ~56 hours)* This could also be called an introduction to algebra since it begins the study of variables, negative numbers, and multi-step equations, among other things. -- [Pre-Algebra](03-pre-algebra/index.md) +- [Pre-Algebra](./03-pre-algebra/index.md) ## Algebra 1 *Timeline: 150 hours (videos: 50 hours, homework: ~100 hours)* This class teaches proficency in factoring, solving, & manipulating algebraic equations which are topics many students have trouble with in later courses. -- [Algebra 1](04-algebra-1/index.md) +- [Algebra 1](./04-algebra-1/index.md) ## Geometry *Timeline: 189 hours (videos: 63 hours, homework: ~126 hours)* Here, the student will be introduced to proofs for the first time as well as formulas, theorems, & basic trigonometry, all of which are necessary for higher education. -- [Geometry](05-geometry/index.md) +- [Geometry](./05-geometry/index.md) ## Algebra 2 *Timeline: 156 hours (videos: 52 hours, homework: ~104 hours)* This course solidifies what was taught in Algebra 1, along with introducing the student to many important concepts such as roots, exponents, logarithms, transformations, functions, and more. -- [Algebra 2](06-algebra-2/index.md) +- [Algebra 2](./06-algebra-2/index.md) ## Trigonometry *Timeline: 135 hours (videos: 45 hours, homework: ~90 hours)* A rigorous study of trigonometric equations, identities, transformations, laws, and more. These will come up frequently enough in Calculus that students who skip Trigonometry studies often struggle down the line. -- [Trigonometry](07-trigonometry/index.md) +- [Trigonometry](./07-trigonometry/index.md) ## Precalculus *Timeline: 219 hours (videos: 73 hours, homework: ~146 hours)* As the capstone of the Pre-College Math Curriculum, this course finalizes the understanding of Algebra & Trigonometry a student needs to be successful in Calculus. Notable topics include conics, sequences/series, probability, & basic linear algebra. -- [Precalculus](08-precalculus/index.md) +- [Precalculus](./08-precalculus/index.md) ## Congratulations