On 10/19/07, Gerhard Fiedler wrote: > Vitaliy wrote: > > > Joel Spolsky has this to say on the subject: > > > > http://www.joelonsoftware.com/articles/fog0000000073.html > > > > Specifically, he suggests the following exercises: > > > > 1. Reverse a string in place > > 2. Reverse a linked list > > 3. Count all the bits that are on in a byte > > 4. Binary search > > 5. Find the longest run in a string > > 6. atoi > > 7. itoa (great, because they have to use a stack or strrev) > > These questions are about typical algorithms. Most programming on small > embedded systems is very little about algorithms, and much more about > real-time problems (race conditions), system-level questions (interrupts, > protected access to vars), interaction with timed events, correct use of > peripherals (being able to read data sheets) -- things that a typical > desktop programmer rarely has to worry about. Quite true. Small and large embedded systems seem to be quite different. In our small engineering organization, we have people working on Small PLCs with 32bit MCUs and we have people working on I/O modules with 8051s. The firmwares are very different but both are called embedded software. Xiaofan -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist