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 lógica.

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 general editar

  • 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íficos editar

  • 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.

Lecciones editar

Bloque 1 editar

Lección 1 editar

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

Lección 2 editar

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

Lección 3 editar

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 Parcial editar

Bloque 2 editar

Lección 4 editar

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

Lección 5 editar

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 6 editar

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 Parcial editar

Bloque 3 editar

Lección 7 editar

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

Lección 8 editar

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 9 editar

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

Evaluación Parcial editar

Bloque 4 editar

Lección 10 editar

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

Lección 11 editar

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

Lección 12 editar

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 Parcial editar

Evaluación Final editar

Actividades editar

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 adicional editar

Proyectos de aprendizaje relacionados editar

Recursos en otros proyectos de Wikimedia editar

  Fundamentos de programación en Wikilibros.

Recursos externos editar