Semester 3 · Programming foundation
Master Java and developer fundamentals
Your university DSA and COAL courses remain the academic priority. The side-study goal is to transition confidently from C++ into professional Java development.
Side courses, in order
- Git and GitHub — branches, merges, pull requests, rebasing basics.
- Java fundamentals — Java syntax, OOP, interfaces, abstract classes, collections, generics, exceptions.
- SOLID principles and clean code.
- Linux terminal fundamentals.
- JUnit basics and debugging.
Learn context engineering, structured prompts, AI code review, and responsible use of Claude Code or GitHub Copilot. Practice giving an agent a small, well-specified task and checking its output.
Build Your Own Redis in Java
A TCP server that speaks the Redis protocol (RESP): SET/GET with expiry, lists, pub/sub and optimistic locking, backed by your own data structures, with unit tests and a clean GitHub repository.
Your first real Java project: it turns this semester's Java, OOP and collections into a working server, and puts your DSA course (hash maps, lists) to direct use.
You can independently build, test, debug, and explain a Java program, and redis-cli can talk to your server.