TO MY BLOG !!!

martes, 14 de agosto de 2012

SIMPLE PRESENT TO BE

TRANSLATE THE TEXT:


COMPUTER PROGRAMMING
Computer programming (often shortened to programming or coding) is the process of designing, writing, testing, debugging / troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language. The code may be a modification of an existing source or something completely new. The purpose of programming is to create a program that exhibits a certain desired behavior (customization). The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.


ALGORITHMIC COMPLEXITY
The academic field and the engineering practice of computer programming are both largely concerned with discovering and implementing the most efficient algorithms for a given class of problem. For this purpose, algorithms are classified into orders using so-called Big O notation, O(n), which expresses resource use, such as execution time or memory consumption, in terms of the size of an input. Expert programmers are familiar with a variety of well-established algorithms and their respective complexities and use this knowledge to choose algorithms that are best suited to the circumstances.


METHODOLOGIES

The first step in most formal software development projects is requirements analysis, followed by testing to determine value modeling, implementation, and failure elimination (debugging). There is a lot of differing approaches for each of those tasks. One approach popular for requirements analysis is Use Case analysis.
Popular modeling techniques are Object-Oriented Analysis and Design (OOAD) and Model-Driven Architecture (MDA).
The Unified Modeling Language (UML) is a notation used for both the OOAD and MDA.
A similar technique used for database design is Entity-Relationship Modeling (ER Modeling).
Implementation techniques are imperative languages (object-oriented or procedural), functional languages, and logic languages.

lunes, 6 de agosto de 2012

SIMPLE PAST - HISTORY OF TURING MACHINES

Turing machines were invented by Alan Turing in 1936 as idealized models for the basic processes of mathematical calculation. Turing's main interest was showing what his machines could in principle make, not in finding out what simple examples of them actually did. Indeed, even though he had access to the necessary technology, Turing never explicitly simulated any Turing machine on a computer.

Since Turing's time, Turing machines were extensively used as abstract models in theoretical computer science. But in almost no cases has the explicit behavior of simple Turing machines been considered. In the early 1960s, however, Marvin Minsky and others worked on finding the simplest Turing machines that could exhibit certain properties. Most of their effort was devoted to finding ingenious constructions for creating appropriate machines. But around 1961 they did systematically study all 4096 2-state 2-color machines, and simulated the behavior of some simple Turing machines on a computer. They found repetitive and nested behavior, but did not investigate enough examples to discover the more complex behavior shown in the main text.
As a descendant of abstract studies of Turing machines, Tibor Radó in 1962 formulated what he called the Busy Beaver Problem: to find a Turing machine with a specified number of states that "keeps busy" for as many steps as possible before finally reaching a particular "halt state" (numbered 0 below). (A variant of the problem asks for the maximum number of black cells that are left when the machine halts.) By 1966 the results for 2, 3 and 4 states were found: the maximum numbers of steps are 6, 21 and 107, respectively, with 4, 5 and 13 final black cells. 

The result for 5 states is still unknown, but a machine taking 47,176,870 steps and leaving 4098 black cells was found by Heiner Marxen and Jürgen Buntrock in 1990. Its rule is:

                                                          Adapted form http://www.wolframscience.com/nksonline/page-889a-text?firstview=1