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..


Saturday Feb 14, 2009

The JavaFX workshop was organized successfully as a part of Pragyan '09, The International Techno-management Festival of NIT Trichy. . It was a day long workshop organized by Sun Microsystems. The workshop was aimed at teaching how to use JavaFX software for developing rich Internet applications. The engineers explained how to use the technology to create animations and effects, add multimedia to applications, and incorporate Java software into JavaFX applications.

The response was really overwhelming. More than 500 students had registered for the workshop, and many of them were students from various colleges across the state. 150 registrants were shortlisted to attend the workshop, out of which 50 were from outside colleges. The workshop was conducted in the annexe lab in the Octagon Computer Center.

The session started with Kumar Abhishek giving a talk on Open Source technologies. He explained about how the world is shifting from the 'information age' to the age of 'participation'. He cited examples to explain why the computing world is slowly moving towards open source.

We had three engineers from Sun, Mr. Elancheran, Mr. Srinivas and M. Praveen. The next few sessions were handled by them. A basic introduction to the world of JavaFX was given initially to the students. Various features of the technology was explained. Brief demonstrations were given to show how JavaFX functions as an expressive rich client platform for creating and delivering rich Internet experiences across all the screens of our life.

The next session was regarding the JavaFX Script, the scripting language used in creating JavaFX applications. Sample programs were provided to explain how the language is an object oriented, integrating easily with Java with automatic data binding. The demo programs explored a wide range of features of the language.

The next session was the hands-on session where the students tried their own code and came up with really innovative applications.

Occasionally, questions were asked and prozes were awarded to the students who answered the questions. T shirts, pens and keychains were presented to the students. The best application received a Transcend Flash drive as an award.

Members of the Sun Club helped in organizing the workshop and ensuring that the things went on smoothly. The students feedback also was good. Certificates were given away to the students who attended the workshop.

Keeping in mind the success of this workshop, many more workshops on open source technologies are being planned in NIT Trichy. It is always a great experience to organize a huge event successfully.


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” .


Friday Oct 10, 2008

After one full week of preparation, giving lectures and handling lab classes, the Java programming workshop has finally come to an end. The workshop was conducted by me with the help of my friend, Aswin, as a part of Software Freedom Week celebrations.

This was the first workshop conducted in college by me after I was selected as the Campus Ambassador for Sun Microsystems. Java is one of the greatest products from Sun, which is extensively used in programming, web applications, mobile applications and more. So, I felt that conducting a workshop on Java programming would help the students learn the language. The workshop was intended to show the students the door to the world of Java.

The curriculum of NITT does not have an exclusive Java course. But there are many students who are interested in learning the language. I have seen many friends of mine who have tried to learn Java, but were confused about where to start and how to proceed.

The workshop was planned for second year B. Tech CSE students of my college. I went to their classroom and briefed them about the various open source technologies, about the Campus Ambassador Programme of Sun and about the numerous workshops that are to follow in the months to come. I also asked the students to do a study on open source and write an article on the same. The response was very good.

My HOD arranged the conference hall and the laboratory for our use. With the help of Aswin, I installed Java and Netbeans in all computers in the lab. The projector was set up too. The stage was set for the workshop.

32 students had been selected for the workshop. Everyone had assembled, eagerly awaiting the start. I distributed the Netbeans CDs, pens and key chains which Sun Microsystems had sent for the workshop. Then the classes began.

We started right from the basics, explaining the simple looping constructs, the conditional statements and various other syntax. Then we moved on to object oriented programming and related concepts like abstraction and polymorphism. Concepts of classes and objects were explained with regular demos on screen.

When Aswin was handling the class, I was busy taking snaps. Our HOD also visited the class to make sure everything was running smoothly.

We then explained the concepts of streams used in input/output. Exception handling was taught in detail. The lab practice sessions were interesting. Some students came up with excellent solutions which even we never thought of. The workshop was a learning experience for us too. 

We also conducted a small review  examination to gauge the understanding of the participating candidates. We wrote a simple Java program to evaluate the answers of students. The answers were discussed later.

We then ventured into complex topics like networking and swt. Students were taught how to write a chat application. They also had a lab session on that, where they implemented chat application and file sending programmes.

Practice makes a programmer perfect. Learning from the book will not help in learning a language. To become an expert, one must practice various programs and develop programming skills. This was emphasized during the workshop. 

During the workshop, we asked the students to look up some interesting topics online, like obfuscated code and the dining philosophers problem. This helped the students to learn loads of new stuff.

All the presentations used and the demo programs were mailed to the students. The students’ feedback on the programme was also overwhelming. On the last day, I requested the students to look beyond text books and the curriculum. There must be a thirst for knowledge. Everyone must participate in the development of open source technologies. Gone is the age when there was a divide between the developer and the user. Now is the age where the user is the developer. 

The first Java workshop was thus completed successfully. I am planning for the next workshop, which might be on Opensolaris, one of the most stable operating systems from Sun Microsystems. Looking forward to learning and sharing…

This blog copyright 2009 by Karthik S