What are the pre-requisites for the course?

You need to have done some C programming. You should be familiar with number systems (binary, hex etc) and you should have some basic ideas regarding electronics (nothing advanced - just elementary things like ohms law, the working of diodes, stuff like that) . You need not have any previous exposure to Linux.

How does the course really work (content delivery, instructor interaction etc)?

Please check out this link.

How much time does it take to complete the course?

It is difficult to answer this question precisely as it depends on a lot of variables (the technical background of the participants, the speed with which they are able to learn new things, ...). That said, we believe it should be possible to complete the course in 8 weeks assuming that you put in around 10 hours of work per week. We will provide you technical support through the course forum for this period.

Even if you are not able to finish the course in time, don't worry! The course website will still be accessible to you for some more time (we are fairly flexible regarding this) and you will be able to download all the course material and keep them for future reference.

What about hardware development boards?

You will receive a TI MSP430 launchpad development kit the cost of which will be covered by the course fee.

What is the course fee

Please email mail@pramode.net for details.

Will this course help me become familiar with GNU/Linux?

The course teaches microcontroller architecture and programming using GNU/Linux as the development platform; you will definitely become familiar with GNU/Linux as part of doing the course!

I am a Computer Science and Engineering student - how is the course going to be useful for me?

As a CSE/IT student, you are expected to have good practical understanding of Computer Architecture, Assembly Language programming and System Software Tools (compiler/assembler/linker etc). Knowledge of the GNU/Linux Operating System as well as C programming language is also of fundamental importance. Through the use of a modern processor with a simple and elegant architecture (the MSP430) and the use of GNU/Linux as a programming environment, this course imparts relevant, practical skills to the student.

How does this course help me, an Electronics/Electrical Engineering student?

GNU/Linux has become the platform of choice for high-end embedded systems (check out linuxdevices.com to get information about a vast array of Linux-powered appliances). This course provides a solid introduction to the use of Linux as a development/debugging platform for microcontroller based systems.

I am an application programmer interested in gaining some "systems" skills. Will you recommend this course for me?

Definitely! A computer system is built upon layers of abstractions - it always helps to know how things work deep down. This course will you take you very close to the machine - giving you the kind of insight that you always wanted to have!

I am a hobbyist with no formal qualifications in Computing or Electronics/Electrical engineering. Can I do this course?

We do not believe in "formal" degrees. If you have basic C programming skills, school-level electronics knowledge and loads of enthusiasm, you can participate in this course and gain from it!

Do you offer a more advanced course as a follow-up to this course?

We are in the process of developing materials for an advanced Embedded Linux / Linux systems programming course based on an ARM development board. The course is expected to be launched in May 2012.

I have experience programming the AVR/PIC (or some other) microcontroller. Will this course be useful for me?

If your only objective is to gain some exposure to programming small 8/16 bit controllers, then this course will not be useful for you if have experience with AVR/PIC or some other controller.

If you are planning to learn Linux seriously and wish to learn more advanced Embedded Linux / Linux systems programming stuff, then this course may be a good first step for you.