Part VIII: Professional Practice
You know how to write code. Part VIII teaches you how software is actually built --- and where you go from here.
Programming in isolation is one skill. Programming as part of a team, with version control, code reviews, project planning, and a shared codebase that dozens of people touch every week, is a different skill entirely. These three chapters bridge the gap between "student who can code" and "professional who can ship software."
What This Part Covers
Chapter 25: Version Control with Git introduces the tool that every professional development team uses every single day. Git lets you track every change to your code, experiment on branches without breaking what works, collaborate with other developers without overwriting each other's work, and revert to any previous state when something goes wrong. You will initialize repositories, make commits, create branches, merge them, resolve conflicts, and push your work to GitHub. Once you understand Git, you will wonder how you ever wrote code without it.
Chapter 26: Software Development Lifecycle zooms out from code to process. How do professional teams decide what to build? How do they break large projects into manageable pieces? How do they maintain quality as a codebase grows? You will learn the phases of the software development lifecycle, compare Waterfall and Agile methodologies, write user stories, conduct code reviews, and understand technical debt --- the hidden cost of shortcuts that every real project accumulates.
Chapter 27: What's Next is both a map and a mirror. You will map the CS1 concepts you have learned to the advanced topics that await you: data structures, databases, networking, operating systems, AI and machine learning, web development, and more. You will reflect on how far you have come, identify which subfields match your interests, build a personal learning roadmap, and connect with the CS community through open source and professional networks. This chapter does not end your journey. It launches the next one.
Why This Matters
Technical skill gets you an interview. Professional practice gets you the job --- and keeps you there. The developers who advance fastest are not always the best coders. They are the ones who communicate clearly in code reviews, manage their work with version control, plan their projects deliberately, and keep learning after the course ends. Part VIII gives you the habits and tools that working professionals take for granted.
What You Will Be Able to Do
By the end of Part VIII, you will be able to:
- Use Git for version control: commits, branches, merges, and remote collaboration
- Push code to GitHub and collaborate using pull requests
- Describe the software development lifecycle and compare Agile vs. Waterfall
- Write user stories, conduct code reviews, and manage technical debt
- Identify CS subfields that align with your interests and build a learning roadmap
- Evaluate how AI coding assistants fit into your workflow without replacing your fundamentals
How the Chapters Connect
Chapter 25 gives you the tool for professional collaboration. Chapter 26 gives you the process. Chapter 27 gives you the direction. They can be read somewhat independently --- a student interested in Git does not need to read the SDLC chapter first --- but together they paint a complete picture of what it means to work as a software professional.
Your Progressive Project: TaskFlow
TaskFlow gets its professional finishing touches. In Chapter 25, you will initialize TaskFlow as a Git repository, create feature branches for new work, write a proper README, and push it to GitHub (v2.4). In Chapter 26, you will write full documentation, create a project board with user stories, and draft a v3.0 feature roadmap that lays out where TaskFlow could go next (v2.5). In Chapter 27, you will step back and reflect on the complete journey: from a five-line "Hello, TaskFlow!" to a tested, documented, version-controlled application with data persistence, API integration, and a modular OOP architecture.
TaskFlow is not just a project you completed for a class. It is a portfolio piece you can point to and say: "I built this. From scratch. And I can tell you why every design decision was made."