Hi, I use The Ultimate Python Roadmap article and create my own file with that guideline.
- Data Types
- Lists
- Strings
- Tuples
- Sets
- Floats
- Ints
- Booleans
- Dictionaries
- Control Flow/Looping
- for loops
- while loops
- if/elif/else
- Arithmetic and expressions
- I/O (Input/Output)
- Sys module
- Standard input/output
- Reading/writing files
- Functions
- Exceptions and Error Handling
- Basics of object oriented programming (OOP) (Simple classes).
- Recursion
- Regular Expressions
- More advanced OOP
- Inheritance
- Polymorphism
- Encapsulation
- Method overloading
- Data Structures
- Linked lists
- Stacks, Queues
- Binary Search Trees
- AVL Trees
- Graphs
- Minimum Spanning Trees
- Hash Maps
- Algorithms
- Linear Search
- Binary Search
- Hashing
- Quicksort
- Insertion/Selection Sort
- Merge Sort
- Radix Sort
- Depth First Search
- Breadth First Search
- Prim's Algorithm
- Dijkstra's Algorithm.
- Algorithmic Complexity
- Big O notation
- Statistics
- Probability
- Brute Force search
- Heuristic search
- Manhattan Distance
- Admissible and Informed Heuristics
- Hill Climbing
- Simulated Annealing
- A* search
- Adversarial Search
- Minimax
- Alpha-Beta pruning
- Greedy Algorithms
- Dynamic Programming
- Genetic Algorithms
- Artificial Neural Networks
- Backpropagation
- Natural Language Processing
- Convolutional Neural Networks
- Recurrent Neural Networks
- Generative Adversarial Networks
- Computer networks (Don't need to go into heavy detail but an understanding is necessary)
- Backend web dev tools (This is for app logic and interfacing with databases etc).
- Flask
- Django
- Front end framework (This is for communicating with the backend)
- Angular 6+
- React/Redux (These are libraries not frameworks but most consider them a framework)
- With frontend you'll also need
- HTML
- CSS
- Javascript (also good to learn typescript which is used in angular. It makes writing Javascript nicer).
- Relational database (Pick one and learn it, they're all quite similar)
- MySQL
- PostgreSQL
- Non-relational
- MongoDB
- Apache Cassandra (Wide-Column)
- Caching Systems
- MemcacheD
- Redis
- Cloud Computing (Knowledge of cloud computing is important nowadays)
- AWS (Offers the most services and has a 1 year free tier) Google Cloud
- Azure
- Other 'Must Knows'
- Version Control
- Git (start using Github straight away, it's your portfolio!!!)
- SQL (Relational and Non-Relational Databases - Almost everywhere nowadays)
- Code Quality / Engineering Best Practices
- Basics of Cloud Computing - Pick a provider and start learning (AWS recommended - biggest selection of services)
- Scalable Systems Design - (https://github.com/donnemartin/system-design-primer)