Tuesday, December 13, 2005

 

Database Management Systems Project

CISD OpenCourseWare

Drawing from the popular concept of OpenCourseWare introduced by MIT @ http://ocw.mit.edu, I discussed the idea with one of my teachers and decided a similar system for our department would be a useful database course project for me. OpenCourseWare (or more popularly just OCW) is a simple website that offers free educational material to students and teachers alike.

The idea behind it is to share the knowledge so that it is open to all and not just our university. If realized completely, it would eradicate the need for photocopied hand-outs and all other material teachers want their students to get as it will be all be available in electronic form (PDF, DOC etc.) and could be downloaded from the website itself.

To the left is a snapshot of the homepage.

There are three types of users that access the system: first the Users (Anonymous, need no authentication), secondly the Teachers which login to their separate accounts and upload course materials (assignments, hand-outs, projects etc.) to their assigned courses' pages. Lastly, the Administrator, who has the rights to add/edit courses and teacher accounts and basically has the task of managing the whole thing.

It is a very interesting project indeed, and could be extremely useful for all if adopted by the department. We are told that we will be giving a demo of it to our Chariman, lets hope that goes well and things, for once, do change for the good.

 

Unbelievable CGI Image

This is what games may look like in 10 years, this image is completely CGI, amazing.

read more | digg story

Tuesday, December 06, 2005

 

Software Engineering Project

CISE Messenger

Here's a little intro to my software engineering project this year titled the CISE Messenger.It's a simple LAN-based messaging software meant for use in the CIS department (hence the name CISE) .. whether it is actually used for that purpose remains to be seen.

There are two major parts: the Server and the Client. The wonderful thing about it is that the server is multi-threaded i.e., the server can respond to a large number of connecting clients simultaneously rather than on a first-come first-serve basis as in a Single Threaded model. For those of you who don't know much about threading, click here for a nice and easy tutorial of sorts.

The server supports some basic IM operations like one-to-one text messaging, ability to change nicks etc. There is an audio conversation support too, using DirectPlay, but the code used for that is old and error-prone since the Voice classes have now been deemed obsolete by Microsoft so there's not much support about on the internet. Nevertheless, it works ... only just!

Here is a screenshot of the dummy Client logged on



The namespaces utilized were System.Net and System.Net.Sockets which provide classes for TcpListener(the server), TcpClient(the client) and Socket (for communication between two points) and ofcourse System.Threading for implementing threads.

This was my first dip into threading and it's not easy, you have to be very careful when handling threads and remember to close them and make sure no two threads work on the same objects at the same time .. etc. etc. It is pretty interesting, and I will develop it further later.