• 20 hours
  • Medium

Free online content available in this course.

Videos available in this course

Certificate of achievement available at the end this course

Got it!

Conclusion

Log in or subscribe for free to enjoy all this course has to offer!

Congratulations! You've mastered one of the most important components of software development. Now you understand the importance of debugging and unit testing!

Applying your knew knowledge to your daily work will allow you to produce high quality code and be a reliable and independent developer, which certainly makes you an asset on any team!

Let's Recap!

  • In this course you've learned new programming notions, such as:

    • compilation,

    • execution,

    • and call-stack.

  • You now know how to identify and eliminate various bugs and troubleshoot:

    • compilation errors that jump right in your face while writing the code,

    • run-time errors that crash the app,

    • and business logic bugs that result in an unexpected behavior and produce false results.

  • You've learned how to write "stylish" code that’s easy to read and understand. And you know how to take advantage of tools that provide an automated assistance for that.

  • You've expanded your abilities by mastering unit testing. Now you know how to:

    • define a test strategy and organize your code to make it testable,

    • implement and utilize the tests in new projects,

    • and introduce the tests to an existing code base.

  • Finally, you’ve explored Test Driven Development techniques, which can appear like too much of extra effort at first, but I hope you see its benefits in the long run!

Take good care of your tests

Remember, tests are code as well. They are tightly connected with the main code base of an application. The two must be equally strong to support each other! Remember the card castle?

Treat your tests well - keep them in a good style and well architected; refactor when needed!

Moving forward!

Testing and applying Test Driven Development in your daily work is essential for producing quality code that will benefit the product and earn you appreciation from your colleagues.

Keep this knowledge handy, expand when necessary, and remember to stay current and look for new tools and techniques!

Before you go

Is that it for Tic-Tac-Toe?

It could be so much more!

Here are a couple of options:

  • Name players: make players input their names and display them in labels instead (be mindful about name length - choose to fix and trim or make them dynamic).

  • Expand the playfield (advanced): implement a 9x9 field of 3x3 Ultimate tic-tac-toe on Wiki

Example of certificate of achievement
Example of certificate of achievement