What makes a good course? How to learn effectively? Why do courses fail? Welcome to the latest news from TalkIT. This month’s is about developer training
What Makes a Good Course? Stimulate and Inspire Avoid Overwhelm Build Skills Can You Solve This Coding Problem? Other Bits These thoughts are based on my years of designing and delivering courses. Take a look at our full list of courses. This follows from the 2014 Newsletter on how to be a good programmer.
What Makes a Good Course?
There is lots of choice now available in how we learn. We can take the DIY approach; search it out on Google or do an e-learning course. But we are going to look at traditional classroom training. This is how it works. Put a bunch of people in a room for 2 to 5 days. Then provide a trainer and computers. The course will cover features of a technology, say C#.Net. Here the outline for our C# course. The objectives are that delegates understand these and become competent using them. To provide structure, the course is split into modules, rather like chapters in book. Each module goes into certain features. The delivery consists of presentations, demonstrations and exercises. The exercises allow delegates to do something practical that consolidates learning. The delivery is pitched at a certain level. This depends on the delegates’ background experience. The required experience is described in the course’s prerequisites.
Stimulate and Inspire
A good course skilfully blends theory and practice. It stimulates and inspires. It also provides multiple modalities for learning; listening, questioning, doing stuff … Technical training often works with complex material, but it makes this manageable. It does this by concentrating on one feature at a time; by single tasking. The material can be vast, but the course focuses on the important features. It also identifies what can be safely ignored. A clear road map is provided. The exercises allow delegates to prove to themselves they can really do it, to build their confidence. They learn to build real life software step by step. If they get lost, they can compare their efforts against the model application.
The theory explains the underlying principles. It is then easier to slot new data into place. This avoids being overwhelmed with information. It makes it easier to apply the knowledge, to put it into a realistic context. The theory bit is delivered using presentations and demonstrations. These explain how features can solve common problems. Simple is best. I recently attended 5 day course where over 300 slides were shown. Many slides contained dense code snippets. Sure, the structure and content of a course can be provided by the slide pack. But these are best used to only illustrate the presentations. That is how we design TalkIT’s courses.
We learn to code by doing it. Put the theory into practice by creating or enhancing a real application. The instructions are in the course notes. Each exercise builds skills on specific features. The completed applications can then be taken away and used as template for future development. Or do the exercises again after course at your own pace. When these elements come together, then lots can be learnt in a short time. And it can be fun!
Practice you C# skills. Let’s look at Lambda expressions. What is the output from these statements?
Func<int, bool> f = n => n < 5;
bool isSmall = f(2);
Func<int, bool> g = n => n > 5;
bool isBig = g(5);
Can you add code snippets to demonstrate Lambda expressions at the bottom of this blog? And exactly what type of object is a Func<T>? More in our online C# course
David Ringsell MCPD 2015 ©