Course Design
When designing a computer course it is essential to follow some basic guidelines.
- Use a single growing example throughout the whole course. Make sure the example is realistic, preferably take something from real life that is both useful and interesting. For instance, if the course is about web design, you may select the core example to be a travel web site.
- Start each section with preassessment questions. This helps freshen up student minds and increase their motivation and their ability to absorb new information.
- Provide a summary at the end of each section. This helps fix the basic information learnt and may also act as a reference for students later on.
- Follow each section with plenty of exercises. Practice is critical when it comes to computer training. A student might know the information but not be able to apply it. That is why practice is very important.
- Provide clear definitions of terminology in each section. The amount of computer terminology can be huge. Being able to know the exact meaning of each term and to know the term used for each concept is critical for computer students. Learning the sharp meaning of terms enables computer professionals to communicate effectively, find assistance more easily and be able to understand concepts better.
- Provide plenty of examples and explanations in each section. It is best to start by providing examples then explain the concepts after that rather then starting by trying to define new concepts and giving examples on those concepts after the definitions. The human brain works best by learning from examples and not from sharp and solid rules.
- Graphics programming is an excellent way to build mastery of programming in programming learners. Graphics programming gives visual feedback to learners which enables them to grasp programming concepts easily and clearly. Moreover, graphics programming can be very motivating to students due to its self fulfilling nature. Graphics programming also opens up possibilities for learners and fuels their desire for experimentation and self learning by discovery through trial and error, doing further reading and asking around.
Closing the Gap
The problem with many computer tutorials, textbooks and documentation is that they go directly from the formal definition of the technology being explained to the content of the material they are writing. This method despite seeming to be the most logical and simplest route to follow, yet ignores the fact that a formal definition of a technology is made for those creating such technology while a tutorial is made for those using that technology.
For instance, let us take CSS as an example. Many CSS tutorials fall into the trap of reading directly from the CSS specification and trying to follow it line by line translating each of its rules into the tutorial and structuring their tutorial upon the structure of the CSS spec document. This is a big mistake. While the CSS spec document is written and structured in such as way so as to precisely define the CSS language in an unambiguous way for developers of web browsers and web authoring tools to refer to, a CSS tutorial should have a totally different approach and structure that is optimized for those who will actually use CSS to style web pages.