Cheap Web Hosting | Free Web Hosting | Dedicated Server | Windows Hosting | Free Web Space | Web Hosting | FrontPage | Business Web Hosting
cheap web hosting
Search the Web

Unofficial Computing Notes
and Research Reports by Dr Jan Pajak
(1999-2003)
Updated:
18 March 2007


Click refresh if this page shows incomplete



Menu 1:

(This web site:)

(Homepage:)
Index

(Pages on
this web site:)

Home Page

About Me

Links

Catalog of notes

All-in-one


(My lecture notes 1999-2003, on this web site:)

JavaScript

PR515 (JavaScript
cs/ss scripting)

PR655 (JavaScript
cs/ss advanced)

CS/SS scripting

Java Applets

SE5120 (C)

PP (C++)

OO (C++)

PR611 (C++)

Delphi (OO)


(Program samples:)

2002 Search engines

1999-2003 Calculators


(My computer research 1999-2003:)

Computing

Search Engine




Menu 2:

(1999-2003 lecture notes:)

pajak.20m.com

pajak.20fr.com



(2004-2005 lecture notes:)

pajak.ownsthis.com

pajak.orcon.net.nz



(2007 lecture notes:)

pajak.fateback.com

pajak.6te.net




Menu 3:

(scrollable)

Here is the list of all my web pages from all servers. These are arranged primarily by language (i.e. as web pages in Polish, English, German, French, Spanish, Italian, Greek, and Russian.) For each language web pages are arranged by their subjects. Choose the page that interests you by dragging scroll bars, then click on this page to run it:

Here the page menu.htm should be displayed.

(The same list can be displayed from "Menu 1" by clicking over there on the item "Menu 4".)

Welcome to my unofficial notes and reports sharing page

       The goal of this web site is to share my unofficial lecture notes and research reports, together with a collection of program samples which accompany these notes and reports. Hopefully, viewers can be inspired by manners in which I solved various matters, while their knowledge can somehow benefit from my work and teaching experience encapsulated in this site. The site is also addressed to students of subjects that I am currently teaching, to my former students (in case they wish to have a quick reference to a topic, program, diagram, or material, that I discussed with them during my classes), to students of similar subjects from other educational institutions - who may wish to have a look how another lecturer is addressing a given topic, as well as to my professional colleagues - i.e. other lecturers and teachers of similar subjects, that may wish to have a look at "what" and "how" I am teaching. You are welcome to use these notes, if you feel so, and please do not hesitate to let me know if you find something in them that is outdated, imperfect, or simply contains a human error.
   A rather unique feature of sample programs that are attached with these lecture notes, is that they present solutions of almost the same problems prepared in several different programming languages. Therefore, for example a problem of translation of Arabic numbers into Roman numbers is solved in JavaScript, Java, PP C++, and OO C++ languages. Similar is with many other programming problems, e.g leap year verification, Bubble Sort, calculators, etc.
   Especially I would like to recommend my collection of calculators programmed with JavaScript and with Java Applets. These calculators are available via the menu item marked "calculators". Furthermore, I also recommend examples of interesting programs, which are very useful in teaching of programming. These are available either via the menu item marked as "catalog of notes", or directly from pages devoted to individual programming languages (JavaScript, Java, Delphi, C++).
Should for some reasons this Web site get out of order, actually there are two mirror copies of it, which are available at the internet addresses Pajak.20m.com and Pajak.20fr.com. Both of them offer the same lecture notes and the same examples of programs. Thus in emergency situations please visit also a mirror site.
Notice that you can see the enlargement of each photograph from this web site, simply by clicking on this photograph. Most of browsers that you may use, including the popular Internet Explorer, allow also to download each illustration to your own computer, and then look at it, reduce or enlarge the size of it, or print it with your own graphical software.


This is me - Dr Jan Pajak. Cooling down in a Malaysian river. Photographed during my Professorship at the University Malaya in Kuala Lumpur.


If you are interested in web sites development

       There is another web site that I am presently developing, which is aimed at guiding newcomers through the entire process of development of their own web site (starting from the scratch). This my another educational web site has the address websitemaker.20m.com. You can find in it various practical hints, how to go about the development of your own web site. It also includes a page that contains a list of internet addresses to around 100 search engines, and another page which list sources of various free computer resources useful for web site development (e.g. free web space providers). Moreover, it has a search engine submission page, which assists in submitting your web sites to existing search engines. In spite that this another my web site is still in the process of being developed, it is already highly useful. You are welcome to have a look at it (click the menu item websitemaker from "Web tutorials" to get there).

How my unofficial lecture notes were prepared:

       Practically I worked on them during my whole lecturing career so-far. Especially the examples of programs contained in these notes are collected over many years, some originating from the very beginning of my teaching career. The Tertiary Educational Institutions, in which I lectured during the period of time when the gathering of material which gradually eventuated in these notes, include:
       1. The Technical University of Wroclaw, Poland (where I was employed as a Polish equivalent to a reader from English University System)
       2. The Canterbury University, Christchurch, New Zealand (where I had opportunity to work as a Post-Doctoral Fellow).
       3. The Southland Polytechnic, Invercargill, New Zealand (where I had the pleasure to work as a Senior Tutor in computing).
       4. The Otago University, Dunedin, New Zealand (where I was a Senior Lecturer in the Department of Quantitative and Computer Studies, specialised in Software Engineering).
       5. The Eastern Mediterranean University, Famagusta, Northern Cyprus (where I was an Associate Professor in Computer Sciences, with specialisation in Software Engineering).
       6. The University Malaya, Kuala Lumpur, Malaysia (where I had a honor to work as an Associate Professor of Engineering).
       7. The University of Malaysia Sarawak, Kuching, Borneo (where I could contribute my knowledge and experience working as an Associate Professor of Engineering).
       8. The Aoraki Polytechnic, Timaru, New Zealand (where I was employed as a computing tutor).
       9. The Wellington Institute of Technology, Wellington, New Zealand (which provided me with the opportunity to utilise my experience and knowledge from the area of computing by working as an "Academic Staff Member").
       In addition to this, some information contained in my lecture notes originates from as far as my employment in industry. I actually was employed in two large factories, namely in:
       10. Computer producing factory Mera-Elwro. (I worked there as a scientific adviser in the Software Development Department.) For example, all student projects concerning calculators originate from this my employment, as one of tasks I helped to solve over there was the production of a scientific calculator (for more details see my list of publications on Computing Research).
       11. Bus and trucks producing factory named Polmo-Jelcz. (I worked there as a scientific consultant in the Production Technology Department.) A lot of engineering teaching that I carried out on the Computer-Assisted Design (CAD), but that are not addressed in these lecture notes, were based on my work carried out in this bus and truck producing factory.
       I would like to take this opportunity, and thank to all these my countless colleagues and students, who contributed somehow to the lecture notes that I am using in my teaching, either by making available their own ideas, or by guiding, advising, inspiring, commenting, criticising, or just simply listening. Thank you all! In order to pass further your willingness to share knowledge, I am making available here my lecture notes.

Programming languages addressed in these notes

       The lecture notes available here are elaborating on the following programming languages:
C for Procedural Programming (PP)
C++ for Procedural Programming (PP), and for Object Oriented (OO) applications
COBOL for Procedural Programming (PP)
Delphi (in Object Oriented applications)
Java Applets (in web pages design)
JavaScript (as an initial course for scripting of simple web pages, and also as part of advanced courses in client-side and server-side scripting) combined with HTML.


Computing subjects that are covered in these notes

       From the subject area point of view, these lecture notes elaborate on such matters as:
       programming in various computer languages listed above,
       fundamentals of computing (including program design and development, logic charting, numbers systems, operating systems, etc.),
       web pages development (including programming of web pages, web pages design methodologies, samples of web pages, etc.)
       web pages scripting (including JavaScript, Java Applets, client-side scripting, server-side scripting, and more).


Students and their professor! Myself (Dr Jan Pajak) with students of my course on Software Engineering, at the Eastern Mediterranean University in Northern Cyprus!

Please Notify me if you spot any matters in my lecture notes or research reports that should be altered or improved. No-one is perfect, neither my lecture notes do. Should you find something requiring an urgent attendance, please let me know!


How to go about downloading lecture notes from this Web Page:


Move to the page which in Menu 1 is marked catalog of lecture notes by clicking either here, or on the menu from the left margin of this page, then choose a subject on which you wish to download the notes, and then click on the topic of notes that you wish to have, finally save these notes in your own computer.
My other email is: janpajak@lycos.com

My research:

       My research have a multidisciplinary character. For example, apart from research done in computing, currently I also investigate a device for remote detection of impending earthquakes and for giving advanced earthquake warnings. This device is to raise alarm a long time before an earthquake is to strike. Outcomes from some of this my research on earthquakes you can review on several web pages listed in "Menu 2", e.g. on: alarm.gq.nu, alert.1hwy.com, etc. Have a look at them. Perhaps you find this device interesting.
       Of course, a significant amount of my latest research related to the area of computer science. In order to name several topics that I researched from the area of computer science, these included, amongst others (for more comprehensive list of my research topics and research publications see the web page Computing Research):
       (a) The "all-in-one" idea. This is a new idea for computing. (I believe that in the formulation briefly explained and illustrated here - it is my own.) It is based on a very old finding, that for quantitative calculations which are needed one time only, a good calculator is incomparably more useful than a best programming language. This is why shoppers bring calculators with them to supermarkets, instead of using their computers for calculating prices and spending. I conceived this new idea around 21 May 2005, when in the course of my research, which at that time I was completing at the Wellington Institute of Technology, I attempted to develop a virtual keyboard for an universal use. I realised then, that it is possible to design this virtual keyboard in such a manner, that it obtains a processing power of a sophisticated programming language, while simultaneously it still maintains a simplicity of a calculator. I gave the name "all-in-one" to this new idea of a software tool for single-use quantitative calculations. Soon afterwards I completed a first prototype, in which I implemented practically this new idea. My intention was to develop a kind of powerful calculator, the processing capability of which would be equal of these from most sophisticated programming languages. Unfortunately, just when I managed to finish a second prototype of this super-powerful calculator, and intended to subject it to testing and research, on 22 July 2005 I was made redundant from the IT position. (There was a rapid drop in IT student numbers, which NZ experienced at the beginning of 2005.) In such circumstances I could not carry out the development of further improved prototypes. Therefore, at the moment the practical implementation of this "all-in-one" idea still has a lot to wish for, e.g. regarding the user-friendliness, ergonomics, types of calculations it is able to carry out, processing power, etc. However, it already demonstrates quite well as to what this new computing idea of "all in one" is about. You can see this second prototype for the "all in one" idea at several web pages listed in "Menu 2", e.g. at: magnocraft.20fr.com, capsule.20m.com, totalizm.fanspace.com, etc.
       Of course, the huge potential of this new idea "all in one" does NOT finish on making it available to users via present computers. After all, programming it into computers must open possibilities to apply it also in other areas. For example, relatively easy it can be implemented also on the cellular telephones. After such an implementation, each cellular phone would work practically as a totaliztic keyboard in the "all in one" idea, linked in a network with computers of a large processing power. One does not need explanations how our life gets improved, when users of all cellular phones would rapidly receive the calculation power equal to that of the most powerful programming language and computer, released with the simplicity of operating just an ordinary calculator.
       (b) Search engines. I am researching these currently (I actually try to develop several search engines and then investigate their properties). You can find out more about this current research from the page Search Engine Research.
       (c) Natural languages processing.
       (d) Thermal graph method for investigation of temperature distribution (this method is a version of finite elements method).
       (e) A language for automatic programming (I actually was an author of my own programming language called JAP - named from the Polish "Jêzyk Automatycznego Programowania" (i.e. the "Language of Automatic Programming"), which was in use for several years at a number of Polish Universities.
       (f) Computer viruses.
       Also several other topics. More information about directions of my research in computing, and about my research publications in this area, you can find on the web page Computing Research from the menu.

What is this "all-in-one" idea for computing:

       Let us now explain briefly, what actually is this idea of computerisation called "all in one." These readers, who make programs for computers, know well that there are two basic categories of calculations and computing tasks, namely (a) repetitive tasks (e.g. balancing of funds by a bank), and (b) tasks which are only carried out one time (e.g. calculating during our shopping in a supermarket, which product that they offer is more beneficial to us in terms of price to weight). Tasks which are repeated many times are worth to be computerized through writing programs. After all, the large contribution of labour for the completion of programs is returned for them when these programs are utilized. However, tasks carried out only one time are not suitable for programming. After all, the large input of labour for programming them would never be returned, if this program is used a single time only. Thus, computing of tasks which are completed only a single time, usually is completed either with calculators, or manually. The enormous processing power of present computers is not harvested for them. This is quite a regretful situation, as there is a large potential being lost.
       On 21 May 2005 I started to develop a kind of virtual keyboard for universal applications. I realized then, that this keyboard can be made almost infinitively universal, and that it can obtain almost all calculating powers that a given computer has. In the result, such a small keyboard can receive practically all capabilities, which presently are embedded into the most advanced programming languages and computers. But it still is going to maintain simplicity of a calculator, and still can be used just as a calculator - means just for completing single-use jobs. In this manner, the new idea for computerization called "all in one" was born. This new idea boils down to a design of a keyboard, which in a simplest possible form supplies the users with all capabilities of data processing that normally are offered only by complex and sophisticated programming languages and computers. In this way the powerful calculation abilities of present computers can be made accessible for these people who wish to carry out tasks for only single uses. Immediately after this idea evolved in my mind, I started to construct a prototype keyboard, which implemented practically this idea of "all in one". Unfortunately, shortly afterwards, this work was interrupted for objective reasons (i.e. my redundancy from the IT job). Until this interruption, I managed to contribute towards the development of the "totaliztic keyboard" only around two months of occasional programming and thoughts. On the other hand, in order to develop such a powerful software tool to a reasonable level, in my opinion it requires at least a year of continuous research, thinking over, testing, and programming by a single researcher.
       Fortunately, until the time when I lost my IT job and thus was forced to abandon this project, I managed to program a second prototype of the "totaliztic keyboard" for this "all in one" idea. Although this second prototype still leaves a lot to wish for, regarding the ergonomics, user-friendliness, and calculation power which it already received, still it illustrates well what this new idea "all in one" is about. So by checking here how it works, the reader obtains quite a good understanding as to how this new idea "all in one" is able to facilitate all calculations for only a single use. After all, the reader is able to realize from this prototype, that in future implementations of this idea both text boxes can be made adjustable - so that they accommodate whatever the user wishes, that both alphabets (i.e. present Russian and present English + Polish) can be made replaceable - so that the user could switch/exchange them into Japanese, Korean, Thai, Arabic, Jewish, Greek, or any other alphabet in existence in the world, that the edition capabilities of this keyboard can be increased until they reach these from the WORD or WORD PERFECT, that the number of mathematical functions and physical conversions can be increased to practically unlimited extent, that the calculations carried out can be simplified and facilitated further by adding the capability to "recognize" in the text values that should be subjected to calculations, and by writing the results in any place that the user indicates, that to the processing power of this keyboard can be added graphics, animation, and whatever someone wishes, etc., etc. So practically, after full implementation, this new idea of "all in one" in fact would allow users to carry out with this single simple keyboard practically every type of data processing that present computers are able to do and that are on offer in the form of complex programming languages. And we know that there is a lot of such capabilities. Actually, even in the present, far from perfection form, this keyboard is already able to be utilised for facilitating an entire range of works, including calculations, translation, editing, typing, transliteration, conversion, etc. Furthermore, it provides us with an idea (a concept) which can be developed further e.g. by assigning to it diploma projects and doctor dissertations from computer sciences. In turn, after it is developed to the practically useful level, it will be able to enhance the work and life for a large number of people, who need to computerise and simplify all one-off activities that they carry out.
Date of the latest update of this page: 18 March 2007.
Counts of visits to this page:

Hit Counter
Hit Counter
18576