Computer Science and Software Development
Program's Goal: Building Technical Builders, Software Developers, and Early-Stage CTOs.
This program is not designed to produce employees; it is designed to produce techical builders. The curriculum assumes that technology startups are built by people who understand systems end-to-end: math \(\rightarrow\) computation \(\rightarrow\) systems \(\rightarrow\) product \(\rightarrow\) users.
A bachelor’s program is usually four years long. This duration exists to give you time to build foundations before you specialize, and to revisit ideas often enough that they actually stick. The program is usually divided into 8 terms, each designed to teach one important way of thinking and give you enough practice to see where it breaks.
The aim isn’t to rush toward expertise, but to build something solid enough for lifetime!
TERM 1: Foundations + First Ship
| Course Code | Course | Objective |
|---|---|---|
| MATH 101 | Linear Algebra | Learn the language of high-dimensional thinking. It's the backbone of modern ML, computer graphics, optimized systems and many other computational ideas. It's the language of how every kind of data is interpreted by the computers. |
| MATH 102 | Calculus | Data changes with time. Systems evolve with time. This course is important to create a mental model of rates of change. |
| CS 101 | Introduction to Computational Thinking | This course will transition you from "this is a problem" to "this is a problem a computer can solve". Learn to think in abstractions and steps that computers can execute. |
| CS 102 | Programming Paradigms | See that programming is about ideas, not syntax. Different paradigms teach different ways to think and yet reach at the same outcome. |
| CS 103 | Fundamentals of Web Development | The course wants you to ship your code as early as week one! You'll learn faster when you'll actually build things. |
| HUM 102 | Essay Writing & Storytelling | Writing is thinking made visible; this course sharpens both. Fundraising is storytelling. Recruiting is storytelling. Vision documents are storytelling. The best technical idea dies without someone who can make others see it. |
TERM 2: Core CS + Building For Users
| Course Code | Course | Objective |
|---|---|---|
| MATH 103 | Multivariate Calculus | Machine learning is optimization in high dimensions. Computer vision is functions on manifolds. This course enables you to see space the way a machine does. |
| MATH 104 | Discrete Mathematics | This is the mathematics that actually runs on computers: logic, combinatorics, graphs, etc. Everything from databases to compilers to networks lives in this kind of math. |
| CS 105 | Data Structures & Algorithms | This is the vocabulary of technical conversation. One can't be a credible technical leader without speaking fluently about trees, graphs, and asymptotic complexity. This course enables you to think about codes in big chunks & ideas. |
| CS 106 | Database Management Systems | Data outlives code. Most applications are really just sophisticated interfaces to databases. If you don't understand transactions and indexes, you can't build at scale. |
| PROD 101 | Introduction to Design Thinking | What should we build? What are the second-order effects? Technical power without judgment about impact is how we end up with engagement-optimized addiction machines. |
| PROJECT 101 | Shipped Product - 1 | Build and deploy something people want. Weekly reflection. Practice the full cycle: idea, build, ship, measure, iterate. |
TERM 3: Systems Thinking + Economics
| Course Code | Course | Objective |
|---|---|---|
| MATH 202 | Mathematical Transforms | Every signal processing system, every compression algorithm, every audio/video codec, relies on mathematical transforms. This will allow you think the application of mathematics in a completely different way. |
| CS 201 | Algorithmic Problem Solving | The grind of hard problems makes you better. Also, this is how you'll be interviewed at every serious tech company for the next decade. |
| CS 202 | Object-Oriented Design Patterns | Patterns are crystallized experience. Learn what worked for people who built big systems before you, so you don't reinvent badly. |
| CS 203 | Computer Architecture & Operating Systems | When you need performance or are debugging weird behavior of your code, you need to know what the OS is actually doing. This course enables you to do that. |
| ECON 101 | Fundamental Principles of Economics | This course covers the fundamental ideas of supply and demand, marginal costs, market structures, pricing. CTOs who don't understand unit economics and marginal costs can't make good technical tradeoffs or build sustainable businesses. |
| PROJECT 201 | Shipped Product - 2 | Scale up. Handle real traffic, real data, real bugs. Keep something running for three months straight. Learn what breaks and why. |
TERM 4: Production Systems
| Course Code | Course | Objective |
|---|---|---|
| MATH 203 | Optimization Theory | Every resource allocation problem: from load balancing to portfolio allocation to neural network training, is an optimization problem. This course will teach you applied decision-making under constraints. |
| MATH 204 | Probability Theory | The world is uncertain. Systems fail randomly. Users behave probabilistically. If you can't reason about uncertainty formally, you can't build reliable things. |
| CS 204 | Modern Web Development | This course covers the modern practices followed in building websites using frameworks. |
| CS 205 | DevOps & Monitoring | The course covers Docker, CI/CD, monitoring, logging, debugging live systems. This is the mundane reality of software that runs 24/7. If you can't ship code reliably and keep it running, nothing else matters. |
| CS 206 | Computer Networks | Everything is distributed now. You can't build serious software without understanding latency, packets, TCP/UDP, and how the internet actually works underneath HTTP. |
| PROJECT 202 | Shipped Product - 3 | Build something technically ambitious with proper deployment infrastructure. Monitoring, alerts, zero-downtime deploys. Ship it, scale it, keep it alive. |
TERM 5: Distributed Systems
| Course Code | Course | Objective |
|---|---|---|
| MATH 301 | Statistical Theory | Hypothesis testing, estimation and inference are the foundations of learning from data. You can't do modern product development without knowing what your metrics actually mean. |
| CS 301 | System Design & Architecture | Learn how to design scaleable apps like Instagram, Uber, or a trading system. The holistic thinking that separates senior engineers from junior ones. This is where it all comes together. |
| CS 302 | Distributed Systems & Consensus | The course touches on CAP theorem, consensus protocols, distributed transactions, eventual consistency. When you're building across multiple servers, all the easy assumptions break. |
| CS 303 | Theory of Computation & Complexity | What's computable? What's intractable? Knowing the limits saves you from wasting months on impossible problems. Also, the theory here is beautiful and makes you think better. |
| PROD 301 | Data-driven Product Design | Metrics, A/B testing, instrumentation. Modern product development is empirical. If you're making decisions based on vibes rather than data, you're already behind. |
| PROJECT 301 | Shipped Product - 4 | Build a distributed system. Multiple services, message queues, caching layers. Experience the pain of distributed debugging so you respect what complexity costs. |
TERM 6: Data & Security
| Course Code | Course | Objective |
|---|---|---|
| MATH 304 | Numerical Methods | The course is about computational mathematics that makes ML, computer graphics, and scientific computing actually run efficiently. |
| CS 304 | Introduction to Data Engineering | The course covers data pipelines, ETL, data warehouses, metrics instrumentation. This is the unglamorous plumbing that makes data science possible. |
| CS 305 | Cryptography & Coding Theory | Security isn't a feature, it's a requirement. Crypto primitives, authentication, authorization, threat modeling. Understand the math behind trust and how systems get compromised. |
| CS 306 | Cloud Architecture & Scalability | This course covers AWS/GCP/Azure, Kubernetes, serverless, auto-scaling. How modern systems scale to millions of users. Design for elasticity, failure, and cost efficiency. |
| FIN 102 | Finance for Technical Founders | Cap tables, burn rate, financial statements, valuation, venture economics. CTOs who don't understand the business financials make terrible strategic decisions. |
| PROJECT 302 | Shipped Product - 5 | Data-driven product with proper instrumentation. A/B testing, analytics pipeline, dashboards. Learn to build products that measure everything and improve from usage data. |
TERM 7: Machine Learning & Deep Learning
| Course Code | Course | Objective |
|---|---|---|
| CS 401 | Data Sourcing & Mining | Collect large sources of data from the internet. Perform pattern discovery in large datasets. Recommendation engines, fraud detection, user segmentation: practical techniques for extracting value from data at scale. |
| CS 402 | Machine Learning & Pattern Recognition | This course covers supervised learning, unsupervised learning, neural nets. Before you use fancy models, understand what learning from data actually means mathematically. The principles, not just the current frameworks. |
| CS 403 | Deep Learning | This course covers different neural nets, transformers, attention mechanisms, foundation models, emergent capabilities. What's happening in AI right now and what might be possible tomorrow. Understand the paradigm shift, not just the hype. |
| CS 404 | MLOps & Production Deployment | This course covers model training at scale, serving infrastructure, monitoring model performance, A/B testing models. The gap between notebook and production is where most ML projects die. |
| PROD 401 | Product-led Growth | This course covers funnels, cohort analysis, retention, virality. How to grow a product from zero to scale using data rather than intuition. |
| PROJECT 401 | Build Your Startup - 1 | Start building your tech startup. Build something ambitious with a team. Real users, real traction, real technical challenges. |
TERM 8: AI & Strategy
| Course Code | Course | Objective |
|---|---|---|
| MATH 401 | Modelling & Simulation | How to build computational models of complex systems. Essential for understanding behavior in systems too complicated to analyze directly. |
| MATH 402 | Game Theory & Strategy | The course covers multi-agent reasoning, mechanism design, auctions. Useful for marketplace design, competitive dynamics, and understanding strategic behavior in systems. |
| CS 405 | Modern Theory of Artificial Intelligence | This course primarily focuses on Generative AI, and how it is used to build AI workflows and Agentic AI solutions. |
| CS 406 | Natural Language Processing | Text is humanity's primary information format. Understanding how machines can read, write, and reason with language opens up enormous product possibilities. |
| CS 407 | Computer Vision | Images and video are the other half of how humans communicate. Object detection, segmentation, generation—core capabilities for modern applications. |
| PROJECT 402 | Build Your Startup - 2 | Continue to build your startup. Improve it by adding ML and AI layer to it. ML-powered product deployed to production. Experience the full stack of modern AI applications. Also, pitch it to investors. |
Program's Goal: Building Technical Builders with specialized knowledge in at least one area of computing.
Just like the Bachelor's program, this program is not designed to produce employees; it is designed to produce specialized techical builders. Assuming that one knows and has covered the content from the Bachelor's program, one can opt for one of the four specialization tracks possible.
A master's program is usually two years long. In the first year, students learn the specialized skill and build two projects. In the second year, we expect them to build a specialized technology startup. The entire second year is the residency program focused just on building new tech!
TERM 1: Deploy AI Models in Production
| Course Code | Course | Objective |
|---|---|---|
| MATH 501 | Bayesian Computational Models | Learn to reason under uncertainty instead of pretending the world is deterministic. This course teaches you how modern AI systems make probabilistic decisions when data is incomplete, noisy, or changing. |
| CS 501 | Advanced Data Sourcing & Mining | Most AI work fails before models ever enter the picture. This course teaches you how to find, scrape, clean, and continuously improve real-world data: the unfair advantage behind every serious AI product. |
| CS 502 | Parallel & Distributed Computing | AI only looks magical until you try to run it at scale. Learn how computation spreads across cores, machines, and clusters, and why performance problems are almost always systems problems. |
| CS 503 | Data Intensive Computing | AI systems are really data systems with models attached. This course teaches you how to move, process, and transform massive datasets efficiently without drowning in infrastructure complexity. |
| CS 504 | Advanced NLP | Language is messy, ambiguous, and deeply human. This course teaches how modern NLP systems actually work under the hood. You will be able to build your own language products by the end. |
| Project 501 | Shipped Product - 1 | Build a custom data pipeline that scrapes, cleans, and prepares domain-specific training data at scale (100M+ tokens), then fine-tune an open-source LLM on it. |
TERM 2: Scaling AI Systems
| Course Code | Course | Objective |
|---|---|---|
| CS 505 | Data Integration & Warehousing | Learn how to integrate multiple data sources into a coherent system that models, metrics, and humans can all rely on. |
| CS 506 | Advanced Database Engineering | Performance, correctness, and scale are always at odds. This course teaches how modern databases are built and tuned so your AI systems don’t collapse under real usage. |
| CS 507 | Advanced MLOps & Production Deployment | The gap between a trained model and a working product is where most AI teams fail. Learn how to deploy, monitor, roll back, and iterate on models without breaking everything. |
| CS 508 | Vector Databases & Semantic Search | Retrieval is the hidden backbone of modern AI systems. This course teaches how embeddings, similarity search, and vector indexes actually work. You'll learn how to build systems that retrieve the right context at scale. |
| CS 509 | Software Testing | Learn to treat testing as a design discipline, not an afterthought. By the end of this course, students can build testable systems, reason about failure modes before users find them, and ship software with confidence even when behavior is probabilistic, distributed, and evolving. |
| PROJECT 502 | Shipped Product - 2 | Deploy a multi-model AI system with proper monitoring, A/B testing infrastructure, and cost optimization. Handle 10k+ requests/day. |
TERM 3 & 4: Build AI Startup
Try to build AI development tools (think Cursor for X, LangChain for Y), AI-powered SaaS products, or infrastructure for training/serving models efficiently.
TERM 1: Mathematical Foundations of Markets
| Course Code | Course | Objective |
|---|---|---|
| MATH 302 | Stochastic Processes | Markets move randomly, but not arbitrarily. This course builds the intuition and math needed to model time, uncertainty, and dependence. |
| MATH 303 | Stochastic Calculus | Pricing, hedging, and risk live in continuous time. This course teaches the mathematical machinery that turns randomness into executable models instead of hand-wavy assumptions. |
| MATH 502 | Time Series Analysis | Markets remember the past in subtle ways. Learn how to model trends, regimes, volatility, and autocorrelation so you don’t mistake noise for signal. |
| MATH 503 | Quantitative Finance | This course translates market intuition into math: asset pricing, derivatives, portfolio construction, and arbitrage. Learn why some strategies work, why most don’t, and where models break. |
| CS 502 | Parallel & Distributed Computing | Trading systems compete on speed and scale. Learn how computation spreads across cores and machines so your strategies don’t die waiting for results. |
| PROJECT 503 | Shipped Product - 1 | Build a backtesting engine from scratch. Implement multiple strategies with realistic transaction costs, slippage, and risk metrics. Learn how easy it is to fool yourself with historical data. |
TERM 2: Production Trading Infrastructure
| Course Code | Course | Objective |
|---|---|---|
| MATH 504 | Quantitative Risk Management | Profit without risk control is just delayed failure. Learn how to model downside, tail risk, drawdowns, and capital constraints so systems survive bad days, not just good ones. |
| CS 505 | Data Integration & Warehousing | Market data is messy, delayed, and inconsistent. This course teaches how to build reliable data pipelines so trading decisions are based on reality, not corrupted feeds. |
| CS 506 | Advanced Database Engineering | Low latency and correctness rarely coexist by accident. Learn how to design storage systems that serve real-time decisions without sacrificing consistency or safety. |
| CS 510 | Algorithmic Trading | Turn mathematical strategies into executable systems. This course focuses on execution logic, order management, market impact, and the practical constraints that separate theory from profits. |
| CS 511 | Network Modelling & Optimization | Markets are networks of participants, venues, and constraints. Learn how to model and optimize flows: orders, capital, and risk, across complex, interconnected systems. |
| PROJECT 504 | Shipped Product - 2 | Build a real-time trading system with sub-millisecond latency requirements, proper order management, and risk controls. Paper trade for 30 days and experience how systems behave when the markets fight back. |
TERM 3 & 4: Build Trading Firm
Try to build algorithmic trading firms, robo-advisors, risk analytics platforms, or crypto trading infrastructure.
TERM 1: Perception & Reasoning
| Course Code | Course | Objective |
|---|---|---|
| CS 502 | Parallel & Distributed Computing | Perception systems are only useful if they run in real time. Learn how to structure computation across cores and machines so vision and spatial algorithms keep up with the physical world. |
| CS 512 | Computational Graphics | Geometry is the language of space. This course teaches how shapes, surfaces, and transformations are represented and rendered, so you can move fluently between the physical world and its digital representation. |
| CS 513 | Geospatial Computing | Space has structure, scale, and constraints. Learn how location, maps, and spatial data are modeled computationally; and how errors grow when the world gets large. |
| CS 514 | Advanced Computer Vision | Vision systems don’t “see”; they infer. This course teaches how machines extract structure, depth, and meaning from images. Learn where perception fails under noise, motion, and occlusion. |
| CS 515 | Sensor Fusion & State Estimation | No sensor is reliable on its own. Learn how multiple noisy signals are combined into a coherent belief about the world using probabilistic estimation and filtering. |
| PROJECT 505 | Shipped Product - 1 | Build a real-time 3D reconstruction system from camera/sensor data. Create a navigable digital twin of a physical space. |
TERM 2: Autonomous Systems
| Course Code | Course | Objective |
|---|---|---|
| MATH 505 | Physics of Robots | This course teaches the dynamics, forces, and constraints that turn control algorithms into real motion. |
| CS 509 | Software Testing | Autonomous systems fail silently and expensively. Learn how to test systems that interact with the real world, where bugs show up as crashes, not exceptions. |
| CS 516 | Motion Control & Planning | Autonomy is deciding what to do next under constraints. Learn how robots plan paths, avoid obstacles, and control motion in environments that change faster than models. |
| CS 517 | Simultaneous Localization & Mapping | A robot must build a map while living inside it. Learn how systems localize themselves, maintain belief over space, and remain stable as uncertainty compounds over time. |
| CS 518 | Advanced Computer Architecture | Real-time autonomy depends on hardware as much as software. Learn how compute architecture, memory, and latency shape what autonomous systems can realistically do. |
| PROJECT 506 | Shipped Product - 2 | Build an autonomous navigation system (simulation is fine). Path planning, obstacle avoidance, real-time decision making in dynamic environments. |
TERM 3 & 4: Build A Robotic System
Try to build a drone software, AR/VR applications, autonomous vehicle systems, digital twins for industrial applications, or robotics middleware.
TERM 1: Understanding Networks
| Course Code | Course | Objective |
|---|---|---|
| MATH 302 | Stochastic Processes | Networks evolve randomly, but not without structure. Learn how randomness, diffusion, and long-term behavior emerge when many agents interact over time. |
| MATH 303 | Stochastic Calculus | Influence, contagion, and market dynamics often evolve continuously. This course teaches the tools needed to model network behavior when time, uncertainty, and feedback are inseparable. |
| MATH 501 | Bayesian Computational Models | In networks, you rarely observe intent directly. Learn how to infer hidden states: beliefs, influence, trust, from partial and noisy observations. |
| CS 503 | Data Intensive Computing | Real networks are large, messy, and constantly changing. This course teaches how to process graphs with millions of nodes and edges without grinding systems to a halt. |
| CS 519 | Social Network Analysis | This course teaches how structure creates behavior. Learn to detect communities, influence, centrality, and cascades. You'll learn to understand how small design choices reshape entire networks. |
| PROJECT 507 | Shipped Product - 1 | Analyze a real network (Twitter graph, blockchain transactions, etc.). Build influence detection, community discovery, and prediction models. |
TERM 2: Building Network Platforms
| Course Code | Course | Objective |
|---|---|---|
| MATH 506 | Advanced Game Theory & Strategy | Networks are strategic environments. Learn how incentives, competition, and cooperation emerge when rational agents interact repeatedly. |
| CS 505 | Data Integration & Warehousing | Network data arrives from everywhere and agrees with nothing. Learn how to unify streams, events, and histories into a coherent, queryable system. |
| CS 506 | Advanced Database Engineering | Network platforms push databases to their limits. Learn how to design storage and indexing systems that survive high write rates and complex graph queries. |
| CS 511 | Network Modelling & Optimization | From routing to recommendations, networks are optimization problems under constraints. Learn how to model flows, bottlenecks, and equilibria in large systems. |
| CS 520 | Swarm Intelligence | Order often emerges without central control. Learn how simple local rules create global behavior, and how to exploit or stabilize it in distributed systems. |
| PROJECT 508 | Shipped Product - 2 | Build a decentralized application or a recommendation system that operates on network data. Handle millions of edges, real-time updates. |
TERM 3 & 4: Build A Social System
Try to build a social platforms, crypto protocols, marketplace platforms, recommendation engines, or network security systems.
Program's Goal: Train people to make them eligible for software development jobs.
This program is designed to produce employees. The philosophy is to cover only the important stuff, over a period of 9 months. The last 3 months are dedicated for placements and job hunting. Placements happen on our own job platform.
TERM 1: Foundational Skills
| Course Code | Course | Objective |
|---|---|---|
| CS 101 | Introduction to Computational Thinking | This course will transition you from "this is a problem" to "this is a problem a computer can solve". Learn to think in abstractions and steps that computers can execute. |
| CS 102 | Programming Paradigms | See that programming is about ideas, not syntax. Different paradigms teach different ways to think and yet reach at the same outcome. |
| CS 103 | Fundamentals of Web Development | The course wants you to ship your code as early as week one! You'll learn faster when you'll actually build things. |
| CS 105 | Data Structures & Algorithms | This is the vocabulary of technical conversation. One can't be a credible technical leader without speaking fluently about trees, graphs, and asymptotic complexity. This course enables you to think about codes in big chunks & ideas. |
| CS 106 | Database Management Systems | Data outlives code. Most applications are really just sophisticated interfaces to databases. If you don't understand transactions and indexes, you can't build at scale. |
| PROJECT 101 | Shipped Product - 1 | Build and deploy something people want. Weekly reflection. Practice the full cycle: idea, build, ship, measure, iterate. |
Note: Ideally, students should be able to hunt jobs with this much skillset alone. Any further study is only required when looking for specialized or FAANG roles.
TERM 2: Core Software Development Skills
| Course Code | Course | Objective |
|---|---|---|
| CS 201 | Algorithmic Problem Solving | The grind of hard problems makes you better. Also, this is how you'll be interviewed at every serious tech company for the next decade. |
| CS 204 | Modern Web Development | This course covers the modern practices followed in building websites using frameworks. |
| CS 205 | DevOps & Monitoring | The course covers Docker, CI/CD, monitoring, logging, debugging live systems. This is the mundane reality of software that runs 24/7. If you can't ship code reliably and keep it running, nothing else matters. |
| CS 301 | System Design & Architecture | Learn how to design scaleable apps like Instagram, Uber, or a trading system. The holistic thinking that separates senior engineers from junior ones. This is where it all comes together. |
| CS 306 | Cloud Architecture & Scalability | This course covers AWS/GCP/Azure, Kubernetes, serverless, auto-scaling. How modern systems scale to millions of users. Design for elasticity, failure, and cost efficiency. |
| PROJECT 202 | Shipped Product - 2 | Build something technically ambitious with proper deployment infrastructure. Monitoring, alerts, zero-downtime deploys. Ship it, scale it, keep it alive. |
Note: Ideally, students should be able to crack SDE 1 or SDE 2 roles after both terms, depending on their experience.