← Back to Course

Computer Programming 2

DE6412 — Thursdays 1 pm – 6 pm

Semester: S2 2026

Course Code: DE6412

Schedule: Thursdays, 1:00 pm – 6:00 pm

Duration: 15 weeks + Examination Period

Week Date Lecture Topic Lab Activity
Week 1 16/07/2026 Course Introduction & Python Review Reviewing python data structures, built in functions, libraries
Week 2 23/07/2026 Introduction to RAD (Rapid Application Development) & Modern Development Practices Introduction to RAD & Git Collaboration Exercises
Week 3 30/07/2026 Virtual Environments & Package Management (venv, pip, requirements.txt)
Lab 1: Building a Simple GUI Calculator with Virtual Environments
Week 4 06/08/2026 Object-Oriented Programming Fundamentals (classes, objects, inheritance) Building basic OOP applications
Week 5 13/08/2026 Advanced OOP Concepts (polymorphism, encapsulation, design patterns) Implementing design patterns in Python
AssignmentWeek 6 20/08/2026 API Fundamentals (REST, HTTP methods, JSON) & Assignment 1 Due Consuming public APIs with requests library & Assignment 1: OOP Practice Project
Week 7 27/08/2026 Building APIs with FastAPI/Flask Building APIs with FastAPI/Flask Exercises
Week 8 03/09/2026 Building APIs with FastAPI/Flask (API Development Continuation)
Lab 2: Real-Time Data Analysis of an Engineering Application
Break 10/09/2026 Mid-Semester Break No Classes
Break 17/09/2026 Mid-Semester Break No Classes
Week 9 24/09/2026 Revision & Project Work Practice and assignment preparation
Week 10 01/10/2026 Lecture 8: Flask for Beginners — Build Simple APIs

Web server basics, Flask routing, request methods (GET/POST), returning JSON, building simple API endpoints

FastAPI & Flask API Practice

Exercises on building endpoints and handling HTTP requests

TestWeek 11 08/10/2026 Test (Weeks 1-7 content) Test Review & Practice
Week 12 15/10/2026 Lecture 9: Containerization & Docker Basics — To-Do App with Flask + Docker

Docker architecture, Dockerfile instructions, building custom Flask images, port mapping, environment variables, multi-stage builds

Lab 3: Introduction to Docker & Containerization

Dockerizing existing python applications and orchestrating basic containers

AssignmentWeek 13 22/10/2026 Lecture 10: JavaScript, WebSockets & IoT Web Application

JavaScript Fundamentals (DOM manipulation, fetch API), WebSockets for real-time bi-directional communication, Mini Project: Real-Time Temperature Monitoring System

Lab 4: Introduction to n8n Automation

Connecting frontend clients to websocket servers for live updates

Week 14 29/10/2026 Lecture 11: Workflow Automation with n8n

Workflow automation with n8n, visual programming nodes, HTTP request nodes, Webhooks, automating responses, integrating FastAPI with n8n

Practice and assignment preparation

Building automated APIs and monitoring services using n8n workflows

Week 15 05/11/2026 Final Examination preparation Final Examination preparation
ExamWeek 16 12/11/2026 Examination Period Examination Period
ExamWeek 17 19/11/2026 Examination Period Examination Period

Key Deliverables & Assessments

Week Assessment Due Date Weight
Week 3 Lab 1: Building a Simple GUI Calculator with Virtual Environments 31/07/2026 10%
Week 6 Assignment 1: OOP Practice Project 21/08/2026 5%
Week 8 Lab 2: Real-Time Data Analysis of an Engineering Application 04/09/2026 10%
Week 11 Mid-semester Test (Weeks 1-7 content) 08/10/2026 10%
Week 12 Lab 3: Introduction to Docker & Containerization 16/10/2026 10%
Week 13 Assignment 2: Complete Web GUI + API + Docker project 23/10/2026 5%
Week 13 Lab 4: Introduction to n8n Automation 23/10/2026 10%
Week 16 Final Examination TBC (12/11/2026) 40%