I’ve been spending some time with entry-level and mid-level .NET programmers who have gone through several courses related to C#, WCF, ASP.NET, Windows Forms, and various technologies. However most of them don’t know the first thing about unit testing, Design patterns such as dependency injection, practices such as continuous integration, Acceptance and integration test automation and so on. If you think about it, technologies change, but practices don’t and it’s high time we start focussing our courses on practices rather than the technology that’s currently in flavor.
So I’ve kept an aim to come up with some easy to digest courses that will hopefully encourage and enable average programmers already well-versed with C# to push forward and start using some of these useful practices. This is what i have in mind so far – all the below will contain code samples and hands-on exercises so that the learners can start applying them in their real-world projects
1. Unit Testing
2. Dependency Injection
3. Automated Integration and Acceptance Testing
4. Continuous Integration
Of course these look basic and there are many libraries and tools that we can teach about, but I think some of these concepts are essential and go beyond language and framework concerns. Some hands-on is must to get them imbibed into the programmers’ toolkit.
What do you think? Any suggestions to improve this course outline?