Note:
- Repository is under construction.
- It was a personal note but I thought it might help others.
- Therefore, I never needed to write this README. This also applies to a lot of things (E.g., some tags in "Uncurated Resources" file you will see below).
- Therefore, a lot of information are still unwritten.
- Unfortunately, I do not have time to write everything in my head here; but by time I shall provide enough.
- Feel free providing suggestions.
- It is not what you know, it is what you remember. It is not what you have but what you can reach when you need to.
This repository is OSSU + Awesome Repository on steroids. Specifically, you can find both, the resources & students studying from same source or same topic in The Discord Server (AOC (Active Open Courses For English) or AC (Active Courses For Arabic)).
- As compared to OSSU, you aren't limited by the provided course; You can find other courses, there comparison and chose what course you want to study.
- OSSU have missing crucial subjects, such as Problem Solving, which aren't provided in this repository.
- AC has both, channels to specific courses (like OSSU) & channels for general topics (E.g., Algorithms).
- Maintaining guidelines for chatting in the server (How to ask, how to discuss...)
- The discord server is partially in Arabic but can be fully converted to English in case people are interested. Open an issue requesting such thing and If I found traffic, I will start Investing effort; Otherwise I won't waste efforts.
- You can't discuss uncovered topics in OSSU's discord server but you can in this server.
- As compared to Awesome, Resources are rated by older students, more abundant & categorized.
- Some sources (E.g., FreeCodeCamp) provide multiple contents (E.g., Backend Web & machine learning); In Awesome, they are just stored as a single link; Meanwhile, It is stored here alongside every content they provide. All you need to find a content resource is just clicking on its relative tag.
- Scientific content prerequisites are maintained in a file (will be mentioned below) which Awesome doesn't provide.
Briefly, This repository blends MOOCs benefits & amends to their concepts by a lot.
- Go to Resources; Search & pick the subject. (Optional: Revise on the courses "Decision Reasons List" & "Alternatives List" that contains comparison; Pick what suits (Optional is currently not ready))
- If topic doesn't already exist:
- Clone repository.
- Download & Install Obsidian. Then learn how to search tags.
- Search for the topic name in [[Map]].
- Manually search for tags from top to bottom.
- E.g., if you want to learn Spring then first search for Java and check the current sources if they do have spring course (even though the tags don't say so).
- Click on tag to search through [[Uncurated Resources]] file & its own folder. (Remember to read [[Uncurated Resources#Notes]])
- Search for resources via [[Uncurated Resources#MOOCs]]
- Search for resources in popular in [[Uncurated Resources#Multi-Stack Provider]] & [[Uncurated Resources#Multi-Category Provider]]
- Search for resources via googling (Google, DuckDuckgo, Bing, Yandex, Yahoo).
- If you are searching for a newly added tag to Map, Research for #NACRW because it might be available inside of an already existing source but I never wrote (to make it brief & concise).
- Manually search for tags from top to bottom.
- Check all resources -that have the same tag- and filter/curate them.
- Try each by yourself first.
- Check for friend's review/Comparisons or reviews on courses website.
- Choose your main learning resource/course. It must be "Interactive", have a "good rating/reputation" (E.g., Check where Alumni work currently).
- (Optional) chose supporting resources; They don't need to be Interactive and it will be helpful if they are reputable. It will be great if they have an active community like FCC.
- Check How to contribute?/Curate Resources section for the remaining steps.
- Contribution is divided into two aspects; Resources & Discord.
- Contribution to Resources:
- Add uncurated resource if it complies with the guidelines below:
- Course Requirements:
- It shall be taught by an expert in the same field he is teaching. So, if it is a scientific course ( E.g., Algorithms), It shall be provided by a university or a Professor only. If it is a technology, It shall be taught by a senior (5 Years at least of experience in the field he is teaching).
- It is better if the course is interactive. (Not mandatory)
- It is better if the course is reputable. (Not mandatory)
- Writing style: Currently there are non, but you can intuitively inspect them; Resources in [[Uncurated Resources]] are sectioned into headings; Write your resource in the same manner that others -under same heading- were written.
- Course Requirements:
- Curate Resources from [[Uncurated Resources]] after following the guidelines below:
- Try at least two alternatives.
- Compare them objectively as the following example:
- Princeton Algorithms doesn't require background knowledge in Discrete math as compared to MIT or Stanford.
- Level of Instruction Quality doesn't change in Princeton as compared to San Diego because the instructor is the same for all topics.
- San Diego provides more problem solving to topics than any other course.
- Stanford Explains Divide and conquer, Greedy and much more than Princeton doesn't explain.
- Stanford Explains uncovered topics in Princeton such as Algorithms analysis.
- Write down your choice, your "Decision Reasons List" (above comparison), and their order (from POV of quality) in "Alternatives List" in [[Resources]].
- Add the bad resources to [[Garbage]] alongside reason (Spam, low quality...).
- Add uncurated resource if it complies with the guidelines below:
- Contribution to Discord server:
- You can moderate people using the guidelines.
- You can suggest enhancements to the server (E.g., a bot) to make it more helpful to others.
- How is the resources in the repository designed?
- All contents are a tag, ordered in [[Map]], and mentioned in each source that provides it.
- Why use Obsidian?
- Because it is easier & faster for me to add & search for resources without missing out some of them due to their abundance.
- The alternative way is to build a DB or a Search Engine for them which is tremendous effort with no further reward more than what Obsidian already provides.