Tuesday, 23 June 2009

PARALLEL COMPUTING:

This topic was represented by

Mariam Mwakisisile and
Abdallah R. Sasya.

Introduction.
The topic concerns about parallel computing. In early times many software were written in serial computation which means that it has to be run in a single computer having one CPU.
CPU Is an integrated electronic device which interprets instructions to the computer, performs the logical and arithmetic processing operations, and causes the input and output operations to occur.
It shows that only a single task was to be performed at a time and the execution process was one by one.
This process took a lot of time in performing one task there it came a concept of parallel computing which allows multiple work at a time. The concept of parallel computing wad introduced by American mathematician John Von Neumann in 1947. The idea of John was that different calculations can be performed on either the same or sets of data.
Parallel computer also need powerful computer which may posses two or more processors and the CP.
Computer which possess all these will be capable of saving time, solving large problem which are complex, Provide concurrency and also allows data sharing.

Challenges.
Applying and using parallel computing is expensive because it involves more hardware.
It sometimes increases traffic on the shared memory-CPUs path.
There must be a programmer to ensure correct access of global memory.

Conclusion .
Applying parallel computing is very important because the work will be simplified and performed well. In many companies which work with a large statistical data this is PC with the ability of performing many task at a time are to be used.
This is important to understand because sometimes we work with many data and find our self complaining with the speed of computer this may be one of the reasons that needs to be observed carefully. It also helps us to know that we can increase the performance of computer by adding processor or CPU which gives computers power.

SOFTWARE ENGENEERING

This topic was presented by
Nelson Shoo and
Christine Obed.

Introduction.
Software engineering Is the systematic approach to the design, construction, development and maintenance of computer programs.

Programming languages started to appear and spread in the early 1950’s, the languages such as Fortran, Algon and Cobol were the first language to be released
In 1968-1970 the birth of software engineering emerged, this was the effect of NATO software engineering conference.
Since then until present there was major improvement of software engineering.

Why we need software engineering.
In order to overcome the crisis and the demand of the present generation.
To improve the development of software that is producing high quality, cheaper, maintainable and deliver them at time.

Types of software engineering.
There are about four types of software engineering process.
Retail software.
It is the type that sold off the shelves of retail stores.
OEM software
This refers to software sold in bulk to resellers, designed to be bundled with hardware. Eg Microsoft.
Shareware.
Is the software that can be downloaded from the internet but after a several period of time the customer have to purchase.
Freeware.
This is another type of software which is downloaded from the internet for free but for person use, while commercial use it requires a paid license.

Software development falls under the following mode.
Software requirement analysis, System analysis and design, Code generation, Testing, and Maintenance.
Software engineering tools.
The process of developing software needs some tools that supports the process.
Engineering software .
These are computer aided tools which provides automated support of development process for example computer code. These tools are referred as CASE(Computer Aided Software Engineering) .
Methodologies of Software Engineering.
Object oriented Programming (OOP).
Is the computer program that used data structure to design application and computer program.
Rapid Application development(RAD)
It refers to a type of software development life cycle which uses minimal planning in favor of rapid prototyping.
Scrum. (all at once ) Is the type of methodology where different people with experience work together so as to manage complex work, such as new product development.
Team software process.
A defined operation process frame work that is designed to help teams of managers and engineers to organize and produce large-scale software projects.

Challenges of software engineering.
The technology of developing software is confined with the following challenges;
The ongoing change of technology gives designers a hard time in implementing the needed software in the society.
Rising of complexity of requirements from the users and their expectation, this also have a great effect in the process of development of software which can satisfy the need of all people.
Failure to implement the expected software; this may be a result of poor requirements from the customer.

Conclusion.
The topic have great impact in our professional because it familiarize us with the important process involved in the development of software. To understand the needs of the customer is important thing. Programming is all about software engineering and a good programmer is not the one who know how to write code but the one end up with a good result intended by the people.

LEARNING DIARY ON ARTIFICIAL INTELLIGENT:

This Topic was presented by ;
Edward coelestine and
Dastan Josephath.

Introduction.
Artificial intelligence is the branch of computer science which imitates the intelligence of human behaviors or Is the capability of a device to perform functions that are normally associated with human intelligence e.g. reasoning, thinking, interpreting .
This technology attempts to see if the mechanical devices can be demonstrated to behave like human being.
Artificial intelligence is the result of two words, Artificial and intelligence.
Artificial: this refers to man made things, or not made of natural things but made to be like something that is real or natural.
Intelligence: the ability of learning, understanding capability, reasoning and thinking capacity.
Robotics: Is the science and technology of robots and their design, manufacture and applications
In 1950’s the work of Turing put Artificial intelligence in a new face because of his test.
Due to Turing test many scientist started to work on the artificial intelligence which lead to discovery of robots. For example the Nomad robot explores remote regions of Antarctica looking for meteorite samples.
There were other advancement of AI, with significant demonstrations in machine learning, intelligent tutoring, case-based reasoning, multi-agent planning, scheduling, uncertain reasoning, data mining, natural language understanding and translation, vision, virtual reality, games, and other topics.
The technology is characterized with some characteristics; Reasoning (e.g. Voice recognition), Multi-agent Planning, Communication ability, Identification (e.g. Finger print & The Nomad robot explores.), Manipulation of object and Interpretation.
Presently there are some artificial intelligence machine such us;
Machine translator, Location detection e.g. tags, Automatic essay assessment , Electronic sensor e.g. weapons, drugs etc, Black box in an airplane, Robots.
Artificial Intelligence is applied in many areas such as in supermarket, in scientific experimentation, in sport and games, in domestic activities, in location detection, security affairs and others.
Advantages of Artificial Intelligence.
As explained above the areas under which the technology is applied there are also some of the advantages as follows.
Artificial Intelligence simplifies work, it is efficiency and accuracy,it enhance good communication and also it reduce miscellaneous ambiguity.

Disadvantages of Artificial Intelligence.
It requires highly skilled experts, It lead into loss of job, It is hard to implement especially in third world countries and it is expensive.

My comments on the topic.
The topic is very interesting but to implement this requires a skilled person. The idea of making machine which will perform activities as human being is great but it is not easy because machines can not think and understand things like human being. The efficiency and accuracy of machines is that they do not became tied and not forget things like human being .
There is still a great deal for experts to work hard in oder to come up with machines which can resemble like human to some functions.

Thursday, 18 June 2009

REAL TIME GRAPHICS AND RENDERING

INTRODUCTION

In the field of computer science is divided in different aspects according to its dealing with.
This have been citened from the previous field such as cryptographic (deal with encryption and decryption), finger print recognition, iris recognition and so many which driven with its own function.
Computer graphics: This is an art of computer based mathematical representation of geometric objects such as building a vehicles or any object including humans. But also there are different concepts which accompanied with computer graphics.
Raster: This is an image that displayed through the arrangement of pixels on screen.
Vector images: This is an image created by using mathematical algorithms and geometry functions to represent its size and shapes.
Model: This is 2D image or 3D objects created to resemble the actual thing. Therefore this all can be decorated to make good impression.

HISTORY OF COMPUTER GRAPHICS

After the invention and rapidly increase in software engineering in 1960’s that the rapidly developed of CG and rendering. In 1961 the first video game was created and named space war by Steve Russell.
But a program which ever utilized a complete graphical user interface was created in 1963 and named sketchpad. In 1971’s most important advancements in computer graphics microprocessor was seen.
In apple released the first personal computer to use a graphical interface. Finally during 1990’s a vast of film industries present has been incorpating CG in the business which made pressure CG and rendering.
Also there are some steps in designing the images in the CGI such as pre – design (this means before drawing they must be planning first). Modeling (modeling the process of a creating models), texture, animating (the rapid display of a sequence of images of 2 –D or 3 – D) and Rendering (this referred to as a process of converting vector images to raster image).
Another technology applied is open graphics language (OGL), this OGL have the steps in drawing.


- Draw basic primitives
- Matrix operation
- Hidden surface Removal
- Lighting and shading
- Texturing
- Fixed operations
- GPU Computation

ADVANTAGES

It minimizes the cost of actual production.
It gives more flexibility and allows complex effects and movies to be produced in film industries. This is due to the integrated software which make things as reality.
In medicine field, CG allow different simulation of parts of the body and organ which make it easily in understand and critical curing.
But the main disadvantages of CG and rendering it take a lot of opportunity which could be employment to the people.

CONCLUSION
Therefore CG and rendering is useful in our daily life when it used in efficiently way, it can be more applied in building simulation, films and all new technology which can be easily in conducting modern science.

Saturday, 13 June 2009

LEARNING DIARY ON IRIS RECOGNITION:

INTRODUCTION:
The reach field on Iris recognition was presented by Jumanne Ally and Robert Mwakajwanga on 12. June. 2009. On this topic have learned a lot of things that was makes me to be interested on it let look first on introduction of iris recognition.
IRIS recognition fall under biometrics authentification the word Biometric refers to the human identification and verification using biological traits, Iris is the muscles within the eye that regulate the size of the pupil and controlling the amount of light that inters the eye.
THE CONCEPT OF IRIS RECOGNITION:
Am very interested for what I have learned by that time the issue of how iris are formed by the presenters present that the iris is formed at the prenatal stage of development of human being , growth through the process of tight forming and folding of the tissue membrane that create the formation of iris to the eye, The iris of the left side and the right part are unique.Athough genetically are identical, an individual irises are unique and structurally recognition.
MECHANISNS OF IRIS RECOGNITON:
It is another part I has learned by that time how iris are recognized or the mechanism before recognition takes place the iris is located into the landmark features then the landmark and distinct shape the allow imaging, features isolation and extraction.
Then iris can recognized by using the special camera for example commercial iris cameras typical use infrared to illuminate the iris without causing harm.
TEST THE STATISTICAL IDEPENDENCE:
To perform recognition, two iris code are compared the amount of two iris code harming distance is used as test of statistical independence between two iris code.
ADVANTAGES AND DISADVANTAGES OF IRIS RECOGNITION:
It is easer I mean in recognition when somebody taken his/her eyes may be for more identification. Not only that since the iris are unique, this ensures maximum security,also identification of persons who have limited use of hands or arms,its stability or template longevity.
Hawever iris recognition although has the advantages also have disadvantages forexample the problem of scanner height adjustment sometimes it failed to take exactly the image requared at the particular time, also the proble of small target, huge system size, the problem cost it is very high cost so that people failed to have such intrument for making iris recognition as individual the last some the usre themselves they don’t have enough skills to use the machine.
CHALLENGES OF IRIS RECOGNITION:
To this part I have learned aloat of the challenges of iris recognition among of them is distance scanning . cost, border control,environmental challeges,high quality image.
CONCLUSSION:
To insure maximum security of our country borders as personal security we should not lie behind this technology. This recognition is especially attractive due to stability of the iris texture pattern.

LEARNING DIARY ON PROGRAMMING/COMPILER:


INTRODUCTION:
Am very interested on the topic, the topic was presented by Kwangu Masalu and Geofrefy. Mhando, the following are terms that I have learned during the presentation for example, Compiler – is a program that converts from some source code (programming language) to machine language. Not only that another thing is Machine Language is the representation of computer program which is actually read and interpreted by the computer while a Program that translates from a low level language to the higher level of language.
THE CONCEPTS OF PROGRAMMING AND COMPILER:
THE HISTORY OF COMPILER
Software for early computers was primary written in assembly language., higher level programming language were not inverted until the benefit of being able to reuse software on different kind of CPU started to become significantly greater than the cost of writing a compiler.
Another thing I have learned during the presentation was different term used in programming and compiler is that Translator A language translator is a type of software that translates a program written in second, third, or higher generation language into machine language, also Interpreters translate source code instructions into machine language and executes it one statement at a time, Syntax and Semantics that is grammar rules and meaning of command.
PROGRAMMING AND COMPILER:
In this topic I have learned three types of programming language. That is Machine languages is a language directly understanding by the machine or computer, therefore it is difficult to modify, it is use computer natural language that is 0sand 1s only, another language is Assembly language and Higher – level languages these two language requiring intermediate translator steps to be well understood by the user, Assembly language is the low level programming language , examples of higher level language is like COBOL, PASCAL,FORTAN …It is allow the users to specify the desired results without having to specify detailed procedures needed for achieving the results.
COMPUTER PROGRAMMING LANGUAGE:
Important for students in all disciplines of computer science that is help to understand well all programs found in different areas that can be learned for example the use of coce to display or getting the output from any source, It increase vocabulary of useful programming language, to make it easier to design and to learn a new language another thing its to make software development, interface writing.
CHALLENGES:
Programming and Compiler also has got challenges for example currently the programming languages are challenging on learning, not only that it needs for skilled programmer to run the difficult programs, it is difficult in debugging.
CONCLUTION: Programming and Compiler this is a good field research to understand because it help the user to understand many things applying on the machine.

Thursday, 11 June 2009

LEARNING DIARY ON FINGERPRINT RECOGNITION:

Introduction:
The topic was presented by Mr.Ayoub Mugube and John Malasa there is something called Physical identification considers physical appearance, voices, and other sensory data not only that there is another terminology used in fingerprint recognition called Biometrics is the way for unique recognizing human based upon one or more intrinsic physical or behavior traits, the biometric includes face, iris, retina scanning, voice identification and others, the fingerprint is one of the most convenient and foolproof.

The Concepts of Fingerprint Recognition:
A fingerprint is the impression left upon any surface with which the finger comes in contact under pressure. Fingerprint recognition refers to the automated method of verifying two or more human fingerprints.

History of Fingerprint recognition.
In 1880 Dr. Henry Faulds was the first to publish a scientific account of the use of fingerprint as a means of identification.
In the late 1960s Galton points has been utilized to develop automated fingerprint technology.
In the 1969 FBI developed a system to automate its fingerprint identification process.
The available fingerprint continued to improve until present.

Advantages and Disadvantages of Fingerprint
Less chance of fraud, because everyone has unique fingerprints. It can be applied to Modern computers, cars; automatic doors Fingerprint can’t be lost. Fingerprints do not change naturally. Its reliability and stability is higher compared to the iris, voice, and face recognition method. Fingerprint recognition equipment is relatively low-priced compared to other biometric system. not only that then the following are disadvantages, Some criminals burn their fingers with acids. Time consuming. Don’t trust new technology Some people have damaged or eliminated fingerprints.

Classification of Fingerprints:
In the classification of fingerprint has been classify in different type Classification of human fingerprint fall into three basic patterns there is LOOPS it starts on one side and goes around to the end on the same side, this is the type accounting for about 65% of all fingerprints if you look well its like delta form. Another type is WHORLS this starts in the middle and keeps getting bigger, it looks as a bunch of circles in each other, rounded or circular ridge pattern. this kinds it look like a deltas. The last one type is ARCHES
Is a shape that starts on one side and ends on the other side like a hill but this kind there is no like a delta form.

Fingerprint visibility;
Fingerprint can be seen with naked eyes called visible prints e.g... In dried blood, plastic paint, Fingerprint that leave an impression on object (In moldable substance) e.g.. gum, soap.

Challenges.
Fingerprints stored in the database can be easily determined by hackers.
The process of storing fingerprints weakens security.
Due to technical problem some sensors do not read fingerprint images properly.
Sometimes criminals do cut their fingers.

Conclusion.
Fingerprint recognition is important regardless of the disadvantages because it uniquely give the difference accurately.
Fingerprinting is even more discriminating than DNA analysis, which, with today’s technology, cannot distinguish between identical twins.
With fingerprint no two individual can have identical fingerprints.

LEARNING DIARY ON PROGRAM/SOFT WARE VISUALIZATION:

Introduction:
The program/software visualization was presented by Rachael Myinga & Venance Luhemeja the students of Tumaini University at Iringa Region the content was presented was good and attractive even to find other materials to learn more about that. Therefore I will start defining each term independently and then defining them as a whole. By starting with program is a set of execution instructions that solves a problem or a difficult. Visualization is the making visible or to make things observable to the mind or imagination. By combining the two terms now we have the term program/software engineering which consists of producing animated views of program to be executed.

Concept of program/software visualization:
There basically two types as;
Visualization of a single component.
(Source code and quality defects during software development and maintenance activities).
Visualization of the whole (sub) system.
(investigate the architecture or to apply or visual analytics techniques for defect discovery)
This program/software visualization was aiming to achieve the goals of systematic creation of visual representations. Also it binds data to representations that can be recognized e.g. visual, auditory and tactile and specification of user explanations.

Importance of program/software visualization.
The program/software help in improving performance and Support visible more comprehensible and converting data into a graphic or graphic representation.Helps programmers to understand program behavior & code better for example when black screen you can see all the code and give the output of the code applied.

Problems;
The program/software visualization is accompanied by some sort of problems including limited screen space where it very difficult to observe how the codes are
executed. Also the problem of unfavorable condition or circumstances which does not favor the codes to run in that particular computer is still a problem. One more thing is the aspect of behavior to be visualized must be identified. Handle real-world problems.(uses of programs in small client/lab/ with few line of codes)Security upon program / soft ware. Network Latency. Designing and specifying all these are some challenges on the program/software visualization.

Conclusion;
Programs are not only files, but indeed technical publications. In order to transfer programs into publications, some principles need to be adopted, so that the codes can be
properly and nicely mapped into visible language constructs, and everybody they can understand well and apply for their benefit.