[Ilugc] Projects for students

  • From: girishvenkatachalam@xxxxxxxxx (Girish Venkatachalam)
  • Date: Wed Aug 30 13:49:15 2006

My dear students,

   Here are the list of practically relevant solutions for issues
   that people are facing. If you come up with good implementations I think
   some LUG members with the right contacts could even put you on to
investors who can turn your prototypes into products for the Indian
and International market. No, I am not an investor. :-)


   First the computer science problems.

   1) Develop a simple, easy to use command line RSS reader for UNIX
systems. By RSS I mean RSS feeds. Don't do it in Java. I want C. Or
perl,python or ruby.

   2) Noorul Islam (noorul.islam@xxxxxxxxx also on LUG) is currently
working on developing a new generation split program. Read the man
page of split. It has several deficiencies. If you come up with a good
implementation, I suggest improve upon the existing code if reqd, then
it can have lot of value. Even simple things like splitting at a
particular offset, or at a particular %, or splitting into n parts are
not supported. I have looked for alternatives,  I found none.

  This has lot of application in audio, video processing.

 3) Develop a simple VoIP application that can work across NAT and
firewalls. This is not difficult. Refer to my article in linuxjournal
or LinuxForYou of  Aug month for details. Don't get scared reading my
article, it is not difficult to code it. I have already given the
design and code in the article.

 4) Develop a command line e-mail client that talks IMAP, SMTP and
POP. Remember , there is competition here. If you support SSL also,
this has lot of potential.

 5) Develop a liveCD or liveDVD or liveUSB that is customized with
bare minimum functionality. It will be good if you use a lightweight
window manager like Windowmaker or XFCE. It will be great if it comes
customized with local language support.

 6) Develop a simple instant messaging and presence protocol , not as
complicated as XMPP.  This is cliche and a favourite acad project. If
you do it different, you win.

 7) A simple application to encrypt and decrypt files on disk. User
should be able to select the encryption algo. If you can also lock it
down to USB keys, it will be great. User has a secure date store that
he can plug in to computers. You should also copy protect and make
sure it doesnt leave the keydrive.

8) Develop a stripped down version of mplayer for playing videos and songs.

9) Develop a music jukebox software that plays sounds on different
networked computers with a single mediation server that talks to all
machines thro' TCP/IP. If done well this has great entertainment
potential.

10) Develop a simple download accelerator that opens multiple TCP
connections and downloads a single file in parts and reassembles it.

The above projects take anywhere between 1 to 10 months to do. It
doesn't need more than three or four ppl. In fact all my projects I
have done alone. So if you so prefer you can also do it individually.

Here are the list of electronics projects. I am not quite clued in ,
but some of them may be interesting.

1) Develop a simple PLL based FM radio

2) Use LDR(Light Dependent Resistors) to do something creative. Don't
do what is cliche like counting the number of ppl entering a room or
something. You have to combine sophisticated software proceesing to do
something useful with it. For instance, you could measure the voltage
output to figure out the luminosity of a place or something. Or you
could combine this with temperature sensor and do something. I don't
know. You find out.

3) Develop a simple remote control using lirc and linux. You can
interface with the serial port, use a simple IR diode and learn the
serial interface protocol. It is really simple.

4) Build a simple digital clock that plays polyphonic tones for each
hour. I should randomly play a tune; it will be interesting. You can
seed the PRNG from an array. You don't need much entropy for this to
be interesting.

5) There are several projects you could do with cheap microcontrollers
these days. Need not just be 8051. You could develop a simple sensor
that weighs, one rupee, two rupee and five rupee coins and dispenses a
ticket or something.

6) You can develop a burglar alarm that detects tampering. Once you do
that it will be simple to make it a house security system.

7) You can do some cool DSP based stuff like SDR(Software Defined
Radio).You can do GSM communications or DRM(Digital Radio Mondiale)
decoding using a general purpose computer and some C code.

8) Or you could use real DSP chip to do simple mp3 decoding. With a
lil bit of knowledge of FIR filters, Kaiser windows etc. and FFT , you
can do something interesting. No, I don't know anything more than
this. This project appears somewhat non trivial.

9) You could buy a Nokia bluetooth dongle and develop a simple
bluetooth handheld. May not be trivial but you could learn Bluetooth.
:-)

10) Develop a simple voice recorder with a USB interface.
        

These are some of the top of the mind ideas I have. None of them have
had the luxury of a protracted thought process. So I can't guarantee
success but it will certainly help you learn and do something
practically relevant.

Understand that success invariably comes after a few failures. Prepare
to fail first. Otherwise your success won't be sweet. :-)

Wish you Godspeed!

love,
Girish


-- 
Education is an admirable thing but it is good to
remember from time to time that anything that is
worth knowing cannot be taught.

- Oscar Wilde

Other related posts: