TEC206 Intermediate Programming This subject builds on the knowledge and skills acquired in the Fundamentals of Programming subject by expanding on the principles and techniques that support the development and testing of Python-based applications. This necessitates competence on unit tests, the test-driven development environment, exception handling, debugging, integrated development environments and external test libraries. The application of object-oriented programming concepts and principles are therefore the primary focus of this subject, which include the design patterns and best practices associated with Python programming language.