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 SCRUM for Project Management
-
Learn Python
- Python Tutorial
- Make sure you do all Python development in a virtual environment: Python venv
-
Learn Git
You will use Git to maintain your code, so the first step is to learn this tool. -
Learn LangChain and RAG (this is the most essential aspect of this course)
-
Understand the Concept of Full-Stack Development
-
Learn about REST APIs
-
Learn the Flask Framework (or Node.js) (OPTIONAL, see 10)
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 10)
-
Learn a Database
- Choosing the Right Database
- Decide between SQL and NoSQL. You may also need a Graph database.
- Alternative to 7 and 8: 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
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.