Spring, 2024
This course equips students with essential knowledge in software development, focusing on service-oriented architecture (SOA). Upon completion, participants will understand how to align services with business processes. Additionally, they will gain skills in developing a compact service-oriented information system, and acquire insights into various aspects such as message exchange types, service life cycle, performance, and security. Each semester, the course content is dynamically tailored, with the lecturer selecting relevant topics for a mix of lectures and practical sessions. This semester, the course is divided into three segments:
Prior knowledge is required for this course. It is essential for students to have proficiency in programming languages, particularly Java and Python, and a strong foundation in database systems, including both SQL and NoSQL databases.
Course's credits and time allocation:
Evaluation categories | Weight (%) | Types |
---|---|---|
Process evaluation 1 | 10 | Process Exercise |
Process evaluation 2 | 20 | Essay |
Mid-term project | 20 | Assignment |
Final project | 50 | Report |
In this semester, I'm excited to enhance our course by integrating a cutting-edge AI-chatbot, powered by Large Language Models (LLMs). I'm proud to introduce KamiMind, an innovative, user-friendly, no-code platform that allows you to easily create and engage with advanced AI models on your own data. Starting from December 13, 2023, KamiMind supports three leading hyper AI models: Claude, Google Gemini Pro, and OpenAI's GPT-3 and GPT-4 Turbo. Additionally, the platform features unique models developed by our talented in-house AI engineers, further enriching your learning experience.
Weeks | Topics | Resources |
---|---|---|
1 |
Chapter 0: Course Introduction Chapter 1: What Are Microservices? — Practice 1: - Programming API with Java |
ch00.pdf ch01.pdf — Practice 1 |
2 |
Chapter 1: What Are Microservices? (cont.) — Practice 2: - Python Type Hints - Pydantic Module - Python Concurrency |
ch01.pdf — Practice 2 |
3 |
Chapter 2: How to Model Microservices — Practice 3: - FastAPI Introduction - Path & Query Parameters - Request Body |
ch02.pdf read02.pdf — Practice 3 |
4 |
Chapter 3: Splitting the Monolith — Practice 4 (A): - Query Parameters and String Validations - Path Parameters and Numeric Validations Practice 4 (B): |
ch03.pdf async_sync.pdf — Practice 4 (A) Practice 4 (B) |
5 |
Chapter 4: Microservice Communication Styles — Practice 5: - Body - Multiple Parameters, Fields, Nested Models - Declare Request Example Data - Extra Data Types - Cookie Parameters - Header Parameters |
ch04.pdf — Practice 5 |
6 |
Chapter 4: Microservice Communication Styles (cont.) — Practice 6: - Response Model - Return Type - Extra Models - Response Status Code |
ch04.pdf — Practice 6 |
7 |
Chapter 5: Implement Microservice Communication (Part 1) — Practice 7: - Form Data |
ch05a.pdf — Practice 7 |
8 |
Chapter 5: Implement Microservice Communication (Part 1) [cont.] — Practice 8: - Request Files - Request Forms and Files - Handling Errors |
ch05a.pdf — Practice 8 |
9 |
Chapter 5: Implement Microservice Communication (Part 2) — Practice 9: - Path Operation Configuration - JSON Compatible Encoder - Body - Updates |
ch05b.pdf — Practice 9 |
10 |
Chapter 5: Implement Microservice Communication (Part 2) [cont.] — Practice 10: - Dependencies |
ch05b.pdf — Practice 10 |
11 |
Chapter 6: Workflow — Practice 11: - Security |
ch06.pdf — Practice 11 |
12 |
Chapter 6: Workflow (cont.) — Practice 12: - Middleware - CORS (Cross-Origin Resource Sharing) - SQL (Relational) Databases — Report: Mid-term Project |
ch06.pdf — Practice 12 |
13 |
Practice 13: Bigger Applications - Multiple Files — Report: Mid-term Project |
Practice 13 |
14 |
Final Project Report — Read: Chapter 14 [1] |
— |
15 |
Final Project Report — Read: Chapter 15, 16 [1] |
— |
Info Use the account provided by TDTU to access the above resources.
Info I welcome everyone to become a teaching assistant for this course, do not hesitate to drop me an email at dhp@fastai.dev.
Sign up with your email address at this form to receive news and updates.