The Incus Data Training Philosophy

Training Programmers is Different

We believe that training programmers and software developers in new skills - such as Java, C, C++ and web development - requires a different approach to training users.

User training involves training new users how to do a specific task. Training programmers, on the other hand, means training people to understand the methodologies, tools and thinking processes involved for a new language or technology, and how to apply these to real-world problems.

We also understand that training adults is very different to training children. For example, did you know that a lecturer has to repeat something more for adults than a teacher would have to for children?.

Our Approach to Teaching

We base our teaching methods on certain principles:

Professionalism:
We believe that a professional attitude towards programming is paramount and we try to convey this to the programmers on our courses. We emphasise good programming practice as the mark of a true professional.
Communication:
Terminology and concepts are clearly defined and used consistently and in context. This helps to avoid ambiguity and to promote increased communication skills.
Standardization:
We focus on adherence to international standards where they are relevant (e.g. in web development). We emphasise generally accepted conventions, coding standards and portability, as these help to improve coding quality and maintainability. Dependence on vendor or non-standard extensions is generally discouraged.
Comprehension:
We do not believe in spoon-feeding programmers and abhore the "Click-here-click-there" method of teaching. We believe it is essential to enable programmers to understand the principles and concepts of the course subject so that they have the tools to tackle their real-world problems.
Practicality:
We strive to provide useful and relevant advice. This includes advice on features that may produce undesirable side effects, and techniques to avoid in practice.
The Bigger Picture:
All our lecturers have extensive knowledge not only of their own subject matter, but also of other related fields. This helps us to convey a better understanding of the IT world to delegates.

Good Programming Practice

Throughout our courses, we emphasise the importance of good programming practice. It is unfortunate that many programmers are not taught these practices, and only learn them haphazardly or not at all. We believe that good programming practice - the principles of simplicity, clarity and generality - result in better code and a lower cost of maintenance. For this reason we strongly encourage the following practices on our courses:

  • Proper indentation and the use of white space to increase readability.
  • Use of a clear and consistent style.
  • The liberal use of comments to document the code.
  • The choice of meaningful names for variables and procedures.
  • The design of code that is simple and re-usable.
  • Intelligent choice of features that increase portability.
  • Proper respect for users by designing applications that are easy to use.
  • Adherence to coding standards within the client organisations, or if none exist, the importance of setting up such standards.