This course changed how I think about building software. Before, I sometimes had a general idea and started coding too quickly. Now I understand that a good project needs a clear problem definition, organized tasks, expected behavior, tests, review, and documentation.
AI can help me move faster, but correctness still depends on human responsibility, careful testing, and clear thinking.
My learning journey
Planning first
I learned to define the problem, list features, divide work into smaller tasks, and choose an implementation order before coding.
Visible workflow
Jira, Git, GitHub branches, commits, and pull requests helped turn hidden progress into evidence that can be reviewed.
Testing mindset
SDD, BDD, and TDD taught me to connect requirements, user behavior, test cases, and implementation instead of testing only at the end.
Responsible AI
AI helped with explanations, debugging ideas, structure, and documentation, but I still had to review the logic and verify the output.
Projects that showed my progress
I practiced algorithmic thinking with an O(n) hash-map solution, 20 organized test cases, CMake, and GitHub Actions evidence.
CSV · Query engine Project B - CSV Mini DatabaseI built a small CSV-backed query system that loads data, stores it in memory, and supports SELECT columns with WHERE filtering.
Course hub Course RepositoryI kept course materials, project links, assignment records, and learning evidence organized in one central repository.
What I improved
- I became better at planning before implementation.
- I learned to use Git and GitHub as a record of progress, not only as file storage.
- I practiced writing clearer technical documentation and project READMEs.
- I learned to test normal cases, edge cases, and invalid input instead of trusting one successful run.
- I learned to use AI as an assistant while keeping the final judgement myself.
How this helps my future learning
In future projects, I will start with clear requirements, use Git from the beginning, create tests earlier, document decisions, and verify AI-generated work before accepting it. This course helped me understand that software development is not only about producing code. It is also about communication, evidence, testing, and responsibility.