INTRODUCCIÓN A LA
INTRODUCCIÓN A LA
PROGRAMACIÓN
PROGRAMACIÓN
Juan Carlos Martínez Arias
OBJETIVOS
http://cic.puj.edu.co/wiki Introducción a la programación
GENERAL
Apropiar la disciplina de la programación como
herramienta conceptual y tecnológica que permite
solucionar problemas reales en Ingeniería.
ESPECÍFICOS
Modelar computacionalmente un problema.
Aplicar los conceptos de programación en la solución de
problemas.
Utilizar un lenguaje y ambiente de programación para
aplicar los modelos.
Interpretar, desarrollar, evaluar y explicar algoritmos que
METODOLOGÍA
Los aspectos fundamentales serán:
Presencial (Grupo B: 4:00 pm) *
Cuatro (4) horas a la semana de clase y una (1) hora
semanales de monitoría en la cual se refuerzan los conceptos vistos en clase y se desarrollan ejercicios prácticos.
Alta dosis de participación y trabajo en clase haciendo
ejercicios, talleres e intercambiando ideas con el profesor.
El estudiante debe ser responsable por realizar todas
las tareas dejadas por el profesor.
En el curso se realizará un proyecto durante el
semestre.
CONTENIDO
1. Sistema
(1 Sesión)Concepto de Sistema
Elementos, relaciones e interacciones entre elementos Modelo. Paralelo entre realidad y modelo
2. Observación
(1 Sesión)2. Observación
(1 Sesión)Concepto de observación (desde lo informal a lo formal) Qué se observa en ingeniería ?
Elementos constantes y variables
CONTENIDO
3. Estado
(4 Sesiones) Concepto de Estado.Variabilidad en los estados (cambio de estado). Expresiones para cambios de estado.
Que es un problema (desde el punto de vista de estados).Que es un problema (desde el punto de vista de estados). Algoritmo, Programa, Expresiones y Sentencias.
4. Abstracción
(5 Sesiones) Procedimientos.Parámetros. Funciones. Argumentos.
CONTENIDO
5. Condición
(4 Sesiones) Concepto de Condición.Concepto de Falso y Verdadero. Operadores y Conectores lógicos. Tablas de verdad.
Condicionales anidados. Condicionales anidados.
6. Repetición
(8 Sesiones) Necesidad de Repetir.Repeticiones mediante Iteración.
Condición de continuidad y Condición de parada. Lógica positiva y negativa.
Alcance (Scope) de variables en los ciclos. Ciclos anidados.
CONTENIDO
7. Abstracción de datos
(8 Sesiones) Concepto de Lista.Listas indexadas. Listas de Listas.
EVALUACION
Tareas, Talleres y Quices ***
15%
Primer Parcial
(Feb. 25)25%
Segundo Parcial
(Abril 14)20%
Examen Final
(Mayo 26)20%
Un Proyecto semestral
20%
Un Proyecto semestral
20%
Entregas Parciales (3) 10% Manual de Usuario 5% Sustentación 15% Software 70%*** Acuerdos
BIBLIOGRAFÍA
Allen Downey, Jeffrey Elkner y Chris Meyers. Introducción a la programación con Python. Andrés Becerra Sandoval. Octubre, 2009.
Alan Gauld. Learn to program using Python : a tutorial for hobbyists, self-starters, and all who want to learn the art of computer programming. Addison-Wesley. 2001.
Allen Downey, Jeffrey Elkner y Chris Meyers. How to think like a
Allen Downey, Jeffrey Elkner y Chris Meyers. How to think like a computer scientist : learning with Python. Green Tea Press. 2002.
Mark Lutz y David Ascher. Learning Python. O'Reilly & Associates. 1999.
Bradley N. Miller y David L. Ranum. Problem solving with algorithms and data structures using Python. Franklin, Beedle & Associates Incorporated. 2006.
Guido van Rossum. Python Tutorial. Python Software Foundation. Fred L. Drake, Jr., editor. September. 2006.
MOTIVACIÓN AL CURSO
Porqué “
Programación
” en las
Ingenierías ?
INGENIERÍA
“La actividad del Ingeniero supone la concreción de
una idea de la realidad. Esto quiere decir que, a
través de técnicas, diseños y modelos, y con el
conocimiento
proveniente
de
las
ciencias,
la
Ingeniería puede
resolver problemas y satisfacer
Ingeniería puede
resolver problemas y satisfacer
necesidades humanas
.
La Ingeniería también supone la
aplicación de la
inventiva y del ingenio
para desarrollar una cierta
actividad. Esto, por supuesto, utilizando el “método
científico” para llevar a cabo los planes.”
SOLUCIÓN DE PROBLEMAS
Solución de Problemas:
Misioneros cruzando el rio
http://www.matematicasbachiller.com/juegos/misioneros.html
Family Crisis
PARA LA PRÓXIMA CLASE
TRABAJO ESCRITO: Identificar para cada uno de los Juegos:- El objetivo del juego.
- Cuál es el problema que se debe resolver?
- Reglas o restricciones en el juego
- Elementos en el juego (ej. Misionero, caníbal, barca …)
- Elementos en el juego (ej. Misionero, caníbal, barca …)
- Descripción de la solución del juego paso a paso. Ej.
- Paso 1: Subir un (1) Misionero y un (1) caníbal a la barca.
- ….
Es posible evaluar condiciones
- Paso n: Si la cantidad de misioneros es IGUAL a la cantidad de caníbales,
entonces …
- ……
- Paso z: fin del juego
PARA LA PRÓXIMA CLASE
INSTALAR EL PYTHON
(Ver 2.7.2)
( Se descarga de: www.python.org ) Presentar un documento con:
o Elementos instalados (Idle, docs , …) y que ejecutan …
o Identificar los elementos del IDLE (Python GUI)
o Realizar un “PrintScreen” donde aparezca la pantalla del Python con su NOMBRE. Ej.