Download Programación I
Document related concepts
Transcript
A.N.E.P. Consejo de Educación Técnico Profesional Educación Media Tecnológica Orientación: INFORMÁTICA ASIGNATURA PROGRAMACIÓN I Primer año (2 horas semanales) Plan 2004 A.N.E.P. CONSEJO DE EDUCACIÓN TÉCNICO PROFESIONAL Índice Tema Pág Índice .................................................................................................................. 1 Fundamentación................................................................................................. 2 Competencias a desarrollar................................................................................ 2 Metodología de enseñanza ................................................................................ 3 Contenidos Programáticos ................................................................................. 4 Introducción a la programación (mínimo 12 horas) ..................................... 4 Desarrollo de programas estructurados (mínimo 32 horas) ........................ 4 Proceso para la obtención de un programa ejecutable en lenguaje de alto nivel C (mínimo 4 horas) ............................................................................. 5 Codificación en C (máximo 16 horas) ......................................................... 5 Evaluación .......................................................................................................... 6 Bibliografía ......................................................................................................... 7 Sugerencias Metodológicas y Didáticas ............................................................. 8 Sobre la Unidad de Introducción a la Programación .................................. 8 Sobre el Desarrollo de programas estructurados (mínimo 32 horas) .......... 9 Proceso para la obtención de un programa ejecutable en lenguaje de alto nivel C (mínimo 6 horas) ........................................................................... 10 E.M.T. Informática - Primero Programación I (2004) Página 1 de 10 A.N.E.P. CONSEJO DE EDUCACIÓN TÉCNICO PROFESIONAL Tipo de Curso: Orientación: Asignatura: Curso: Educación Media Tecnológica Informática Programación I Primero Fundamentación La asignatura Programación I, se encuentra fuertemente ligada a Introducción a la Computación y Lógica para Computación. Se orienta al logro de un egresado capacitado para el abordaje de problemas en general y computacionales en particular, con las estructuras lógicas y de pensamiento apropiadas. Se comenzará a formar al estudiante en la creación de software, con buen estilo de programación. Competencias a desarrollar Exploración de estrategias de desarrollo descendente para resolver problemas de tamaño pequeño, utilizando un lenguaje de programación imperativo. Empleo riguroso de lenguajes simbólicos internalizando la validez de la nomenclatura y reglas de formación de lenguajes, propias de la programación. Manejo de diferentes códigos de expresión y comunicación en forma autónoma, identificando, reconociendo y procesando información codificada con el nivel de comprensión más elevado posible. Desarrolla en el laboratorio hábitos y costumbres que le permitirán ubicarse adecuadamente en un ámbito profesional, respetando el trabajo de otros tanto como el propio, así como el equipamiento disponible, observando las normas establecidas al respecto. Reconocimiento de la falibilidad y posicionamiento flexible para rectificarse frente a evidencia propia o ajena. Control y monitoreo de su propio proceso de pensamiento. Comunicación, cooperación y trabajo en equipo. E.M.T. Informática - Primero Programación I (2004) Página 2 de 10 A.N.E.P. CONSEJO DE EDUCACIÓN TÉCNICO PROFESIONAL Metodología de enseñanza Las competencias antes mencionadas se desarrollan en clases teóricoprácticas dictadas en laboratorio, con una carga horaria de 2 horas semanales. Asimismo cada alumno deberá dedicar un promedio de 4 horas semanales, al estudio domiciliario y elaboración de programas. Se avanzará proponiendo un grado progresivo de dificultad y de formalidad, atendiendo a la edad de los estudiantes que realizan este curso y a la etapa de pensamiento en la que se encuentran. Se introducirán los conceptos básicos de la programación estructurada, haciendo especial énfasis en la discusión y elección de estructuras de control más apropiadas para cada caso. Se trabajará en modalidad de taller de resolución de problemas, para que el estudiante consolide los conocimientos abordados en cada tema. El docente será guía de un proceso de desarrollo que aspira a la calidad del proceso y del producto, incluso en la redacción de programas pequeños, como los que se tratan en este curso. E.M.T. Informática - Primero Programación I (2004) Página 3 de 10 A.N.E.P. CONSEJO DE EDUCACIÓN TÉCNICO PROFESIONAL Contenidos Programáticos Introducción a la programación (mínimo 12 horas) Introducción Conceptos de lenguajes de programación de máquina de bajo nivel de alto nivel Datos Definición Tipos de datos Operadores Definición Orden de evaluación Variables Definición Tipos Diferentes lugares físicos de ubicación (memoria) Representación Constantes Programación estructurada Desarrollo de programas estructurados (mínimo 32 horas) Algoritmo Concepto Características Tipos (diagramas de flujo, tablas de decisión, pseudocódigo) Formulación con refinamiento descendente paso a paso Formulación con refinamiento ascendente paso a paso Pseudocódigo Introducción Estructura del pseudocódigo Instrucciones de entrada Instrucciones de salida Contadores Sumadores o acumuladores E.M.T. Informática - Primero Programación I (2004) Página 4 de 10 A.N.E.P. CONSEJO DE EDUCACIÓN TÉCNICO PROFESIONAL Estructuras de control Secuenciales Selectivas Iterativas Subrutinas Documentación Proceso para la obtención de un programa ejecutable en lenguaje de alto nivel C (mínimo 4 horas) La historia de C Los fundamentos del entorno de C/C++ Editores y generación de código fuente Compiladores y generación de archivo objeto Enlazadores y generación de archivo ejecutable Codificación en C (máximo 16 horas) Variables Declaración, formato Clase de almacenamiento (auto, static, extern, register) Tipos de datos (básicos y compuestos) Representación gráfica de la memoria Rango de valores posibles Modificadores de tipos relativos al tamaño (short, long) Modificadores de tipos relativos al rango de valores (signed, unsigned) Modificadores de acceso (const, volatile) Ámbito y visibilidad (local y global) Inicialización Operadores Aritméticos Relacionales Lógicos Principales constructores de fórmulas en la programación imperativa Asignación Secuencia Selección E.M.T. Informática - Primero Programación I (2004) Página 5 de 10 A.N.E.P. CONSEJO DE EDUCACIÓN TÉCNICO PROFESIONAL Iteración Funciones Declaración y definición Prototipos Estructura de un programa en C/C++ Llamadas a función Pasaje de parámetros por valor Funciones estándar de Entrada/Salida Aplicaciones sencillas Vectores Unidimensionales Definición, declaración e inicialización. Aplicaciones sencillas Multidimensionales Definición, declaración e inicialización. Aplicaciones sencillas Evaluación Se atenderá al Reglamento de Evaluación y Pasaje de Grado vigente, en el que se dan pautas de evaluación para el curso. El docente evaluará en forma permanente, por observación directa, y por escrito, considerando los avances del grupo. Asimismo el alumno confeccionará programas acordes a los requerimientos propuestos por el docente, quien cuidará de ir avanzando en el grado de complejidad de dichas propuestas. En la evaluación de los programas se considerará: análisis del problema, elaboración de seudocódigo seleccionando las estructuras de datos y de control de flujo de programa más adecuadas, codificación, documentación. Se realizará un trabajo final, que permitirá poner de manifiesto lo adquirido en el curso. Este trabajo (elaboración de un programa, con la correspondiente documentación), se elaborará en los últimos dos meses del curso. El alumno irá avanzando con la guía del docente, quien no deberá restringir al alumno a E.M.T. Informática - Primero Programación I (2004) Página 6 de 10 A.N.E.P. CONSEJO DE EDUCACIÓN TÉCNICO PROFESIONAL trabajar con lo aprendido en el curso, aunque esto sea lo que se considere en definitiva para su calificación final. Bibliografía Deitel H.M. & Deitel P.J., Cómo programar en C/C++ . Ed. Prentice Hall. Kernigham, B & Ritchie, D, El lenguaje de Programación C Ed. Prentice-Hall Antón, F. Cómo programar en C. Ed. Prensa Técnica Documentos bajados de Internet con el previo aval del profesor. E.M.T. Informática - Primero Programación I (2004) Página 7 de 10 A.N.E.P. CONSEJO DE EDUCACIÓN TÉCNICO PROFESIONAL Sugerencias Metodológicas y Didáticas Tener en cuenta que es el primer contacto que el alumno tiene con el arte de programar, por lo que se tienen que proponer los temas al alcance del entendimiento de ellos, utilizando ejemplos concretos de la vida real en dónde ellos “programen” por ejemplo: programan un paseo, programan sus actividades diarias, etc. Y a partir de ahí irlos encaminando hacia el desarrollo de programas de pequeño porte; pero lo fundamental es que logren pensar y crear algoritmos simples y eficaces para poder resolver los problemas que se les plantean y no que implementen en C directamente sin antes haber realizado el pseudocódigo, Porque consideramos que lo importante es que ellos puedan resolver en lenguaje natural correctamente, para que luego sigan codificando c en Programación II (de segundo año) esto es central en segundo cuando el alumno ya comprendió el arte de armar buenos algoritmos y está maduro como para seguir con el proceso. Pero si logramos que el alumno salga de programación I escribiendo y comprendiendo algoritmos ya tendríamos gran parte del camino recorrido. Sobre la Unidad de Introducción a la Programación En ésta unidad se hablará de los conceptos de lenguajes de programación, principalmente dando ejemplos y características de cada uno de ellos. Cuando se comience con Tipos de Datos se tratará de hacer semejanza con la idea de conjuntos. Se mostrarán los diferentes tipos de datos básicos indicando que cada lenguaje de programación tendrá su forma de nombrarlos, señalar los nombres en diferentes lenguajes, pero no cazarse con ninguno, esto los enteros serán enteros y no int como se le llaman en C (si bien al final del año cuando implementen en C si se hará) Esto es para que el alumno (más adelante) sea capaz de asociar a cada tipo de datos con su correspondiente en cualquier lenguaje de programación. E.M.T. Informática - Primero Programación I (2004) Página 8 de 10 A.N.E.P. CONSEJO DE EDUCACIÓN TÉCNICO PROFESIONAL Cuando se comience con Variables es de primordial importancia que se coordine con la Taller de Mantenimiento I, para que el alumno identifique físicamente (forma, ubicación, etc) la memoria que utilizan los lenguajes de programación, para almacenar los datos, el código fuente, etc. Se hará especial hincapié en la representación de las variables a través de diagramas: el contenido (valor), la dirección que ocupa en la memoria y el nombre. Cuando se comience con Operadores también se realizarán diagramas que expliciten las acciones de cada uno de los operados. En principio con cada sentencia por separado, para luego anexarlas al cuerpo de un algoritmo. Sobre el Desarrollo de programas estructurados (mínimo 32 horas) Cuando se comience con concepto de Algoritmo se tratará de tomar hechos programables concretos de la realidad del estudiante. Al principio se enunciarán en lenguaje natural, tratando de ser lo más estricto posible. Cuando se hable y muestren los diferentes Tipos de algoritmos (diagramas de flujo, tablas de decisión, pseudocódigo) se tomará un ejemplo y se representará el algoritmo a través de su pseudocódigo insistiendo en el respeto y rigurosidad de la nomenclatura que se eligió. Claro está que ésta rigurosidad se irá afinando con la práctica. Las otras representaciones se mencionarán y si fuera necesario se mostraría algún ejemplo. En la Formulación con refinamiento descendente se mostrarán paso a paso como lograrlo, así como en la Formulación con refinamiento ascendente, tratando de mostrar beneficios y desventajas de cada una. Al comenzar Pseudocódigo la idea es dejar clara la nomenclatura que se utilizará. Mostrar y ejercitar con ejemplos sencillos cada sentencia, logrando de que no les quede ninguna duda de cómo se representa cada una, para después poder integrarlos a algoritmos más complejos Cabe destacar que éste proceso deber ser incremental, asegurándose el docente que la etapa previa está comprendida por el estudiante y que éste es capaz de aplicarlo a algoritmos más amplios y complejos. Se pretende de ésta manera evitar la E.M.T. Informática - Primero Programación I (2004) Página 9 de 10 A.N.E.P. CONSEJO DE EDUCACIÓN TÉCNICO PROFESIONAL sensación de frustración y respetar el proceso de maduración de la abstracción adquirida por el alumno. Es aquí dónde se lo estamos enseñando y el alumno deberá ir afianzando los conceptos y coordinando con el resto de las materias. Es de primordial importancia generarles la necesidad de documentar de manera adecuada cada Pseudocódigo realizado, pudiendo pedir carpetas con los ejercicios resueltos de los repartidos que se les irá entregando a lo largo del desarrollo del curso. Luego, entregárselas corregidas y hacer la puesta en común en la clase de los errores más comunes encontrados y cuál sería la manera correcta de representarlos, aprovechando éstas oportunidades para se conviertan en instancias de evaluación enriquecedoras. Proceso para la obtención de un programa ejecutable en lenguaje de alto nivel C (mínimo 6 horas) El mínimo de horas pensado es para la toma del primer contacto con el compilador de C a utilizar. La idea es que se les vaya mostrando con los ejemplos que se les irán dando en el siguiente capítulo, es aquí que a medida que se vaya necesitando se les explique el uso de cada ítem de la barra del menú (file, edit, search, run ,compile, option, …) De aquí en más se deberá insistir en la práctica del uso del mismo. Se pretende que el alumno sepa identificar cada etapa en el proceso de la generación del ejecutable, si bien éste compilador se seguirá utilizando en segundo, es en éste año el alumno debe tener claro que hace en cada etapa y como lograr llegar a ella. E.M.T. Informática - Primero Programación I (2004) Página 10 de 10