Fundamentos de programación

De Wikiversidad
Saltar a: navegación, buscar
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. Hoy en día los encontramos en todos lados: escritorios de oficinas, aviones, microondas y 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 como 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 deben dominar todas las personas interesadas en crear programas para resolver problemas o realizar tareas con ordenadores.

En este proyecto de aprendizaje nos familiarizaremos con los estos conceptos para que posteriormente podamos aprender con mayor facilidad uno o varios lenguajes de programación 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]

Logo de Wikilibros Fundamentos de programación en Wikilibros.

Recursos externos[editar]