You can find this list in my notion page
During my journey as a self-taught Software Engineer, I have stumbled on many courses throughout the years. Some of them were good, some of them were bad and chaotic. The problem I found was not the lack of courses but the huge amount of courses that were not helpful at all, and all they did is waste my time and confuse me further.
So I ought to make this list of the most astounding courses I have used and learned from which impacted my knowledge greatly and helped me build the critical thinking I have.
Most of the courses on the list are free or there is a way to get them for free. I will talk about each course and how to get it if it is paid.
You can contact me here:
Social Media: @tahabsn
Github: @skywolfmo
1 - General:
1-1 Programming languages
Learning a programming language is a must for everyone that is interested to start a career in tech.
- Basics of Computer Science from MIT: https://www.youtube.com/watch?v=nykOeWgQcHM&list=PLUl4u3cNGP63WbdFxL8giv4yhgdMGaZNA
- Python
- Javascript
1.2 Soft Skills
- Fast Typing: 15 min a day for 15 days and you will reach +50 WPM. I think it is better to learn the Qwerty layout first, it is easier to code with.
- https://www.keybr.com/ : This is the one I have used
- https://10fastfingers.com/ : I have used this one once I have reached 60 WPM to get familiar with popular English words.
- https://typing.com/ : I have used this one to learn the Dvorak keyboard layout.
- Academic Writing
- phrase templates: https://en.bab.la/phrases/academic/opening/english-french
- Coursera: https://www.coursera.org/specializations/academic-english
- Grammar corrector: from schlock to Shakespeare
- Efset (toefl alternative) test your English Level
Software Project Management:
- Coursera: (Google Project Management) https://www.coursera.org/professional-certificates/google-project-management
- Coursera: (Software Project management Specialization - University of Alberta Canada) https://www.coursera.org/specializations/product-management
Software Architecture:
- Coursera: https://www.coursera.org/specializations/software-design-architecture
- Educative: https://www.educative.io/courses/web-application-software-architecture-101
- Design Pattern: https://refactoring.guru/design-patterns/
Popular Road-maps:
- Web Developer: https://github.com/kamranahmedse/developer-roadmap
- Data Scientist: https://i.am.ai/roadmap/#introduction
Web Dev:
Node Js:
- Great simple course: https://www.educative.io/courses/learn-nodejs-complete-course-for-beginners (Note: Take educative’s web application software architecture 101 course first)
- General Project Architecture and best practices: https://github.com/santiq/bulletproof-nodejs
Computer Vision:
- Udacity (Intro to Computer Vision)(!!Highly recommended): https://classroom.udacity.com/courses/ud810
Data Science:
- Data Science tools Cheat Sheet: https://www.mit.edu/~amidi/teaching/
- Machine learning, Deep Learning, Artificial Intelligence, Math Cheatsheets: https://stanford.edu/~shervine/teaching/
Machine Learning
- Kaggle: https://www.kaggle.com/learn
- Udacity (Machine Learning)(!! Highly Recommended): https://www.udacity.com/course/intro-to-machine-learning--ud120
- Udacity Machine Learning: https://classroom.udacity.com/courses/ud262
- https://github.com/instillai/machine-learning-course
Deep Learning
- MIT Deep Learning Course (Seems quite interesting): http://introtodeeplearning.com/
- Udacity (Deep Learning Tensorflow): https://classroom.udacity.com/courses/ud187
- Udacity (Deep Learning PyTorch): https://classroom.udacity.com/courses/ud188
- Coursera (Deep Learning): https://www.coursera.org/specializations/deep-learning
Tensorflow
- https://www.coursera.org/professional-certificates/tensorflow-in-practice
- https://www.coursera.org/professional-certificates/preparing-for-google-cloud-machine-learning-engineer-professional-certificate
Data Visualization
- https://www.educative.io/courses/matplotlib-for-python-visually-represent-data-with-plots
- https://www.educative.io/courses/python-data-analysis-and-visualization
- https://www.kaggle.com/learn/data-visualization
Git and Github:
- Simple git and GitHub course: https://github.com/bobbyiliev/introduction-to-git-and-github-ebook
- Qwiklabs: https://www.qwiklabs.com/focuses/850
- Udacity: https://www.udacity.com/course/version-control-with-git--ud123
General Resources:
- Goldmine: https://github.com/bradtraversy/design-resources-for-developers#html--css-templates (free templates and resources for your web dev projects)
- Create a great README file for your GitHub project: https://github.com/kylelobo/The-Documentation-Compendium
- Free Courses: https://freecourses.github.io/category/git
Data Data Everywhere
- simply Workera.ai Fine-tune your hyper-parameters
AI\Machine Learning
- Chart Types Consult the following resources for more details on visual encodings, data relationships, and chart types.
- Stephen Few’s article on Selecting the Right Chart Type
- Stephen Few’s Graph Selection Matrix
- Andrew Abela’s Chart Suggestions
- Solomon Messing’s When to use stacked bar charts?
Common Chart Types from Duke Introduction to Data Visualization Guide
Racial Dot Map by Dustin Cable
A Tour through the Visualization Zoo by Jeff Heer, Mike Bostock, and Vadim Ogievetsky
Bullet Graph
Stephen Few developed the bullet graph to replace meters and gauges that often fill too much valuable space on dashboards. You can read more about bullet graphs on wikipedia.
Sparklines
Edward Tufte invented these bit-sized graphics to pack a punch of information in a small chart area. A reader can quickly see historical trends, anomalies, and the current status of a metric by viewing a sparkline. You can read more about sparklines on wikipedia.
Cycle Plots
Originally created by Cleveland, Dunn, and Terpenning in 1978, cycle plots offer a way to investigate time series data in a different way than conventional line charts.
Connected Scatter Plots
Think back to the Gapminder data visualization. Could you reveal the same patterns in the data over the years without animation?
Alberot Cairo says “Yes!”. Alberto praises connected scatter plots and shares examples of them on his blog, The Functional Art.
Violin Plots
Violin plots are similar to box plots, except that they show the probability density of the data at different values. Nathan Yau describes violin plots and other ways to visualize and compare distributions on his blog Flowing Data.
Rules for Using Color by Stephen Few
Practical Rules for Using Color by Stephen Few
Daniel Huffman’s Cartastrophe
Cynthia Brewer’s ColorBrewer
Adobe’s Kuler is now named Adobe’s Color CC
Why Rainbow Colors Aren’t the Best Option for Data Vis
Different Types of Color Blindness
Choosing Color Palettes Part 1 (R Bloggers)
Choosing Color Palettes Part 2 (R Bloggers)
Color Blind Palettes (R CookBook)
Gestalt Principles of Perception
We organize what we see in particular ways to make sense of visual information. There are six principles that influence the ways human see and understand visuals.
PROXIMITY
SIMILARITY
FIGURE AND GROUND
CONTINUITY
CLOSURE
SIMPLICITY
Take 15-20 minutes to review the following resources, and think about how you might use these principles when designing data visualizations. Many of these principles play an important role in choosing visual encodings and creating a hierarchy of information in a graphic.
The Gestalt Laws of Perception
Gestalt Principles for Data Visualization (Similarity, Proximity, and Enclosure)