While teaching the Computer Science students in an engineering college, i had this strange feelings that CS != Programming... The theoretical aspects of computer science which the students usually learn in the engineering college will never help them become proficient programmers... many people would shun this point of view... some times back i interacted with one of my colleagues who insisted that programming is only small part of computer science world... however i feel that it is the most important part of the computer science... with the wake of Test Driven Development and other Agile processes, when the long quality process is loosing its significance, its only good efficient programming that remains the most significant factor of the software project development... i believe that one can get a CS degree without even having a computer... but one cannot develop and design software that runs without getting his hands dirty with debugger, breakpoint, issues with memory leaks and so on...
Monday, June 27, 2011
Wednesday, June 8, 2011
Patent and Copyright - from my perspective
today during our breakfast my wife asked me a question about the difference between patent and copyright... while answering her queries, i reminded her how the way we create patents of software these days has become an hindrance to innovation... if one is not convinced see this or this... think about the situation had all the basic scientific theories (e.g. newton’s law of motion and gravity, Archimedes's principles, Einstein's theory of relativity, the knowledge of periodic table and in-numerous chemical reactions or the basic ideas of zero and decimals) being patented and copyrighted, where would our scientific exploration have gone so far? from another angle had the Almighty patented air, water, earth, fire or so many of His living creatures on whom we do scientific experimentation, where would our mankind and civilization stand today?or even had we have to pay royalty to the community of cows for their milk or to the community of plants and vegetables for their own products, where would we go for the money?
Thursday, April 7, 2011
Eye opener for educators...
“Intellect has been cultured with the result that hundreds of sciences have been discovered, and their effect has been that the few have made slaves of the many – that is all the good that has been done. Artificial wants have been created; and every poor man, whether he has money or not, desires to have those wants satisfied, and when he cannot, he struggles, and dies in the struggle” - Swami Vivekananda.
Is the mad rush towards consumerism of the modern day a product of such faulty education system?
Is the mad rush towards consumerism of the modern day a product of such faulty education system?
Thursday, March 24, 2011
Unit Converter App with Source Code
Note : Good news for avid learners... Here is my free training on How to Design and Develop a simple Unit Converter App..... Enroll and enjoy... Happy learning...
http://som-itsolutions.teachable.com/
For the past few days i was in a dilemma about ethics, openness and honesty... the reason behind this was should i show the whole world the source code of my Android apps? as i don’t have a job, i thought of earning some money for my family by offering training to the people who want to learn how to develop Android apps... but then i thought that as i am using an open source platform to develop the Android App, i should show the source code to the others so that if someone really wants to learn, he can learn it from this source code... being a believer in Swami Vivekananda, i thought not to do business just by selling knowledge...if i face difficulty in feeding my family in the future, there is definitely another way to earn money, but not by selling the knowledge which i got because of the Almighty.
You can download the app from Google Play and here goes the source code of an Unit Converter App which i started developing to help some of my students...
if somebody can learn from it, i will be the happiest person...
Here is a screenshot of this app...
i have used Strategy Pattern to develop this App.
Hope this helps others.
http://som-itsolutions.teachable.com/
For the past few days i was in a dilemma about ethics, openness and honesty... the reason behind this was should i show the whole world the source code of my Android apps? as i don’t have a job, i thought of earning some money for my family by offering training to the people who want to learn how to develop Android apps... but then i thought that as i am using an open source platform to develop the Android App, i should show the source code to the others so that if someone really wants to learn, he can learn it from this source code... being a believer in Swami Vivekananda, i thought not to do business just by selling knowledge...if i face difficulty in feeding my family in the future, there is definitely another way to earn money, but not by selling the knowledge which i got because of the Almighty.
You can download the app from Google Play and here goes the source code of an Unit Converter App which i started developing to help some of my students...
if somebody can learn from it, i will be the happiest person...
Here is a screenshot of this app...
i have used Strategy Pattern to develop this App.
Hope this helps others.
Thursday, March 10, 2011
Unfolding the mystery...
There is an absolute ecstasy in unfolding the mystery...i know it from my own experience... when i first came to the IT industry, i used to wonder how things actually work inside... however, with experience and knowledge, these days i can decipher a fragment of code of a working system...today i know a little bit of why an OOAD system has been designed the way it is....and when this mystery gets unfolded, the joy is no less than that of a scientist’s discovery... probably this is the only reason i love software...
Wednesday, March 9, 2011
How to become a software developer without spending a penny...
This post is for all those engineering students of computer science in remote places of India who cannot afford hefty amount to buy licensed software... i faced this dilemma when i first started my software career... i would like to share my experience with you...
the best way to learn software is to use Linux. i use Ubuntu. hence i can advise on this. anyone can order an Ubuntu CD from the https://shipit.ubuntu.com/ . if someone has a braodband connection he can download Ubuntu from http://www.ubuntu.com/desktop/get-ubuntu/download. however, installing Ubuntu is not the end... one will have to install the necessary package for C/C++ developement. These packages can be installed over the internet through the Synaptic Package Manager in Ubuntu desktop menu. The package for C/C++ is the build essential package... one may like to install the eclipse IDE from the software repository... the next thing is to install the OPEN-JDK package for working using Java... Once these things are done, the basic development environment for a student is done.
However, there are still some people who are simply familiar with Windows and do not have the money to buy Visual Studio...many poor students fall in the trap of pirated version of Visual Studio... but that is unethical... right....for those students i would suggest to go for Eclipse as the IDE... For a C/C++ compiler in a Windows machine one may go for Cygwin... this is how i have configured my Windows development environment...
however, its not only the development environment a student looks for... he needs a productivity tool... here again i would like to suggest the poor students not to fall in the trap of pirated MS-Office CD...if you want an offline productivity tool, go for free OpenOffice... and if you have a broadband connection, you may opt for Google Docs...
i think for a poor student in India, the tug of war between zeal to learn and ethics always plays havoc...i hope i have thrown some lights how to quench the thirst for knowledge without compromising on ethics...
the best way to learn software is to use Linux. i use Ubuntu. hence i can advise on this. anyone can order an Ubuntu CD from the https://shipit.ubuntu.com/ . if someone has a braodband connection he can download Ubuntu from http://www.ubuntu.com/desktop/get-ubuntu/download. however, installing Ubuntu is not the end... one will have to install the necessary package for C/C++ developement. These packages can be installed over the internet through the Synaptic Package Manager in Ubuntu desktop menu. The package for C/C++ is the build essential package... one may like to install the eclipse IDE from the software repository... the next thing is to install the OPEN-JDK package for working using Java... Once these things are done, the basic development environment for a student is done.
However, there are still some people who are simply familiar with Windows and do not have the money to buy Visual Studio...many poor students fall in the trap of pirated version of Visual Studio... but that is unethical... right....for those students i would suggest to go for Eclipse as the IDE... For a C/C++ compiler in a Windows machine one may go for Cygwin... this is how i have configured my Windows development environment...
however, its not only the development environment a student looks for... he needs a productivity tool... here again i would like to suggest the poor students not to fall in the trap of pirated MS-Office CD...if you want an offline productivity tool, go for free OpenOffice... and if you have a broadband connection, you may opt for Google Docs...
i think for a poor student in India, the tug of war between zeal to learn and ethics always plays havoc...i hope i have thrown some lights how to quench the thirst for knowledge without compromising on ethics...
Wednesday, February 23, 2011
Meaning of education to me...
From the very beginning of my graduation day, i was in a dilemma about the meaning of education. Education, to me is an enabler, and all other means to educate people are facilitators. i was baffled by the very basic question what i will be able to do hands-on after i got a BE degree. i didn't want to become a theory-mugging Babu like so many engineering graduates in India. To me if a software engineer is not able to write good programs of a running application, there is no meaning of his education. it does not matter how much theory one churns out, the way to practice that theory should be the motto of education...
As Swami Vivekananda said, "We may talk and reason all our lives, but we shall not understand a word of truth, until we experience it ourselves. You cannot hope to make a man a surgeon by simply giving him a few books. You cannot satisfy my curiosity to see a country by showing me a map; I must have actual experience. Maps can only create curiosity in us to get more perfect knowledge. Beyond that they have no value whatever... "
i know i am an insignificant guy to change the way education is being practiced here in India...i know its not easy to become Jonathon Livingstone Seagull... however, i want someone influential to think the way i have thought about education....
As Swami Vivekananda said, "We may talk and reason all our lives, but we shall not understand a word of truth, until we experience it ourselves. You cannot hope to make a man a surgeon by simply giving him a few books. You cannot satisfy my curiosity to see a country by showing me a map; I must have actual experience. Maps can only create curiosity in us to get more perfect knowledge. Beyond that they have no value whatever... "
i am damn sure if someone looks into the IT industry, he will find lot of middle level managers and senior managers who just can't decipher a simple programming concept... They can be termed as Babus in the IT industry.. if an automobile engineer has to call a mechanic every time his car falters, his engineering degree does not serve the basic purpose...
Here in India we give more importance to marks... A student scoring 90% might not be an effective engineer...i know there are a number of engineers who would not have become engineers had they been guaranteed jobs in other industries...i know there are few people who want others to remain in dark and make profit out of their ignorance... under any circumstances they cannot be termed as good human beings...
thats the only reason probably i have embraced open source technologies to work on my software passion... because it gives freedom... i think FOSS is more about freedom than about free of cost...however, there are some limitations in the open source technologies as well... the limitation is that one has to overcome a steep learning curve to contribute a little to the learning society... and there is no hand-holding for a new comer... so far i have just used some of the open source technologies like Ubuntu, eclipse, android... but i have not been able to contribute any thing in terms of bug fixing of an open source project... however, i try to contribute to the learning society, in whatever little form it may be, through my technical blog...
i know i am an insignificant guy to change the way education is being practiced here in India...i know its not easy to become Jonathon Livingstone Seagull... however, i want someone influential to think the way i have thought about education....
Subscribe to:
Posts (Atom)
