The Software Engineer path is the deepest track. It covers computer science fundamentals, data structures, algorithms, object-oriented design, and system design.
Topics covered
- Programming fundamentals: variables, functions, control flow, recursion, and scope.
- Data structures: arrays, linked lists, stacks, queues, trees, hash tables, and graphs.
- Algorithms: sorting, searching, recursion, dynamic programming basics, and Big-O analysis.
- Object-oriented design: classes, inheritance, composition, and design patterns.
- System design: scalable architectures, databases, caching, and trade-offs.
Who should take this path
This path is best if you already have some programming experience and want to prepare for technical interviews or deepen your engineering knowledge. The recommended experience is intermediate to advanced.
Projects and outcomes
Projects are larger and more open-ended. You will implement data structures from scratch, solve algorithmic challenges, and design systems in writing. The path ends with a certificate of completion.