Fundamentos de programación

Retrato de Augusta Ada Byron, Condesa de Lovelace
Augusta Ada Byron, Condesa de Lovelace, es reconocida como la primera programadora por su trabajo sobre la «Máquina analítica» de Charles Babbage.
Facultad Ingeniería
Departamento Informática
Área Ciencias de la computación
Nivel Universitario

Los ordenadores o computadoras han revolucionado todos los aspectos de la vida en los últimos 40 años. En la actualidad los encontramos en todos lados: escritorios de oficinas, aviones, microondas, teléfonos celulares, entre otros. Pero el equipo físico que podemos ver es solo la mitad de la historia. Cada una de estas computadoras también necesita un soporte lógico que le indique cómo realizar las tareas que esperamos que ejecute. Estas instrucciones se codifican en una gran variedad de lenguajes de programación. Cada uno tiene sus características específicas, sintaxis y mecanismos diferentes para llevar a cabo diversas tareas. Sin embargo, todos comparten un conjunto fundamental de características y conceptos que todas las personas interesadas en crear soluciones para resolver problemas mediante la programación deben dominar para poder desarrollar sus programas creando y comprendiendo su logica.

En este proyecto de aprendizaje, nos familiarizaremos con los conceptos comunes a la mayoría de lenguajes de programación para que posteriormente podamos aprender con mayor facilidad uno o varios lenguajes específicos, teniendo en cuenta que las técnicas básicas para construir programas y desarrollar algoritmos para resolver problemas serán las mismas. De esta forma, al aprender un lenguaje nuevo, solo deberemos preocuparnos por conocer los aspectos que los diferencian de otros lenguajes.

comentario En este proyecto de aprendizaje no se usará ningún lenguaje de programación en particular. Se usará un pseudocódigo genérico para explicar los conceptos de forma independiente a los diversos lenguaje de programación.

Objetivo generalEditar

  • Proporcionar familiaridad con los conceptos básicos de construcción de programas para computadores que son comunes a la mayoría de los lenguajes de programación.

Objetivos específicosEditar

  • Describir la estructura general de un programa que implementa un algoritmo y el proceso para implementarlo en un ordenador.
  • Construir expresiones para manipular datos primitivos y almacenar los resultados en memoria.
  • Aplicar estructuras de control para organizar programas y realizar tareas complejas.
  • Reconocer los conceptos relacionados al manejo de entrada y salida de datos primitivos y complejos.

LeccionesEditar

Bloque 1Editar

Lección 1Editar

Los algoritmos como expresión abstracta de procedimientos para resolver problemas o ejecutar tareas son el tema de esta lección.

Lección 2Editar

En esta lección estudiaremos la estructura básica de los programas y su ciclo de vida.

Lección 3Editar

Los lenguajes de programación como mecanismos para desarrollar programas para los ordenadores y sus entornos de desarrollo asociados serán el tema de estudio de esta lección.

Evaluación ParcialEditar

Bloque 2Editar

Lección 4Editar

En esta lección estudiaremos los tipos de datos primitivos presentes en la mayoría de los lenguajes de programación.

Lección 5Editar

Las variables como almacenes de información y resultados de expresiones así como los cambios a sus valores serán el tema de estudio de esta lección.

Lección 6Editar

En esta lección estudiaremos los mecanismos para representar operaciones matemáticas y lógicas sobre los tipos de datos primitivos de los lenguajes de programación.

Evaluación ParcialEditar

Bloque 3Editar

Lección 7Editar

En esta lección estudiaremos diversos mecanismos para controlar la secuencia de ejecución de los pasos que componen un algoritmo.

Lección 8Editar

Las subrutinas (funciones y procedimientos) como mecanismos para realizar tareas específicas como parte de un programa más grande y los mecanismos para transmitir información entre el código encapsulado y el programa principal serán los temas que estudiaremos en esta lección.

Lección 9Editar

En esta lección estudiaremos el concepto de recursión o recursividad como mecanismo para implementar algoritmos.

Evaluación ParcialEditar

Bloque 4Editar

Lección 10Editar

Los tipos de datos complejos más comunes serán el tema de estudio de esta lección.

Lección 11Editar

En esta lección estudiaremos las herramientas básicas para el manejo de la entrada y salida de datos.

Lección 12Editar

En esta lección estudiaremos los mecanismos más comunes para el manejo de errores que se pueden dar durante la ejecución de un programa.

Evaluación ParcialEditar

Evaluación FinalEditar

ActividadesEditar

Actividad propuesta Descripción
Simulador de un cajero automático Construir un programa que simule algunas funciones básicas de un cajero automático.

Material adicionalEditar

Proyectos de aprendizaje relacionadosEditar

Recursos en otros proyectos de WikimediaEditar

  Fundamentos de programación en Wikilibros.

Recursos externosEditar