Unofficial Computing Notes
and Research Reports by Dr Jan Pajak
21 August 2010

Click refresh if this page shows incomplete

Menu 1:

(This web site:)



Menu of pages available here




Menu 2 (pages here)

Menu 4 (my web sites)


(Pages on
this web site:)

Home Page

About Me

Menu of pages


Catalog of notes


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


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:)


Search Engine

Menu 2:


Here is the list of all web pages which should be available at this address (i.e. from this server), arranged by language (in 8 languages). It represents a more frequently updated version of "Menu 1". Choose below the page that interests you by dragging scroll bars, then click on this web page to run it:

Here the page menu2.htm should be displayed.

(The same list can also be displayed from "Menu 1" by clicking Menu 2.)

Menu 3:
(Related web pages:)

(My 1999 web programming notes:)

(My 1999-2003 lecture notes:)

(My 2004-2005 lecture notes:)

Servers that already deleted these notes - they used to be at:

(2005 volumes of [1/4]:)

(2007 lecture notes:)

Menu 4:


Here is the list of addresses of all totaliztic web sites that still worked at the date of the most recent update of this web page. At each of these addresses should be available all totaliztic web pages listed in "Menu 1" or "Menu 2", including also their different language versions (i.e. versions in languages: Polish, English, German, French, Spanish, Italian, Greek or Russian.) Thus firstly select the address which you wish to open by dragging scroll bars in small window below, then click on this address to run it. When opens the web page which represents this address, then choose from its "Manu 1" or "Menu 2" the web page which interests you and click on it to view that page:

Here the page menu.htm should be displayed.

(The above list can also be displayed from "Menu 1" by clicking Menu 4.)

Welcome to my unofficial notes and reports sharing page

#1. Let me introduce myself:

       I am Dr Jan Pajak. Details of my life, and my professional accomplishements, are outlined on a separate web page about me (Dr Jan Pajak) available from "Menu "1.

#2. The goal of this web 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 my various 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 in my various lecture notes is solved in JavaScript, Java, C, PP C++, and OO C++ languages. Similar is with many other programming problems, e.g leap year verification, Bubble Sort, calculators, etc.

Fig. #1

Fig. #1: This is me - Prof. Dr Jan Pajak (i.e. I am the person wearing a hat). On one of my field trips to check my "blowpipe" hunting skills. Although the use of blowpipes for hunting may appear to be very primitive, actually it is a very effective hunting technique. We must remember that Orang Asli natives from Malaysia (visible on the edge of this photograph) tip their miniature darts with the "curare" poison made from the Ipoh tree. So animals hit with such darts die instantly like have been struck by a lightning. On the other hand, the meat of animals killed by darts tipped in curare is still edible (i.e. NOT poisonous). Photographed in 1995 during my Professorship at the University Malaya in Kuala Lumpur.
       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.

#2.1. If you visit this web page to learn programing of web pages in HTML, then perhaps you should visit my other educational web pages listed below in this item:

       From my experience it stems, that the best way of learning DIY (i.e. "do it yourself") how to program web pages, is to start from altering for your own use a simple web page which was programmed by someone else. Just such an example of a very simple web page programmed in HTML, together with an instruction how to alter it for your own use, is provided in "part #C" of my web page named p_instruction.htm - which you can find at addresses: In turn a theory which should help you in making own web pages, you can find at my old web page named websitemaker - which is available at the address

#3. 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").
       10. The Ajou University, Suwon, South Korea, (which provided me with the opportunity to utilise my experience and background from the area of Software Engineering by inviting me for a Visiting Professorship).
       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:
       11. 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.
       12. 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 a knowledge, I am making available here my lecture notes.

#4. Programming languages that I lectured in various educational institutions, and thus that could be addressed in my lecture notes:

       Various lecture notes that I prepared during my professional career, but which not necessarily are presented here, elaborated 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)
PASCAL for Procedural Programming (PP)
Delphi (in Object Oriented applications)
Java Applets (in web pages design)
JavaScript combined with HTML (as an initial course for scripting of simple web pages, and also as part of advanced courses in client-side and server-side scripting).

#5. Computing subjects that I lectured, thus that impacted the content of my lecture notes:

       The list of computer subjects that I used to teach is quite a long. It includes, amongst others, the following:
       Software Engineering - this is my main specialisation area,
       programming in various computer languages listed above in item #4,
       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).

Fig. #2

Fig. #2: Students and their professor! Myself (Dr Jan Pajak) with students of my course on Software Engineering, at the Eastern Mediterranean University in Northern Cyprus, 1992-1993!

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!

#6. 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.
       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:
       (a) The "all-in-one" idea. This is a new idea in computing. (I believe that in the formulation briefly explained and illustrated here - it is my own idea.) 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 the web page listed in "Menu 1".
       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, it can be implemented relatively easy on the cellular telephones. After such an implementation, each cellular phone would work practically as a keyboard in the "all in one" idea, linked in a network with computers of a large processing power. One does not need an explanation as to how our life would get improved, if users of all cellular phones would rapidly receive the calculation power equal to that of the most powerful programming language and computers, released with the simplicity of operating just an ordinary calculator.
       (b) Search engines. I was researching these in my previous job. (I actually managed to develop several prototypes of search engines, and then investigate their properties. But no engine of my design was implemented commercially, as yet.)
       (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.

#7. Emails and contact details to the author of this web page:

       Current email addresses of the author of this web page, i.e. Dr Jan Pajak (while for the duration of 2007 - Prof. Dr Eng. Jan Pajak), at which readers can post possible comments or inquiries, are provided on the web page named about me (Dr Eng. Jan Pajak). That page also provides my postal address and telephone numbers.

#8. Copyrights © 2010 by Dr Jan Pajak:

       Copyrights © 2010 by Dr Jan Pajak. All rights reserved. This web page, amongst others, reports outcomes of research by the author - only that does it in a popular language (so that it can be understood by readers with non-scientific orientation). Ideas presented on this web page, on pages linked to it, as well as in publications by the author, are unique for the author’s research, and thus from the same angle these ideas were NOT presented by any other researcher. As such, this web page presents, or provides links to, ideas which are the intellectual property of the author. Therefore, the content of this web page is the subject to the same laws of intellectual ownership as every other scientific publication. Especially the author reserves for himself the credit-rights for the scientific discoveries and inventions described on this web page and on pages linked with it. Therefore, the author reserves that during repeating any idea presented on this web page (i.e. any theory, principle, deduction, interpretation, device, evidence, proof, etc.), the repeating person gives a full credit to the author of this web page, through clearly explaining that the author of a given idea and/or research is Dr Jan Pajak, through indicating the internet address of that web page on which given idea was published, and through mentioning the date of most recent update of that web page (i.e. the date indicated at the end of page).
* * *
Date of starting this web page: 1999.
Date of the latest full update of this page: 21 August 2010
(Item #2.1 was added to it on 28 November 2014)