13.05.2013 Views

Programación imperativa básica - Escuela Colombiana de Ingeniería

Programación imperativa básica - Escuela Colombiana de Ingeniería

Programación imperativa básica - Escuela Colombiana de Ingeniería

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

PROGRAMA DE MATEMÁTICAS<br />

ASIGNATURA: PROGRAMACIÓN IMPERATIVA BÁSICA<br />

Responsable: Programa <strong>de</strong> <strong>Ingeniería</strong> <strong>de</strong> Sistemas<br />

CÓDIGO: Mnemónico: PIMB Numérico:<br />

Plan <strong>de</strong> estudios: 02<br />

1. OBJETIVO<br />

• Mo<strong>de</strong>lar la solución <strong>de</strong> un problema aplicando alguna metodología.<br />

• Apren<strong>de</strong>r a utilizar el computador como herramienta para la solución <strong>de</strong> problemas<br />

mediante la construcción <strong>de</strong> programas en un lenguaje <strong>de</strong> programación.<br />

• Capacitar para el entendimiento y uso <strong>de</strong> otros lenguajes <strong>de</strong> programación o herramientas<br />

computarizadas en la solución <strong>de</strong> problemas.<br />

2. JUSTIFICACIÓN<br />

Los conceptos básicos <strong>de</strong> computación y la programación <strong>de</strong> computadores como herramienta<br />

en la solución <strong>de</strong> problemas <strong>de</strong>ben ser <strong>de</strong>l dominio <strong>de</strong> cualquier ingeniero. A<strong>de</strong>más, el proceso<br />

que conlleva su aprendizaje contribuye a la formación <strong>de</strong>l futuro profesional.<br />

3. REQUISITOS ACADÉMICOS<br />

4. CRÉDITOS ACADÉMICOS<br />

5. INTENSIDAD SEMANAL (en horas presenciales)<br />

6. BIBLIOGRAFÍA<br />

Referencias principales<br />

1. JOYANES AGUILAR, Luis. Fundamentos <strong>de</strong> <strong>Programación</strong>: algoritmos y estructura <strong>de</strong><br />

datos. McGraw Hill, 1998.<br />

2. SALAZAR PERDOMO, Patricia. Aprendiendo a programar a partir <strong>de</strong> cero. Segunda<br />

versión preliminar - Editorial <strong>de</strong> la <strong>Escuela</strong> <strong>Colombiana</strong> <strong>de</strong> <strong>Ingeniería</strong>. Bogotá, julio <strong>de</strong><br />

2004.<br />

3. SCHILDT, Herbert. C, Guía <strong>de</strong> autoenseñanza. McGraw Hill, 1996.<br />

Otras referencias:<br />

Tiempo presencial (horas) 72<br />

Tiempo in<strong>de</strong>pendiente (horas) 120<br />

Total <strong>de</strong> Créditos Académicos 4<br />

Exposición magistral 4,5<br />

Monitoría<br />

Total <strong>de</strong> horas/semana<br />

Laboratorio<br />

0,0<br />

7,5<br />

3,0<br />

1


1. DEITEL. H.M, DEITEL P.J. C, How to program. Prentice Hall. 1998.<br />

2. GOTTFRIED, B. <strong>Programación</strong> en C. McGraw Hill. México, 1987.<br />

3. JOYANES. Luis. Problemas <strong>de</strong> Metodología <strong>de</strong> la <strong>Programación</strong>. McGraw-Hill, 1990.<br />

4. KERNIGHAN, Brian & RITCHIE, Dennis. The C Programming Language. N.J. Prentice<br />

Hall. 1988.<br />

5. SCHILDT, Herbert. C, Manual <strong>de</strong> Referencia. Tercera edición. McGraw Hill, 1995.<br />

6. NORTON, Peter. Introducción a la computación. Editorial McGraw Hill. México, 1996.<br />

7. PERRY, Greg. Aprendiendo PC en 24 horas. Editorial Prentice Hall. México, 1997.<br />

8. WHITE, Ron. Cómo funcionan las computadoras. Prentice Hall. 1998.<br />

6. CONTENIDO PROGRAMÁTICO RESUMIDO<br />

Introducción: <strong>de</strong>finición <strong>de</strong> problema y <strong>de</strong> solución. Construcción <strong>de</strong> algoritmos: estructura <strong>de</strong> un algoritmo,<br />

instrucciones <strong>básica</strong>s, arreglos (vectores y matrices). Construcción <strong>de</strong> algoritmos modulares: Funciones y<br />

procedimientos. Argumentos y parámetros por valor y por referencia: Construcción <strong>de</strong> programas: estructura<br />

<strong>de</strong> un programa, instrucciones <strong>básica</strong>s, tipos <strong>de</strong> datos estructurados. Construcción <strong>de</strong> programas modulares.<br />

Funciones y procedimientos. Argumentos y parámetros por valor y por referencia: Creación <strong>de</strong> tipos <strong>de</strong> datos.<br />

Almacenamiento <strong>de</strong> la información: manejo básico <strong>de</strong> archivos secuenciales. Lecturas complementarias<br />

sobre computación.<br />

7. CONTENIDO PROGRAMÁTICO DETALLADO<br />

1. Introducción<br />

Objetivo: Apren<strong>de</strong>r a resolver problemas (encontrar soluciones).<br />

.Contenido: Problemas - algoritmos – programas. Análisis <strong>de</strong> problemas y diseño <strong>de</strong> soluciones.<br />

2. Construcción <strong>de</strong> algoritmos<br />

Objetivo: Apren<strong>de</strong>r a escribir en un lenguaje algorítmico la solución previamente mo<strong>de</strong>lada <strong>de</strong> un problema.<br />

Contenido: Estructura <strong>de</strong> un algoritmo. Documentación (comentarios). Instrucciones <strong>básica</strong>s. Asignación.<br />

Expresiones. Operadores aritméticos. Expresiones aritméticas. Prece<strong>de</strong>ncia y asociatividad. Instrucciones<br />

<strong>de</strong> lectura y escritura (entrada o salida). Estructuras <strong>de</strong> control condicionales: No repetitivas, repetitivas.<br />

Operadores relacionales. Construcción <strong>de</strong> condiciones (conectores lógicos: y, o). Tipos <strong>de</strong> datos<br />

estructurados. Arreglos (vectores y matrices): Dimensionamiento, lectura - escritura – acceso.<br />

3. Construcción <strong>de</strong> algoritmos modulares<br />

Objetivo: Enten<strong>de</strong>r la importancia <strong>de</strong>l diseño <strong>de</strong> algoritmos modulares y apren<strong>de</strong>r a construirlos.<br />

Contenido: Concepto <strong>de</strong> modularidad. Subrutinas. Procedimientos y funciones. Argumentos y<br />

parámetros (valor, referencia).<br />

4. Construcción <strong>de</strong> programas<br />

Objetivo: Construir la solución previamente mo<strong>de</strong>lada <strong>de</strong> un problema utilizando el computador. Apren<strong>de</strong>r un<br />

lenguaje <strong>de</strong> programación como herramienta para construir dichas soluciones.<br />

Contenido: Estructura <strong>de</strong> un programa. Documentación (comentarios). Declaración y uso <strong>de</strong> variables y<br />

constantes. Instrucciones <strong>básica</strong>s. Instrucciones <strong>básica</strong>s. Asignación. Expresiones. Operadores aritméticos.<br />

Expresiones aritméticas. Prece<strong>de</strong>ncia y asociatividad. Instrucciones <strong>de</strong> lectura y escritura (entrada o salida).<br />

Estructuras condicionales <strong>de</strong> control: No repetitivas, repetitivas, construcción <strong>de</strong> condiciones (conectores<br />

lógicos: y, o). Datos estructurados. Arreglos (vectores y matrices). Dimensionamiento, lectura - escritura –<br />

acceso.<br />

2


5. Construcción <strong>de</strong> programas modulares<br />

Objetivo: Enten<strong>de</strong>r la importancia <strong>de</strong>l diseño <strong>de</strong> programas modulares y apren<strong>de</strong>r a construirlos.<br />

Contenido: Modularidad. Subrutinas. Procedimientos y funciones. Argumentos y parámetros (valor,<br />

referencia).<br />

6. Registros y archivos<br />

Objetivo: Apren<strong>de</strong>r a estructurar la información. Enten<strong>de</strong>r la importancia <strong>de</strong>l almacenamiento permanente <strong>de</strong><br />

la información y apren<strong>de</strong>r a hacerlo con archivos <strong>de</strong> acceso secuencial.<br />

Contenido: Registros. Definición y uso. Archivos <strong>de</strong> acceso secuencial: Apertura, cierre, lectura y<br />

escritura.<br />

8. METODOLOGÍA<br />

• Exposición magistral <strong>de</strong>l profesor en un ambiente que facilite la interacción permanente con los<br />

estudiantes. Esto es fundamental porque permite que el profesor perciba a tiempo el nivel <strong>de</strong> comprensión<br />

y las dudas e inquietu<strong>de</strong>s <strong>de</strong> los estudiantes y que el grupo aproveche los aportes que se hacen.<br />

• Práctica permanente <strong>de</strong>ntro y fuera <strong>de</strong> la clase. Las primeras 6 semanas se hace todo sobre el papel y en<br />

las otras 10 se exige que los programas funcionen en el computador y se sustenten al profesor. Se<br />

promueve <strong>de</strong>s<strong>de</strong> el principio un buen estilo <strong>de</strong> programación, una documentación <strong>de</strong> los programas y una<br />

comunicación efectiva y agradable con el usuario.<br />

• Realización permanente <strong>de</strong> ejercicios diseñados con el objetivo <strong>de</strong> afianzar los conceptos fundamentales<br />

<strong>de</strong> la programación <strong>de</strong> computadores.<br />

• Laboratorio no presencial. En el primer tercio el estudiante se familiariza con el computador; esta labor es<br />

apoyada por el personal <strong>de</strong> soporte <strong>de</strong> las salas <strong>de</strong> computadores. En los dos últimos tercios <strong>de</strong>be realizar<br />

un laboratorio semanal que es revisado por el monitor. Tanto el envío <strong>de</strong>l laboratorio como la<br />

retroalimentación se hacen vía correo electrónico. Los laboratorios no equivalen a la práctica total que<br />

los estudiantes <strong>de</strong>ben realizar por su cuenta para apren<strong>de</strong>r a programar.<br />

• Proyecto <strong>de</strong> mediana complejidad don<strong>de</strong> se recopila todo lo visto en el curso.<br />

• Durante el semestre, todos los estudiantes elaboran uno o dos escritos cortos, realizan lecturas<br />

complementarias sobre computación, leen por lo menos un libro <strong>de</strong> interés general, y hacen una<br />

exposición ante el grupo <strong>de</strong> un tema escogido por ellos y aprobado por el profesor. Esto con el fin <strong>de</strong><br />

promover el autoestudio y fortalecer la expresión oral y escrita.<br />

9. EVALUACIÓN<br />

Tareas y ejercicios en clase y fuera <strong>de</strong> ella. Estos trabajos no se califican, pero sí se revisan y se<br />

corrigen.<br />

Pruebas cortas semanales sobre los temas vistos hasta el momento. Dichas pruebas<br />

necesariamente son acumulativas porque la naturaleza misma <strong>de</strong>l curso hace que los conceptos se<br />

enca<strong>de</strong>nen.<br />

Escritos cortos, controles <strong>de</strong> lectura, exposición individual o en grupo.<br />

Proyecto.<br />

Una prueba corta cada tercio, realizada por la Coordinación General <strong>de</strong> la asignatura.<br />

Exámenes escritos e individuales en cada tercio. El último es en el computador, normalmente en<br />

parejas escogidas por el profesor.<br />

En el último tercio se realiza un proyecto que es asignado <strong>de</strong>s<strong>de</strong> mediados <strong>de</strong>l segundo tercio y cuyo<br />

peso <strong>de</strong>ntro <strong>de</strong>l semestre, <strong>de</strong>s<strong>de</strong> 2005-2, es <strong>de</strong>l 20%.<br />

Calificaciones:<br />

% Tercio 1 30<br />

% Tercio 2 30<br />

% Tercio 3 40<br />

3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!