This is a document that I wrote awhile ago, but as most things go with me it got put on the backburner. Kathy suggested I post my idea here. I decided to post the original document in full. My apologies for the looong read.
Universal Project for Information Technology Introduction Every person entering the world of the IT worker will have to accept that he / she will never stop learning if they want to make a success of their chosen career. There always will be a new computer language, methodology, design strategy, whatever, that will have to be used to implement a new system.
Most of us will use different methods of study throughout our careers. The books and study material will have different authors most times, each using its own example to explain and clarify a point. If the student is lucky the example will be relevant and / or the �subject� area of the project known to him.
It is my conviction that too much time is wasted on �inventing� and explaining the example by the author on the one side and trying to understand the example by the student on the other side. Both the author and student should be allowed to spend the maximum time available to them to concentrate on the subject mater without the burden of the project.
Proposal A Universal Project is created that can be used as the �holy grail� for all forms of sharing knowledge in our industry. The intention is that a person starts his IT career with this project and that he uses it till the end, be it as student or teacher.
This project will be an abstract project that is to �open-sourced� and it will not be the exclusive intellectual property of any author and / or publisher. The intention however is to find a publisher/s and author/s that will be prepared to take ownership of the �project book�. This is to assure the quality of the contents that only a publisher and professional author can guarantee.
A definite distinction must be made between the �project book� that defines the abstract project and the so-called solution books that will teach a subject and uses the abstract project as its example. The solution books will be the exclusive ownership of the publishers and authors. All normal copyright that apply to books will apply to these books.
The UP It is my suggestion that the project should be an abstract definition of a club . I use the following definition for the
word club, �a group identified by some common characteristic� i.e. a type of sport, religion, hobby etc.
Why a club as a the Universal Project Though the word club is not accepted as such, the idea behind it can be accepted as a universal concept, and that is its strength.
Let me explain by using an example. Two students start of their IT career at the same time, one in the Netherlands and another in India.
The Dutch student is; following a 3 year IT study trough the University of Delft; he is passionate about football and member of a local club.
The Indian student is; doing a 3 month �crash� course through a private training company; he is a very religious and is an active member in his church.
Two total opposites.
They both have to complete one final assignment to obtain their qualification.
�Automate the club of your choice�.
Based on the descriptions of the two students, the Dutchman has a very obvious real life example he can use for his assignment, but the Indian student??
Is there a need to dig deeper to see if he is a member of the local chess club, or �
I say no, as the religious community he belongs to, can also be seen as a �club�.
It also has members, each with his personal details (name age, address etc), the �club� holds meetings; it needs funds to survive etc.
So each of the two students can submit an assignment with as its outer �skin� a subject they each feel passionate about, but at its core is exactly the same. The teacher can still score the assignments based on what the system has to implement (do) and not the interface.
I feel that this is the single most important benefit of using a Club as the abstract project, is the fact that it can be interpreted to mean many different things, but the fundamental building blocks always stay the same.
A lot of care and consideration will have to be taken to define the abstract project and its building blocks, not by myself, but rather by a team of individuals that are better suited to the task. My task is simply that of �idea� seller here.
What makes a �club� attractive to be used as UP in my opinion is the fact that it �lives� with most people. We all are members of a �club� from time to time. What better than each of us having the software at hand to �automate� the running of the �club� we belong to. As we change / join new clubs in our live we take this �tool� with us. It grows with us as we expand our interests etc.
Why the need for an Universal Project
Though I briefly introduced the possible benefits of a Universal Project I would like to elaborate a bit further.
1.Single reference point throughout one�s IT career.
Think of an IT employee that has open to him the option of using 3 computer languages to implement a project. We all have our personal favorites, and are more than often guided by a choice purely because it is the �hype� of the moment. But no sound decision should be made. Now if the IT�er had learned all 3 comp languages with the UP as its sample project the matter would be different, he is now comparing apples to apples.
The same goes for all IT education we receive throughout his career. Think of learning
2.Eases communication.
We often have to communicate difficult concepts when talking to fellow IT�ers and �outsiders� (users etc.). Each one of us uses its own tools to communicate. As more and more people start using UP, I see them using it as an example to explain concepts, ideas etc.
3.Eases education.
I see all of us employed as IT workers as permanent students. Surely learning something new, in the same standard and uniform way will simplify the learning process for all of us. This however is an impossibility, considering the different technologies, number of authors, training intuitions, etc. but we can (and in my opinion should) at least STANDARIZE on the example we use to teach.
4.Eases introduction /
testing of new software.
Wouldn�t it be fantastic if all suppliers of software use UP as their sample application? I see clients of these software applications sharing test sets; communicate problems / ideas etc. with other users and the suppliers.
This is only a quick list of what I see as, being benefits of using UP. No doubt that more can be found. I�m also sure that disadvantages could be found but I�m not in the �market� to list them here.
And next
The 1st priority should be to find a group of people prepared and able to contribute in creating the abstract project.
The idea must also be �sold� to industry �movers-and-shakers� that have the ability to evangelize UP.
I personally think a community should be created around the UP with its own �home� on the internet, where the project can grow and �live�.
This site should include:-
-Forum�s where people can share ideas, ask questions, make suggestions etc.
-Download area where people can download the latest (PDF) version of project book and sample the code by others.
-Articles by industry leaders and others teaching IT related subjects using the UP as example.