Monday Aug 31, 2009

We organized the Inductions for Sun Club of NIT Trichy recently.  The induction procedure was a two-level one, an online test followed by personal interviews.

We conducted the online test on 24th August. The response for the inductions was overwhelming. I expected a turnaround of about 40 students, but we had about 100 students in the lab. In fact, we could not accommodate all of them, and we had to make special arrangements. The students were tested on their logical and analytical skills, computer knowledge, basics of programming and Java.

We faced various technical challenges before the start of the test. We were trying out the quiz module of the Pragyan CMS for the first time. We had no clue about how it actually functioned, whether the cookies would time out before the students submitted their test and whether the database would be properly updated with the correct scores.

Many students did not know their login passwords, and we had to modify their passwords and activate their accounts manually - and we had to do this really fast, since we had very less time. But my friends helped me out in getting things done in time.

Here are some of the questions asked in the online test:

  1. What is the first program that executes after you power on your computer?
  2. main() { int *a, *s, i; s = a = (int *) malloc( 4 * sizeof(int)); for (i=0; i<4; i++) *(a+i) = i * 10; printf(”%d\n”, *s++); printf(”%d\n”, (*s)++); printf(”%d\n”, *s); printf(”%d\n”, *++s); printf(”%d\n”, ++*s); }
    What is the output?
  3. Pavi wrote a program Test.java. It compiled successfully. All it does is read a file and print its contents. During execution, where does the program reside?
  4. What is the name of Google’s operating system?
  5. What is the biggest threat to Free and Open Source Software aka FOSS?

About 30 students were shortlisted based on the online test and interviews were held in the weekend. After two days of interview sessions, 8 students were finally selected as members of the Sun Club.

It was a great experience for me too. Going ahead with organizing an online test, hoping that everything goes on smooth and making sure that the most enthusiastic minds find the doors open to the Sun Club was a mammoth task. And it all ended well ….

Wednesday Mar 25, 2009

It was a great day at college. 58 students eagerly waiting in the lab to learn a new technology - JavaFX. Vortex '09, the technical symposium of the Department of CSE, NITT, was in full swing. As a part of the symposium, a JavaFX workshop was organized by me.

The previous day was a long one which kept me busy learning, looking up sample codes, creating sample tutorials and presentations for the seminar. I tried to familiarise myself with the varied features of the technology. I learnt about how powerful and useful it is. I had prepared four different slides and ten sample codes to elucidate the ease of use of JavaFX.

The workshop was at 2:00 pm. And the sight of such a good turnout for the workshop made me happy. Every participant initially registered at the Open Source University Meetup (OSUM) site, the online community for open source technologies. It was a hands-on workshop, where students could try out programs on Netbeans platform.

workshop in progress

Initially I gave a small talk on opensource technologies and the use of OSUM. Then I proceeded to explain the chaznging times, the necessity for rich internet applications and the emerge of JavaFX.

Learning of any new technology starts with the famous 'Hello World' code. Participants were given the first feel of JavaFX by teaching them to write a small HelloWorld application using JavaFX Script.

Then the basics were explained, which included the concepte like data types, syntax, etc. Classes and Objects, the fundamental blocks of any Java code, were handled in detail. All concepts were explained through sample codes.

I went on to explain how to create and modify various Shapes and their properties. Data Binding and the way the bound values are computed in real time was discussed, with a variety of examples. Then simple transitions were explained, like translation, rotation and shearing of objects.

transformatio of objects explained

Having gained a substantial amount of practice by trying out codes, the students were ready to learn a bit more advanced concepts like effects on objects. event handling, the most important aspect of RIA's, was demonstrated next. The last topic for the day was animation. Simple animation effects like tweening were explained using sample codes.I ended the seminar by giving them various external links and resources from where they can learn JavaFX.

The response for the workshop was very good. Students were able to follow and understand easily. And it really made me happy when a few participants mailed me back expressing their views on the workshop.

" It was really great and I got a stronghold of the basics of JavaFX now. Thanks."

This shows that the workshop was a great success..


Monday Feb 23, 2009

And finally, the Sun Club of NITT is formed with 20 enthusiastic students interested in learning and developing open source technologies. The club has been formed with the support of Sun Microsystems. I am presiding over the club as President with Aswin assisting me as Vice President. Prof. N. Ramasubramanian, HOD, Dept. Of CSE is the Faculty Advisor.

sun club logo 

The Club Logo was designed by Sharadh. It has an ‘O’ in green and an ‘S’ in black. They represent ‘Open Source’. The empty block in the centre also denotes that it is really open, for the community to explore, innovate and develop.

Students were inducted into the club based on a written test. The question paper was set by me and Aswin. It had four sections – aptitude, basic computers, algorithms and java. Most questions were picked from good sources including CAT papers, SCJP sample papers, etc. The test duration was 90 minutes.

The inductions went on very well. Room CSE301 was arranged to conduct the test. 75 students registered for the written test –a very good number considering the fact that the club is a newly formed one.

And then came the huge task of paper evaluation. I learnt a lot of new ideas while evaluating the papers. Innovative ideas and ingenious solutions to questions which I had previously considered to be having only a single approach to a solution. The marks were tabulated and 18 students were selected.

The first formal meeting was held. The students were divided into 5 teams:

  • Core Java
  • Java ME
  • Netbeans and MySQL
  • Opensolaris
  • Web designing

Each team is now working on a separate project apart from assisting during workshops and other events.

It is great to see a new club emerging in NIT Trichy. A community of members interested in learning and developing open source technologies…

“Human knowledge belongs to the world”

Tuesday Feb 10, 2009

Java ME - The need:

Close to 90 per cent mobile and hand-held devices run Java. In this context, Write-once-run-anywhere, the paramount feature of Java is exploited in Java ME. Java ME lets us develop mobile applications for a diverse set of devices including mobile phone, palmtops, PDAs, set-top boxes and other hand-held devices. It gives a great edge for a computer engineer to address such a wide range of audience (who are on the move) with their applications. This workshop was intended to guide the students to write such generic applications using the core Java ME APIs.

Classes:

  • Classes were conducted in the conference hall of CSE department.
  • Duration of each session was 3 hours including lab practice session.
  • PowerPoint presentations were used to explain the concepts.
  • NetBeans IDE 6.5 + mobility was used to show demo programs on screen.
  • Lab sessions at B. Tech Lab, the terminals running Redhat Linux and NetBeans 6.5 + mobility.
  • Students were given applications to develop at the end of every session.


Deliverables:

NetBeans IDE 6.5 DVDs were distributed to the students.

Concepts handled:

The following concepts were handled during the classes:

The target devices for Java ME applications.

  • Architecture of Java ME, CLDC and MIDP specifications.
  • MIDlet and MIDlet Suites.
  • Review of inheritance and method overriding.
  • Core Java ME  User-Interface APIs
  • Display
  • Displayable
  • Screen
  • Item
  • Form
  • Command
  • List
  • Alert
  • Data Management
  • Record Management System ( RMS )
  • JDBC – ODBC in CDC configuration
  • Networking
  • Generic Connection Framework
  • Low – level networking: file://, socket://, datagram://
  • Http connections
  • Bluetooth
  • Device discovery
  • Service Discovery, Service Records and SDP
  • RFCOMM
  • OBEX over RFCOMM
  • L2CAP
  • Guidelines to Java ME applications.

Exercises:

The students were given regular exercises based on the concepts taught in class. The students were asked to develop the following MIDlet:

  • User registration using forms and displayable
  • Multi - threaded MIDlet to demonstrate their understanding of displayable.
  • Extensive attendance – planner for students use
  • Networking – Text transfer using RFCOMM and L2CAP
  • File Transfer using OBEX over RFCOMM
  • Exporting data form a MIDlet via Bluetooth and HTTP

Students’ Response and Feedback:

Excerpts:

API DEPTH:

“Not too high level-understandable”, “Awesome”, “Got lot of idea about j2me”, “just above the abyss”, “Complex and difficult to understand for novice”

SAMPLE PROGRAMS:

“The best part, could get the feel of Java ME”, “It gave very good idea”, “too good.. Good effort put in by the organizer”, “we need more lab sessions”, “practical sessions should have been more”

EXERCISE PROBLEMS:

“we need more time”, “good , but I need time”, “interesting but need to learn more”, “Real challenging and innovative and useful”, “I’ll finish the application” .


This blog copyright 2009 by Karthik S