Sunday, March 27, 2011

Mission 4.0 GPA at SLIIT - Part 3

Earlier I thought of updating the blog everyday but for the last few days I couldn't because I wasn't in a good mood..... kind of fed up after all of these... This semester is not like the previous two semesters and the content we have to learn is very much high comparatively. So I got the feeling that I'm still not ready to expect getting 4.0 GPA this time which means I shouldn't be wasting time with blogging and extra work. So this will be the last post of this series of posts and the last post I'm writing until the exams are over. Therefore I'll tell you my plan to get good results.

All the reference books I have mentioned are available for downloading at "Thariya's Ebook Linker".Search under the given category.

Probability & Statistics

This is the most critical subject. Read my 1st post and 2nd post of this series and do the Crash Course book (Category : Probability & Statistics). Then you can get an idea about the units easily. Then start learning the units in the Text book. Then watch the videos on Probability and Statistics done by Khan Academy. You can watch and download them from "Amalan's Blog". Then try the exercises in the Text book. Do the Lab assignments on your own and get familiar with the SPSS generated outputs. Do the final exam past papers from 2007 to 2010. No need to do the repeat papers because that is really unnecessary. If you have more time, refer the "Probability & Statistics for Engineers & Scientists 8th Edition". The solution manual is also available for downloading (Category : Probability & Statics). 

Data Communication & Computer Networks II

This is the easiest subject for me. Read the text book and learn the concepts. Do the assignment on your own and learn about the protocols and get some idea about them. Do all the lab sheets so that you will learn the concepts without much effort. Visit Dinuka's Blog for more help.You can download the answers for all the lab sheets from here. Go through the lecture slides available in the course web. Refer the book 'TCP/IP Protocol Suite'. The power point presentation slides of this book are available for downloading at the Ebook Linker (Category : TCP/IP). Do the past papers from 2007 to 2010 without waiting till the last moment. Then you will see the pattern of the questions.

Software Technology II

Read the text book so that you won't repent if something in the book comes for the exam. Do all the lab sheets on your own. Do the past papers and also the tutorials. Get ready for the second online exam so that you can get rid of the score board pressure at the final exam. Do the programming assignment well and you are done.

Systems Programming & Design

This is one of the critical subjects but if you have the practical knowledge and hands on experience with Shell Scripting, System Calls, Perl and CGI, then it won't be that much hard. For shell programming, refer the book 'Unix Shell Programming' (Category : Shell Programming). For System Calls, refer the books 'Let us C' (Category : C) and 'Linux System Programming'  (Category : Systems Programming) . No need to read the whole book, just go through the relevant chapters.For perl programming read this post first and watch the videos. Refer the book 'Learning Perl' (Category : Perl). For CGI scripting also videos are really helpful. This is the link where I downloaded CGI/Perl videos. This is the link where I downloaded the CGI Essential Training videos. Read the text book and do the lab sheets also. Then try the past papers.

Software Engineering I

Go through the notes of the lectures. Do the group assignment well and understand the concepts. Then try the past papers. No need to refer the text book or any other reference book.

Hay everybody..... Let's get good results from the upcoming exams !!!

P.S - All the reference books I have mentioned are available for downloading at "Thariya's Ebook Linker".Search under the given category.

-Tharindu Edirisinghe-
-SLIIT 10'-

Sunday, March 20, 2011

Mission 4.0 GPA at SLIIT - Part 2

Today is 20th March 2011 and it's 9 : 53 P.M. I'm going to write what happened today. The alarm rang at 4 : 00 A.M and I woke up and hurried to turn it off because I didn't want to wake up Isuru's parents by letting the alarm ring continuously. Isuru was sleeping and I tried to wake him up. Then he told me that he wanted to sleep another half an hour. So I continued learning the PS book alone. Isuru woke up at 4 : 30 A.M and we both did some questions together and discussed them.

The discussion was very much helpful where he asked me some questions which are really important and I figured out the answers on my own. For example do you know why the probability of getting an exact value in a continuous probability distribution is zero ? Think about it like this. Imagine the graph of the probability density function. Now the specific area under that particular value is the required probability. To get that area, you have to integrate the probability density function. When you integrate, both the upper and lower limits are equal to that particular value which you want to find the probability. So when you substitute them, the answer becomes zero. I hope you got it.

I came home around 11 : 00 A.M. Despite having a lot of work to do, I watched the movie 'Monsters'. That's my hobby. I can remember when I was doing the final exams of the last semester at SLIIT, even on the day before the exam started I watched a movie. After that I had a nap for around two hours and started the work again. 

I completed up to the chapter 6 of that PS Crash Course book and started doing some past papers. I  answered some questions in 2010, 2009 and 2008 P&S final past papers. The paper seems to be really easy than I expected. If you know the theories well and if you are good in analytical thinking, then it won't be hard. One thing I realized is that following only the text book is not enough. This PS crash course is really good in that case. For example in 2009 PS final paper, see the last part of the 1st Question. To answer that, you need to know that 

E [ X + Y ] = E [ X ] + E [ Y ]
E [ X - Y ] = E [ X ] - E [ Y ]
E [ X . Y ]  = E [ X ] . E [ Y ]
E [ c . x ] = c . E [ X ]
Var [ c . X ] = c ^2 Var [ X ]
Var [ X + Y ] = Var [ X ] + Var [ Y ]
Var [ X - Y ] = Var [ X ] + Var [ Y ]

These things are not in the PS text book. But they are in that PS Crash Course Book.

When answering the 1st Question of 2009 final paper, we have to draw a stem and leaf plot. I didn't know how to choose the stem width and leaves so that I used SPSS software to do it for me.

Click on the image to zoom it. See that every leaf is zero.

Then in 2008 final PS paper, Question 1. 
A stem and leaf plot is given. Stem width is 10. Here, in between the stem value and leaf value, a decimal point is not given. I have a little bit of confusion here. According to this, to get the values we have to concatenate the stem value and the leaf value and then multiply it by the stem width. Then we get values like 110, 120, 120, 130 .... and so on. 

I checked this further by putting some values in SPSS software. Click on the image below to zoom.
My input values were 11, 12, 12, 13, ... and so on. It gave me the stem width 10 and you see a decimal point in between the stem value and the leaf value. I hope to further clarify this at the PS help desk from Hansa sir.

I'll be continuously writing this series of posts until the exams start, so keep in touch with my blog. My instinct tells me what to do next and I simply follow that as I did in previous exams and got good results. So follow me and get good results.

-Tharindu Edirisinghe-
-SLIIT 10'-

Mission 4.0 GPA at SLIIT - Part 1

Today is 19th March 2011 and my clock shows the time as 11:33 P.M. Few minutes more to the mid night and I'm infront of Isuru's PC at his place. He is doing some PS questions and I'm little bit exausted now and so thought of writing something which will be useful to all my friends at SLIIT. 

We have around 1 month for the final exam at SLIIT. So I started getting ready for the exam today. So I came to Isuru's place and we are studying together. We have come up with a plan to get good results from the exam and I thought of sharing it with my friends. 

Now the most difficult and the critical subject is 'Probability and Statistics' (PS). Even I don't have a clear understanding on this subject. Unfortunately we don't have electives and it's a must to follow this subject. I found a good learning material which simply describes everything in this subject. That is "Schaum's easy outlines Probability and Statistics Crash Course". I got it printed because it's really worth learning.

You can download it from "Thariya's Ebook Linker" (Search under the category "Probability & Statistics"). 

At the moment I have completed three chapters from that. Now we are going to sleep. Hope to wake up at 4.00 A.M tomorrow and finish PS and try to answer some past paper questions. I hope everybody would follow this book and I want to see everybody getting 'A' passes for PS.
(Left : Isuru, Right : myself - Rocking PS)

-Tharindu Edirisinghe-
-SLIIT 10'-

Thursday, March 17, 2011

Thariya's Ebook Linker

In this fast growing IT field, technology is changing day by day. Therefore as the IT undergraduates, we must always update our knowledge and we should be aware of what's happening in the Information Technology world.Other thing is getting good results from the exams in our degree programs.

There are so many good learning resources on the internet. We must refer them when we are studying, but the problem is we have to put more effort to find good resources other than using them. I came up with a solution to overcome this problem. That is developing a web based application to share learning resources. It was a difficult task because I'm still learning the web developing technologies where I had to learn some methods from the beginning.

I developed the website 'Thariya's Ebook Linker' where anybody can visit, create an account and download the resources. At the same time, the registered members can share the learning material they have by adding it's download link to the database. I used ASP.NET technology with C# as the programming language and a Microsoft SQL database to store data. The experience I got from the ITA project in the 1st year 2nd semester was very much useful when developing the website. As new things, I learned how to upload images from the user's PC to the web site through a file uploader, resize the images to predefined dimensions and save them in the server.

This is the login page of the website.
Some of the resources shared by the members of the website.

Users can search for learning material by categories.
Some of the interfaces of the website. This is the first time I designed all the interfaces on my own. For some interfaces, I used the same coding and the pages form our ITA project website.

You can visit the website from this Link. Share your learning resources with others.

P.S - Special thanks to Mr. Jagath Wickramarathne (My ITA lecturer) for introducing ASP.NET and C# to me. 
Special thanks to Mr. Asitha Perera and Ms. Manori Gamage (My DBMS I lecturers) for introducing  SQL and database management systems to me.

-Tharindu Edirisinghe-
-SLIIT 10'-

Wednesday, March 16, 2011

Stepping to the next level of Perl Programming

From my previous post I told you how to start Perl programming on windows. After being familiar with the syntax of Perl, all what you need is a good IDE where you could write the programs, run and easily get the output while being in the same place.

One of the IDEs I found convenient to use is the 'Eclipse' IDE. It is originally developed for java development, but by downloading and installing the Perl extension for Eclipse, you can use it for Perl programming.The following video describes how to download the IDE and how to configure it for Perl.

To master Perl Programming, you can refer books written on Perl development, but my recommendation is Lynda 's Video tutorials series. You can download the Perl 5 Essentials video series free.

This is the link where I downloaded it from. If the link doesn't work, just search in google for ' Perl rapidshare, hotfile, megaupload'. There are plenty of download links available.

-Tharindu Edirisinghe-
-SLIIT 10'-

Sunday, March 13, 2011

Statistical Data Analyzer V 2.0 with Source Code

I hope now you are familiar with this software since the Beta version and the Version 1.0 were released previously. Let's see what are the newly added features and the functionality of this software.

This is the first window. Same as the previous versions. Enter the number of data points and proceed.
Then you get the data entering window. Here I have added some sample data to demonstrate what is happening.
Enter your data one by one. No need to sort and enter. It can sort your data itself. To see the descriptive statistics, press the button 'Statistics Analyzer'. Then you get the following window. Now you see the modification. In the previous versions it showed all the data in the same window itself. Here it is well organized and you can get the conclusions one by one.
These are the operations performed by each of the buttons.

'Min Max Range' button will open a window as follows.
'Quartiles' button will show the Quartiles and the Inter Quartile Range (IQR). In previous versions this was misspelled as IRQ. Now it is corrected.

'Calculations' button gives you some important calculations which are helpful to find the descriptive statistics manually and obtain results. In the previous versions, instead of Sigma sign I had used 'E'. because  the program didn't support the Unicode characters. It wasn't correct because 'E' stands for the 'Expected Value' and gives a different meaning. In this version that is also corrected.
'Variance and Standard Deviation' button will give you the Variances and the Standard Deviations of the Sample as well as the population.
'Mode' button will give you the mode of the sample data set. It is capable of finding multiple modes if exists. In the Beta Version it wasn't implemented and then the Version 1.0 came with that. The important thing is that the algorithm I used in Version 1.0 was not capable to handle every possible combination of data. 

eg: If your sorted data set is like ' 1 , 19, 19, 22, 23, 25, 25, 27, 29, 29 ' , the modes should be 19, 25 and 29. The algorithm could identify only 19 and 25. It ignored 29. This error was reported by 'Praveen Dehideniya', a fellow student of SLIIT in his feed back. In this version, I modified the algorithm and now it's working perfectly.
'Outliers' button will show the bounds of the data set and the outliers if any. 
'Box Plot Example' button will show a sample Box Plot and will provide you some hints on how to draw the Box Plot correctly. This is a newly implemented feature and it can generate four different Box Plots depending on your data set. These sample Box Plots are predefined and will show the correct one appropriately.
That's all about the software and you can  easily use this when you are doing the 'Probability & Statistics'  final exam past papers to check whether your answers are correct instead of using SPSS software.
Finally, if you find this software is useful, just send me your comments because despite having all the work, I dedicated much time on developing this. So no point if this is not useful for anybody. Your comments are warmly welcome and they will encourage me to continue my work.

You need to have the .NET Framework 3.5 or above to run this software.

Click Here to Download the Portable Version (718.08 KB). No need of installation.

Click Here to Download the Setup (1.06 MB). This needs installation.

Click Here to Download the Source Code (8.2 MB). You can customize the software according to your requirements.

P.S - 'Hard to Use' things are easy to build. 'Easy to Use' things are hard to build.

-Tharindu Edirisinghe-
-SLIIT 10-

Wednesday, March 9, 2011

Starting Perl Programming on Windows

We learn Perl Programming for "Systems Programming and Design" subject. Since most of the students are using Windows as the main operating system and use Linux operating systems installed as virtual PCs on windows, I thought of writing this post and show you how to install Perl on windows and start Perl programming.

All the major Linux operating systems are coming with Perl installed but on windows, you have to manually install Perl. First go to the Command Prompt and check whether your Windows operating system is already having a Perl installation. To check that type 'perl -version' or 'perl -v' and press Enter. If Perl is already installed it will show information about the installation. If not it will give an error message.

You can download Perl from website.The size of the setup file will be around 25 MB so don't worry. Download the correct setup according to your Windows operating system.
After that install it. When you are installing it will ask you whether to update the PATH variable. Tick that and continue installation so that you don't need to update the PATH manually to run your Perl programs.
Once you have installed, go to Command Prompt and check whether it is installed correctly. Type 'perl -v' and you will get the information about the version. Now we have successfully installed Perl.

How to start Perl Programming ?

To write your Perl programs, you need a text editor. You can use the Notepad but my opinion is it is not good when you wish to do some serious programming because it doesn't highlight the syntax. I recommend 'Notepad++' which is a free software. You can download it from . Download it and install.

Then create a new file in Notepad++ and before writing your program, save it with .pl extension. For the file type, select 'Perl Source File (.pl.....)'. Now type your first program and save it.

printf("Hello world ! \n");
printf("This is my first Perl Program \n");

Open the command prompt and change your current directory to the location where your Perl program is saved. Now type 
'perl' and you will get the output as below.

Hello world !
This is my first Perl Program

P.S - From my next post I'll tell you how to master Perl Programming on your own.

-Tharindu Edirisinghe-
-SLIIT 10'-

Tuesday, March 8, 2011

ITA Group Project - Part V

If you couldn't read the previous posts of this series, first read them. Part I, Part II, Part III, Part IV.

Fortunately 12 Lab II had plug bases under the computers (In some other labs they were sealed I guess) and all of them were occupied. I shutdown a PC in the lab and plugged my laptop there. We had to hurry up because we were only given 5 minutes to get prepared. I asked Sasika to turn his laptop on and give me a copy of the home page he designed for the website. I hurried up to paste it in the project and integrated them. Then I gave an introduction to Mezaj and Sajee what we should do and did a quick demonstration.
(Mezaj and myself..... Planning something serious !!!)

(Dasun and Sajee..... Watching me working I guess :D)

Then we plugged the projector to my laptop and I started presenting our project. I demonstrated the user levels of the website and then showed how to register a new customer. The validation was also working perfectly. Then I showed how to login to the website. Also I showed how to recover the password using the security question and how to modify the account details without letting Ms. Isuri ask even a single question. I think she was extremely satisfied with the workability of our solution. 

Then Sasika described and showed how to make a reservation using the website and the functionality of the shopping cart feature. Then Mezaj showed how the data of the extra facilities of our apartment reservation system are generated and loaded into the grid view of the web page. He also described the functionality of the Contact Us page. Then Sajee expressed the difference between the dynamically generated pages and the statically designed pages using the About Us page.

Unfortunately the Searching function was not working correctly but other than that all the other features , functionality and the interfaces of the website were relatively at a higher level when compared to the work done by other groups.
(Sasika in a lab session of ITA. The Interface designer of the project)

After doing the presentation, we uploaded the source code to the course web. Then I went home and had a long sleep as I couldn't have for over four days.

P.S - The successful completion of the project and the presentation led me to get an 'A' for the ITA subject from the 2nd semester exam of the 1st year.  I further developed the website during the vacation and hosted it on a free server. You can visit it from This is the end of this series of posts. Finally let me tell you one thing. Always try to be the guy who saves the day. Even when the other group members go down, you must be able to do the whole thing and save your GPA.

(Every single coding came from my head)

Extract the downloaded zip file. Then you'll get a folder and inside that there are two folders. One of them contains the MS SQL database and the log file. Read this post and paste the database and the log file where your other databases are stored in your PC and attach the database.
The other folder contains the web pages. Edit the web.config file by modifying the connection string.

my connection string : Data Source=YASIRU-PC;Initial Catalog=ssbooks;Integrated Security=True

Instead of 'YASIRU-PC', put your SQL server name there. Then build the project and run. You have to run the 'Default.aspx' page and unless it will redirect you to the error page since I have created and managed the sessions in the Default page.

-Tharindu Edirisinghe-
-SLIIT 10'-

Sunday, March 6, 2011

ITA Group Project - Part IV

If you couldn't read the previous posts of this series, first read them. Part I, Part II, Part III.

Before sleeping, I set the alarm to 5.00 A.M because I knew that otherwise I wouldn't be able to finish the project before delivering the presentation. After two hours the alarm was ringing. I got up with a terrible headache and despite all the pains, I was struggling to save 10 marks from the final result of ITA subject. Sasika was still sleeping and I wasn't bothered to wake him up because I was determined to complete the rest on my own.

(This is the Apartments page where the data are dynamically generated and displayed)
 (This is the Extra Facilities page of the website. Here also the data is dynamically generated and displayed)
The continuous work over three days affected me very badly and I felt like I was undergoing through a short term memory loss. I felt that I was looking at the screen of my laptop without figuring out what to do next. Somehow I was able to finish it at 7.00 A.M. My father came to pick me up and I went home to get ready to leave for SLIIT. Still the home page was not integrated to the website because it was designed in Sasika's PC.

I reached SLIIT around 8.00 A.M and Dasun telephoned me suddenly. He told me that he was suffering from fever and was unable to come for the presentation. I had nothing to say except scolding him. I was the one who worked continuously and finished the stuff then and he was the one who got fever !

I waited at the 12 common room until the other group members came. While waiting, I helped other groups who sought my help in finishing the projects. We were supposed to deliver the presentation at 9.00 A.M. Around 8.50 A.M, Mezaj and Sajee came. Still they had no idea about the project whether it is completed or not. I couldn't show it to them because my laptop battery was ruined then and I couldn't turn on my laptop without giving the power supply. Then we went to the 12 Lab II and waited for the arrival of Sasika. Then I found all the other groups were trying to export their projects to the computers in the lab and they told that we were supposed to do the presentation using a computer in the lab.

The whole project, database, coding and the web pages were lying in my laptop and I knew that it was impossible to port our project to a computer at lab. The reason was first I created the database by writing SQL scripts and later I did a lot of modifications to the data tables without keeping track of the SQL scripts. Other thing was when entering data to database, I used the GUI of SQL Server which comes inbuilt with MS SQL Server where I had just to type or copy and paste data on the virtual data tables.
(When we were doing the project, I didn't know how to copy a MS SQL data base from one computer to another directly and even if I knew it, we wouldn't be able to use it in a computer in the lab without having administrative privileges over the SQL Server).

Ms. Isuri was there to inspect the presentations and the first group started delivering their presentation. They had designed nice interfaces but the functionality wasn't there. The user logins were not working and registering customers was also not working. Then I realized what a great project we ( I ) had done with all the functionality and attractive interfaces. Sasika came around 9.30 A.M and we were the group to deliver the presentation next. I asked Ms. Isuri whether we could use my laptop and she told that it was alright giving me a great relief.

To be continued ...

Read the Part V of this series of posts.

-Tharindu Edirisinghe-
-SLIIT 10-

Thursday, March 3, 2011

ITA Group Project - Part III

Read the Part I and Part II of this post, if you couldn't read yet.

31st October 2010

I went to Sasika's place early in the morning. We integrated what we had developed so far with the interfaces that Sasika had developed. The functions to Search apartments, Display user account details and modify, Reserve and cancel reservations were not yet written then. Details of the apartments were also not yet added to the database then. Sasika kept on working with designing the interfaces and I was writing functions one by one. Mezaj, Sajee and Dasun came around 9.30 A.M. We were running out of time.

Since I was the group leader, it was my responsibility to manage the project. With the tight deadline, it was a daunting task to do. So we discussed about what is left to do and Mezaj, Sajee and Dasun started writing the descriptions for the apartments and typing them. It was a great relief for me because we had  to insert more than 50 records of apartment descriptions to the database.

After having lunch, I got a terrible headache. I think it was because of the continuous work for nearly 7 hours and due to lack of sleep in previous day. So I slept for a while letting others do the work. I think I slept for an hour and when I got up, I thought others had finished entering data to the database. To my utter surprise, they all were listening to music and doing some other work. Even Sasika was designing some graphics for some other group project which a friend of him had asked to do. I was really disappointed and helpless because it was the last day to complete the project and the next day we were supposed to do the presentation regarding the project. 

With my arrival they started the work again and around 4.30 P.M they finished typing all the records of the apartments. Since the programming part and the interface designing was left to do I asked Mezaj, Sajee and Dasun to go home and come to SLIIT next day in the morning. Everything was on my shoulders then. Sasika and I worked together till the mid night. He was sneezing and caught a cold. So finally I asked him to get some rest and he went to sleep. I was in a dire need to have some rest and my eyes were burning. I closed my eyes and kept on coding because I was perfect in typing.

Around 3.00 A.M, I could finish the major tasks of the website and there was only one function to be written. That was showing details of customer account and modifying them. I stopped work to get some sleep because I felt I was not well. 

To be continued.....

-Tharindu Edirisinghe-
-SLIIT 10'-