04 - Six Quarters
Start at the End
I started with two very high level questions:
- What is the end goal here?
- What should a CS17 pass out be capable of?
Now these can’t have a “fixed” skill outcome like: “proficient in MERN stack”, “good at programming in Python”, etc. The field of Computer Science is changing at a rapid pace and they should be able to self-learn and adapt. They will self-learn and adapt only when they are curious. So, if by the end of the program we are able to give them the foundations of computer science (and problem solving) and spark some curiosity for the field, they should be ready to fly.
In my opinion, a good engineer is good at figuring things out on her own, given the right direction. This will be one of my primary goals.
High Level Structure
The following sections contain the curriculum at a very level and I might shuffle or add stuff iteratively.

Q1
English communication: Read, Write, Listen, Speak. All of it is equally important.
But they can’t just be learning English for the full 3-months, they will get bored, and even might not understand the full picture. So, I plan to give them a high level overview of the programme at the very start. And sprinkles of general technology related discussed throughout.
Q2
- Understanding Technology
- Using essential software tools: terminal, docs, sheets, slides.
- Discrete Mathematics (sets, functions, etc.)
- Pillars of Programming with Scratch
Q3
- OS / Computer Architecture
- Python
- Version Control with Git/GitHub
- C
Q4
- SQL (SQLite)
- Algorithms & Data Structures
- Problem Solving (will probably use AoC puzzles a lot during this phase)
- Basic of Web Development
- What is internet?
- DNS
- Protocols
- The TCP/IP stack
- CRUD with Flask (combine with SQL covered earlier)
- Project: Basic Web Portal
Q5
- Web Development In-depth
- MVC
- Core pieces of a complex web application (cache, queue, webhooks, etc.)
- Cloud Computing (basics of hosting, AWS, Cloudflare)
- Databases (a peek behind the scenes)
- Working with files and multimedia (PDFs, images, audio, text files)
- Project: Team Non-trivial Web Platform
Q6
- Frappe Framework and Apps
- Unit Testing, Integration Testing (with playwright)
- Project: Individual Capstone
Extra Classes
I plan to cover these along with the core curriculum, but they don’t have a definitive place yet.
- Use of AI / LLMs
- Meta-programming: Know your tools. Inspired by the missing semester.
- Cyber security
- Figma
- The Art of Debugging (breakpoint debugging with pdb)
- UI/UX and principles of Visual Design
- Data Analytics (useful for complex reports etc. Probably with
pandas)
Raw Ideas
- An overview of Mobile and Game Development (probably guest lectures)
- Software Development Methodologies (some theory of SDLC, Agile)
Assessments
There will be Quarterly “Reviews” or assessments. This would be mostly practicals in case of the CS Curriculum.