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.