CLUE - Self Study Modules

Welcome Aboard

Welcome to the CLUE self-study web site. The videos, web resources & exercises in this mini-site are meant to allow novice programmers who already know the fundamentals of programming in one or more languages to jump right into the C programming language over a short period. We estimate it should take someone with such a background about 3 weeks, part time, to work through this material.

You will find nine "sections" in the left navigation panel. These sections are grouped by 3. Each such group is meant to be tackled in a week or work, part time. The first two sections will provide you with reading material, lecture videos, but also apprenticeship exercises. The latter allow us to not only expose you to practice exercises & their solutions, but also to the thought process one has to leverage to go from requirements to working programs. We often also test or debug the programs "live" & provide "on-demand" lecturing on any relevant topic related to the exercise being worked on.

It is important to not only watch these apprenticeship videos but also attempt the exercises on your own. The step-by-step nature of these videos makes it very easy to watch the beginning, start working on your own version, take a peek on the next few minutes of the video if you hit a wall...

Our videos illustrate "live programming" in various environments ranging from Linux to Windows. We recommend you use the Students Linux Box software which is available at It will allow you to benefit from a direct integration of the NED web application in the IDE along with pre-loaded Practice Assignments based on this material. If you prefer just downloading the IDE, use Code::Block IDE .

If you want to explore alternative free IDEs, make sure they are compatible with the GNU compiler we are using in this material. The following list might be a good starting point; Please note we are listing mostly windows-based solutions since Linux users will already have the GNU compiler and programmer-friendly editors available. Refer to the specific package manager of your Linux distribution for more details on how to install these tools.

Make sure you are using a modern web browser which understands HTML5 & has javascript enabled. We recomend you download & install Firefox or its Portable Version.