To provide guidance to students who may be new to development, here is a sequence of topics the students should learn to develop a working project.
-
Learn Git
You will use Git to maintain your code, so the first step is to learn this tool. -
Learn Python
- Python Tutorial
- Make sure you do all Python development in a virtual environment: Python venv
-
Understand the Concept of Full-Stack Development
-
Learn about REST APIs
-
Learn the Flask Framework (or Node.js) (OPTIONAL, see 8)
Flask is a Python-based framework for handling backend APIs. It's easier if you already know Python. If you're more comfortable with JavaScript, Node.js is a good alternative. -
Learn a Web Frontend Framework (OPTIONAL, see 8)
-
Learn a Database
- Choosing the Right Database
- Decide between SQL and NoSQL. You may also need a Graph database.
-
Alternative to 5 and 6: Learn Streamlit
Streamlit combines frontend and backend into a single Python framework, but it offers less flexibility. I recommend this framework for this course to save time. -
Learn Deployment and Packaging with Docker and Docker Compose
-
Learn SCRUM for Project Management
My last tip is, use ChatGPT to understand topics in more depth. I have found it to be very effective in these topics, and can also produce for you code and templates which you can use directly in your projects.