Publicado por & archivado en Algoritmica y Programacion.

Como citar este artículo:
Quispe-Otazu, R. ¿Que es la Programacion?. Blog de Rodolfo Quispe-Otazu [Internet]. Abril 2007. Disponible en: http://www.rodolfoquispe.org/blog/que-es-la-programacion.php

¿Que es el Programacion?

Un programa bien escrito es su propio cielo; un programa mal escrito es su propio infierno. [Geoffrey James, El Tao de la Programacion]

Introduccion:

La Programacion ha pasado a tener un papel importantisimo en la vida diaria, gracias a ella podemos programar los ordenadores, electrodomesticos, robots y otras maquinas. La Programacion intenta resolver ciertos problemas que nos surgen todos los dias basandose en una metodologia.

El conjunto de problemas que son resolubles utilizando un computador es indudablemente, muy extenso. El concepto de algoritmo es fundamental para la actividad de resolver problemas con computadoras, por lo que necesitamos adquirir un conocimiento firme sobre lo que es y no es con objeto de llevar a cabo de forma eficaz la actividad de resolver problemas ya que este es el proposito de escribir algoritmos.

Definiciones:

  • Un programa de computador es un conjunto de instrucciones ordenes dadas a la maquina que producirán la ejecución de una determinada tarea. A la persona que escribe programas se le denomina Programador, al proceso de escribir programas se denomina Programacion.
  • En informática, la programacion es un proceso por el cual se escribe (en un lenguaje de programacion), se prueba, se depura y se mantiene el código fuente de un programa informático.
  • La Programacion es la accion de escribir un conjunto de instrucciones escritas en un determinado lenguaje, que dirigen a un ordenador para la ejecución de una serie de operaciones, con el objetivo de resolver un problema que se ha definido previamente.
  • La Programacion es un conjunto de tecnicas utilizadas para desarrollar programas que sean faciles de leer, depurar (poner a punto) y modificar o mantener.

Programacion y Algoritmos

Un programador no solo debe aprender la tarea que realiza cada instruccion sino que ademas debe saber combinar estas instrucciones para realizar un tarea en particular. Al considerar este problema desde un punto de vista diferente, un programador primero debe resolver el problema paso a paso y luego tratar de encontrar las instrucciones (o series de instrucciones) apropiada que resuelva el problema. La solucion paso a paso se conoce como algoritmo. Los algoritmos juegan un papel muy importante en la ciencia de la computacion.

Programacion y Ingenieria de Software:

Al principio la programacion de ordenadores se veia como un arte, todo era cuestion de dominar un lenguaje de programacion y aplicar habilidades personales de resolucion de problemas.

En la actualidad no es aceptable escribir un programa que realiza una tarea sin seguir principios y metodos de ingenieria de software para obtener programas confiables.

Una buena formacion en programacion no solo debe incluir el estudio de los esquemas algoritmicos, y estructuras de datos mas importantes, el analisis de algoritmos y el paradigma orientado a objetos. Una buena formacion en programacion tambien deberia incluir, una formacion en ingenieria de software y estudiar ingenieria de requisitos, metodos de desarrollo de software, gestion de proyectos, y sobre todo, adquirir experiencia practica participando en proyectos de software.

Programacion y Creatividad

La programacion es una actividad en la que la creatividad juega un papel crucial, por ello un buen programador ademas de tener una buena formacion academica es una persona muy creativa y con una gran capacidad de abstraccion, esencial para la resolucion de problemas. Los programadores siempre deben tener presente que se enfrentan a una actividad muy compleja y deben desconfiar de los lenguajes, metodos o herramientas que se ofrecen como soluciones magicas para construir software de forma casi automatica y sin apenas esfuerzo, sin dejar lugar a la creatividad. Ellos deben saber, de acuerdo a Brooks, que las tecnologias abordan problemas accidentales. Pero los problemas esenciales pueden ser abordados a traves de solidos principios software. El buen programador debe ser un persona que sabe trabajar en equipo, que conoce la importancia del trabajo metodico, y que no se comporta como un programador complusivo que se plantea la programacion como una batalla a muerte contra la maquina, sin tregua ni cuartel.

Referencias:

  • Behrouz A. Forouzan. Introducción a la Ciencia de la Computacion. Thomson Paraninfo 2003
  • Jesús J. García Molina, Francisco J. Montoya Dato, José L. Fernández Alemán, Mª José Majado Rosales. Una Introducción a la Programacion. Un Enfoque Algorítmico. Thomson Paraninfo 2005
  • Wikipedia. Programacion. Febrero 2007

Publicado por & archivado en Algoritmica y Programacion.

Como citar este artículo:
Quispe-Otazu, R. ¿Que es un Algoritmo?. Blog de Rodolfo Quispe-Otazu [Internet]. Marzo 2007. Disponible en: http://www.rodolfoquispe.org/blog/que-es-un-algoritmo.php

¿Que es el Computacion?

Nuestra herramienta mental más importante para competir con la complejidad es la abstracción. Por tanto, un problema no deberá considerarse inmediatamente en términos de instrucciones de un lenguaje, sino de elementos naturales del problema mismo, abstraídos de alguna manera. [Niklaus Wirth, Creador del Lenguaje Pascal]

Definicion: Algoritmo

Podemos encontrar muchas definiciones completas o formales de algoritmo en los textos de algoritmica y programacion, todas ellas muy similares:

  • Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]
  • Descripcion de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomica lexico [Pierre Scholl, 1988]
  • Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]

Caracteristicas:

Las características fundamentales que debe cumplir todo algoritmo son:

  • Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de interpretación.
  • Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá finalizar al completarlos.
  • Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o estos son generados de alguna forma) para llevar a cabo las operaciones que comprende.
  • Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como únicamente “verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programación que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.
  • Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada menos que aquello que se requiera para y en su ejecución.

Historia:

La palabra algoritmo proviene del nombre del matemático llamado Abu Abdullah Muhammad bin Musa al-Khwarizmi (hay muchas variantes para el nombre al usar el alfabeto latin, tales como Al-Khorezmi, Al-Khwarizmi, Al-Khawarizmi, Al-Khawaritzmi o Al-Khowarizmi) que vivió entre los siglos VIII y IX.

Su trabajo consistió en preservar y difundir el conocimiento de la antigua Grecia y de la India. Sus libros eran de fácil comprensión, de ahí que su principal valor no fuera el de crear nuevos teoremas o nuevas corrientes de pensamiento, sino el de simplificar las matemáticas a un nivel lo suficientemente bajo para que pudiera ser comprendido por un amplio público. Cabe destacar cómo señaló las virtudes del sistema decimal indio (en contra de los sistemas tradicionales árabes) y cómo explicó que, mediante una especificación clara y concisa de cómo calcular sistemáticamente, se podrían definir algoritmos que fueran usados en dispositivos mecánicos similares a un ábaco en vez de las manos. También estudió la manera de reducir el numero de operaciones necesarias que formaban el cálculo.

Por esta razón, aunque no haya sido él el inventor del primer algoritmo, merece que este concepto esté asociado a su nombre. Al-Khorezmi fue sin duda el primer pensador algorítmico.

Ya en el siglo XIX, se produjo el primer algoritmo escrito para un computador. La autora fue Ada Byron, en cuyos escritos se detallaban la máquina analítica en 1842. Por ello que es considerada por muchos como la primera programadora aunque, desde Charles Babbage, nadie completó su máquina, por lo que el algoritmo nunca se implementó.

La idea de resolver un problema o de disponer de un algoritmo es bastante antigua, tal es así, que existía la errada creencia que no había problema que no se pudiera resolver y en base a ello, el matemático David Hilbert quiso descubrir un algoritmo para los algoritmos. Hoy en dia gracias a los trabajos de Kurt Gödel, Alonzo Church (calculo lamba), Alan Turing (maquina de turing), se sabe que dentro del universo de problemas, una pequeña parte es computable, luego que el objetivo que perseguia David Hilbert no era computable, es lo que se ha denominado como la computabilidad de los algoritmos.

Referencias:

Publicado por & archivado en Computacion e Informatica.

Como citar este artículo:
Rodolfo Quispe-Otazu. ¿Que es la Computacion?. Blog de Rodolfo Quispe-Otazu [Internet]. Febrero 2007. Disponible en: http://www.rodolfoquispe.org/blog/que-es-la-computacion.php

¿Que es el Computacion?

Puede decirse que la diferencia más sobresaliente entre los hombres de ciencia y los demás profesionales es que los primeros aceptan su ignorancia y parten de ella para realizar sus trabajos y observaciones, mientras que los segundos basan sus actividades en los conocimientos que ya poseen o creen poseer. [Ruy Pérez Tamayo]

Motivacion

Es probablemente justo decir que la mayoria de las personas sabe que es una computadora, y lo sabe usar muy bien como herramienta de trabajo o estudio. Pero no muchos, por no decir mas de la mitad de los estudiantes que creen estar estudiando esta carrera, no son conscientes de la palabra COMPUTACION esto es en parte debido al hecho que la Computacion e Informatica es una disciplina muy incipiente en el Peru.

En este articulo intentare explicar mi punto de vista de lo que significa realmente COMPUTACION como un intento de tratar de sensibilizar a los estudiantes que creen estar estudiando esta carrera y a los entes competentes.

La Computación NO es:

  • conocer que computadora comprar
  • arreglar computadoras
  • edición y procesamiento de textos
  • instalación de software
  • navegar por la web
  • uso de paquetes de software comercial
  • diseñar paginas web
  • conocer mas de 6 diferentes lenguajes de programacion
  • administrar cabinas de internet
  • administrar empresas
  • llenar libros de contabilidad
  • diseño grafico publicitario
  • secretariado computarizado

Definicion: Computación e Informática (¿Que es la Computacion?)

  • La Computación es la disciplina que busca establecer una base científica para resolver problemas mediante el uso de dispositivos electrónicos y sistemas computacionales.
  • La Computación es el estudio de métodos algorítmicos para representar y transformar la información, incluyendo su teoría, diseño, implementación, aplicación y eficiencia. Las raíces de la computacion e informatica se extienden profundamente en la matemática y la ingeniería. La matemática imparte el análisis del campo y la ingeniería imparte el diseño.
  • La Computacion se define como el conjunto de conocimientos científicos y técnicos (bases teóricas, métodos, metodologías, técnicas, y tecnologías) que hacen posible el procesamiento automático de los datos mediante el uso de computadores, para producir información útil y significativa para el usuario.
  • La Computación e Informática es la ciencia del tratamiento automático de la información mediante un computador (llamado también ordenador o computadora).
  • El concepto fundamental de la Computación es el concepto de ALGORITMO.

Diferencia entre Computación e Informática

Informática es un vocablo inspirado en el francés informatique, formado a su vez por la conjunción de las palabras information y automatique, para dar idea de la automatización de la información que se logra con los sistemas computacionales.

Esta palabra (Informatica) se usa principalmente en España y Europa. Computación se usa sobre todo en América y proviene de cómputo (o cálculo).

Principales areas de estudio

  • Algoritmos y Estructuras de Datos: Esta area estudia algoritmos específicos y las estructuras de datos asociadas para solucionar problemas específicos. La parte de esto implica análisis matemático para analizar la eficacia del algoritmo en el uso de tiempo y memoria.
  • Teoria de la Computacion: En esta area se categorizan los problemas segun la naturaleza de los algoritmos para resolverlos, algunos problemas tienen algoritmos rapidos, alguno solamente tienen algoritmos muy lentos (tales problemas se consideran a veces dificilmente insuperables), algunos no tienen ningún algoritmo.
  • Lenguajes de Programacion: La meta del área de lenguajes de programacion es diseñar bien los lenguajes de programación mejores y mas naturales y los compiladores más rapidos y eficientes.
  • Sistemas Operativos: Esta area implica el diseño y implementacion de nuevos y mejores sistemas operativos.
  • Arquitectura del Computador: La meta de esta area es diseñar y construir computadoras mejores y mas rapidas, esto incluye el CPU, memorias, dispositivos de entrada y salida

Adicionales areas de estudio

  • Inteligencia Computacional
  • Computacion Grafica
  • Sistemas de Bases de Datos
  • Redes de Computadoras
  • Matematica Computacional
  • Ingenieria de Software
  • Ingenieria de Computacion
  • Robotica
  • Computacion Cientifica
  • Computacion Simbolica
  • Sistemas de Informacion
  • Ingenieria Web
  • Recuperacion de Informacion
  • Vision Computacional
  • Bioinformatica
  • Biologia Computacional
  • Linguistica Computacional
  • Computacion Acustica

Aplicaciones en nuestra sociedad:

  • Reconocimiento de Voz
  • Reconocimiento de Imagenes
  • Reconocimiento Facial
  • Reconocimiento de Huellas Digitales
  • Procesamiento de Imagenes Medicas
  • Procesamiento Automatico de Textos
  • Simulacion de Trafico Vehicular
  • Generacion de Animaciones
  • Entre Otros.

Referencias:

Publicado por & archivado en Internet y la Web.

Como citar este artículo:
Rodolfo Quispe-Otazu. ¿Que es Internet?. Blog de Rodolfo Quispe-Otazu [Internet]. Enero 2007. Disponible en: http://www.rodolfoquispe.org/blog/que-es-internet.php

¿Que es Internet?

Es obvio que el futuro pasa por Internet. El mayor impulso de crecimiento ha de venirnos del sector audiovisual y de Internet. [Juan Luis Cebrian]

Introduccion

Internet es la combinacion de 4 culturas que se apoyan mutuamente: la cultura universitaria de investigacion, la cultura hacker de la pasion de crear, la cultura contra cultural de inventar nuevas formas sociales y la cultura empresarial de hacer dinero a traves de la innovacion. Y todas ellas, con un comun denominador: la cultura de la libertad.

Internet se ha convertido hoy en una herramienta indispensable en multiples procesos economicos, sociales, etc. Esto hace que Internet sea un componente necesario para el crecimiento y la competitividad de la economi­a.

El crecimiento de Internet se debe al gran valor añadido que dan sus aplicaciones a los usuarios.

Internet NO es:

  • Internet no es sinonimo de World Wide Web (WWW o “la Web”)
  • Internet no es parte de la Red Telefónica Pública
  • Internet no es Google
  • Internet no es Internet Explorer

¿Que es Internet?

  • Internet es un conjunto descentralizado de redes de comunicacion interconectadas, que utilizan la familia de protocolos TCP/IP, garantizando que las redes fi­sicas heterogeneas que la componen funcionen como una red logica unica, de alcance mundial.
  • La Internet es una coleccion de miles de redes de ordenadores. Tambien se le conoce como “Superautopista de la Informacion”.
  • Gran red descentralizada de ordenadores, de ambito global y publicamente accesible, que proporciona una gran cantidad de servicios de comunicacion de varios tipos, incluyendo la World Wide Web, el correo electronico y muchos otros.
  • INTER (Internacional) y NET (Red). Red mundial que conecta entre si a computadoras del mundo mediante protocolos TCP/IP y proporciona diversos servicios de intercambio de informacion.
  • INTerconnected NETworks. La red de redes.

Referencias:

  • Wikipedia. Internet. Wikipedia. Enero 2007
  • Wiktionary. Internet. Wiktionary. Enero 2007