Está en la página 1de 7

Fundamentos de Programacin. Informacin general de la asignatura.

1. Presentacin
La asignatura de Fundamentos de Programacin tiene como meta principal que desarrolles las competencias necesarias para construir programas que resuelvan problemas reales. Constituye un pilar primordial para aquellos alumnos que, como t, estn estudiando una carrera relacionada con computacin -comoDesarrollo de Software y Telemtica- pues los conocimientos y habilidades que desarrollen en este curso sern indispensables para varias asignaturas subsecuentes del plan de estudios de ambas ingenieras, tal es el caso de bases de datos, programacin orientada a objetos, programacin web, estructura de datos, entre otras.

El lenguaje de alto nivel que se ha elegido para implementar los programas es C, ya que es uno de los lenguajes, estructurados y modulares, utilizados actualmente; adems cuenta con entornos de trabajo de software libre, como el que utilizaremos, llamado Dev-C. Para facilitar que desarrolles las competencias establecidas, los contenidos del curso se han dividido de forma estratgica en seis unidades. En la primera, se define el concepto de computadora y su funcionamiento a travs de la descripcin de los elementos que la integran; posteriormente, se hace una aproximacin a los lenguajes de programacin y los paradigmas actuales, resaltando la programacin modular y estructurada. En la siguiente unidad se expone la metodologa de la programacin y se introduce el concepto de algoritmo, que es la solucin sistemtica de problemas, as que tambin se presentan dos formas de representacin: el pseudocdigo y los diagramas de flujo. Asimismo, se ilustran las estructuras secuenciales, selectivas y repetitivas. El lenguaje de alto nivel que se ha elegido para implementar los programas es C, ya que es uno de los lenguajes, estructurados y modulares, utilizados actualmente; adems cuenta con entornos de trabajo de software libre, como el que utilizaremos, llamado Dev-C. Para facilitar que desarrolles las competencias establecidas, los contenidos del curso se han dividido de forma estratgica en seis unidades. En la primera, se define el concepto de computadora y su funcionamiento a travs de la descripcin de los elementos que la integran; posteriormente, se hace una

aproximacin a los lenguajes de programacin y los paradigmas actuales, resaltando la programacin modular y estructurada. En la siguiente unidad se expone la metodologa de la programacin y se introduce el concepto de algoritmo, que es la solucin sistemtica de problemas, as que tambin se presentan dos formas de representacin: el pseudocdigo y los diagramas de flujo. Asimismo, se ilustran las estructuras secuenciales, selectivas y repetitivas. A continuacin, en la unidad tres, se presentan los elementos bsicos para construir un programa simple en lenguaje C: datos, constantes, variables y operaciones bsicas de entradas/salidas para describir el uso de los operadores aritmticos, relacionales y lgicos para la manipulacin de operaciones y expresiones. En la unidad cuatro se distinguen y utilizan las distintas estructuras de control, tanto selectivas (if, if-else, switch) como repetitivas (while, do-while, for), que ofrece el lenguaje C; se introduce su representacin en diagrama de flujo y algoritmo, adems de su sintaxis. En la unidad cinco se introducen las estructuras de datos: arreglos y registros, se explica qu son, cmo funcionan y para qu sirven, adems, se plantean problemas en donde su uso es indispensable para su resolucin. Por ltimo, en la unidad seis se reconoce la importancia de la programacin modular, construyendo soluciones modulares utilizando funciones en lenguaje C.

2. Propsitos
El curso tiene como finalidad proporcionarte las bases para que comiences a desarrollar programas estructurados que solucionen problemas simples, a travs del desarrollo de algoritmos en pseudocdigo y diagrama de flujo y su codificacin en lenguaje C, adems se te describe el proceso de compilacin de un programa y su ejecucin identificando los elementos de la computadora que intervienen en cada paso.

3. Competencia general

Desarrollar programas estructurados y modulares que resuelvan problemas simples, mediante el anlisis del problema, el diseo de un algoritmo y su codificacin en lenguaje C.

Durante el curso, estudiars las siguientes 6 unidades: 1. 2. 3. 4. 5. 6. Introduccin a la computadora y desarrollo de software Diseo de algoritmos Introduccin al lenguaje C Estructuras de control Estructuras de datos Funciones

Si quieres conocer los temas y subtemas que las componen descarga el documento que se te presenta a continuacin. Da clic en el icono para acceder al documento:

4. Metodologa de trabajo
Para trabajar en esta asignatura, se ha propuesto la metodologa del Aprendizaje Basado en Problemas, pues debido a la naturaleza de los contenidos, tendrs que resolver problemas de manera constante para poner en prctica lo aprendido. Como el propsito de este curso es que desarrolles programas de software que resuelvan problemas simples, por cada unidad se ha propuesto uno o ms problemas a partir de los cuales se te presentan los contenidos correspondientes, la intencin de esto es que primero se te planteen los problemas para que los analices y posteriormente se te presente la solucin de los mismos mediante algoritmos o programas; lo que se busca es que alcances las competencias especficas de cada unidad a travs de, primero, la observacin y el anlisis de los problemas ejemplo que te ayudarn a identificar patrones comunes y, posteriormente, la resolucin de problemas un poco

ms complejos a travs del desarrollo de estrategias de solucin similares.

Para resolver un problema mediante un programa de computadora, primero debes tener claro el funcionamiento principal de la misma, tanto para almacenar la informacin como para llevar a cabo el conjunto de instrucciones que integran la solucin de un problema, es decir, el programa. Por tal motivo, en la primera unidad se expone la arquitectura tradicional de las computadoras conocida como el Modelo de Von Neumann a travs de la cual se te explica cmo se almacenan los programas y los datos de un problema en una computadora y qu elementos intervienen en la ejecucin de las instrucciones. Lo anterior se expone utilizando un programa que se encarga de calcular el rea de un rectngulo, de esta manera podrs aprender los contenidos mediante un ejemplo simple. Posteriormente, se describen los pasos que llevan a la construccin de un programa, nuevamente, utilizando un ejemplo simple. La evaluacin de esta unidad se realizar mediante una prueba de opcin mltiple en la que se incluyen los temas expuestos.

Para exponer los temas relacionados con la elaboracin de los algoritmos, se recurre al mundo de la ardilla, un ejemplo en el cual se supone que una ardilla ha sido entrenada para realizar un conjunto limitado de instrucciones precisas, de tal manera que para solucionar un problema nicamente se puede recurrir a este conjunto. De esta forma se pretende que reconozcas intuitivamente que la computadora al igual que la ardilla slo es capaz de realizar un conjunto limitado de instrucciones precisas, por lo que la solucin de un problema slo puede incluir instrucciones reconocidas por sta. As mismo, mediante este ejemplo, se te muestra qu es un algoritmo, cules son sus caractersticas y sus formas de representacin; posteriormente se te presentan las estructuras de control bsicas de la programacin estructurada ejemplificando su uso a travs de la construccin de algoritmos que dirigen a la ardilla en la realizacin de una tarea especfica. As se te introduce en el diseo de soluciones estructuradas de problemas simples representadas de manera formal, ya sea con un diagrama de flujo o con un pseudocdigo. Es importante mencionar que la ventaja de presentar el tema desde un ejemplo tan simple y limitado como el mundo de la ardilla, facilita que puedas proponer soluciones estructuradas en un lenguaje especfico, que es justo de lo que se trata la programacin.

En las siguientes unidades la estrategia de aprendizaje es similar, se te presentan los contenidos al mismo tiempo que se utilizan para solucionar problemas, slo que en este caso se proponen situaciones reales que te son familiares, de tal manera que cuentes con los conocimientos necesarios para solucionarlos y slo debas enfocarte

en representar la solucin utilizando las estructuras de control definidas, es decir, las instrucciones permitidas. En general, en las actividades formativas debers realizar algunas modificaciones a los algoritmos o programas presentados en los contenidos, o bien, los escribirs en lenguaje C para que puedas ver su ejecucin. Es importante que realices cada una de las actividades propuestas por que a travs de ellas se complementan los temas expuestos. De igual manera, para poner en prctica los conocimientos adquiridos y evaluar que se haya alcanzado la competencia especfica de cada unidad, al final de stas se propone un problema que tendrs que solucionar realizando los pasos bsicos del ciclo de vida de software: anlisis, diseo de la solucin y la implementacin.

El papel que juega tu Facilitador(a) en el proceso de aprendizaje es fundamental, pues su tarea es guiarte en la solucin de problemas a partir del anlisis que t realices y las ideas o dudas que te surjan con el mismo. El (la) Facilitador(a) por ningn motivo debe darte la solucin completa de un problema, en lugar de ello debe propiciar el intercambio de ideas y experiencias de los estudiantes mediante foros de discusin, favoreciendo el aprendizaje colaborativo; si despus de esto siguen existiendo dudas, se recomienda que resuelva problemas similares para que tanto t como tus compaeros refuercen los conocimientos y habilidades de una manera inductiva y as logren dar solucin al problema en cuestin. Por lo anterior, existe un foro de discusin general donde todos pueden exponer sus dudas respecto a un tema o problema para que sean retroalimentados por su Facilitador(a) y los compaeros de grupo. Es importante que el (la) Facilitador(a) promueva un clima de respeto mutuo y libertad de expresin para que tanto t como tus compaeros se sientan cmodos al externar sus dudas y propuestas, permitiendo la disensin de manera fundamentada y deferente. En lo referente a la evaluacin de las actividades y evidencias, tu Facilitador(a) debe revisar cuidadosamente los entregables que hagas y retroalimentarlos de manera positiva, clara y concisa; haciendo evidente el avance que hayas alcanzado y sin perder de vista que los errores que cometas deben ser utilizados a favor de tu aprendizaje, por lo que debe prestar principal atencin a stos indicndote en qu consiste el error y cmo se corrige, fundamentando su anotacin en los contenidos del curso.

5. Evaluacin
La evaluacin del curso corresponder en su totalidad al trabajo en el aula virtual. A continuacin presentamos el esquema general de evaluacin:

De tal manera que, mediante las actividades formativas propuestas para cada unidad se refuerzan los conocimientos abordados y se desarrollan las habilidades que requieres para solucionar por ti mismo problemas similares a los que se presentan y resuelven. En cambio, el propsito de las evidencias de aprendizaje propuestas para cada unidad (portafolio de evidencias) es comprobar que hayas alcanzado la competencia especfica, de tal manera que el conjunto de todas las evidencias sean la prueba de que has logrado la competencia general. Es requisito indispensable que realices y/o entregues todas las actividades formativas y las evidencias de aprendizaje en el tiempo establecido, de esta manera se garantiza la retroalimentacin en tiempo y forma que tu Facilitador(a) realizar para que tengas claro el avance de tu aprendizaje, lo cual te servir para que desarrolles las actividades o evidencias subsecuentes. En el caso de las evidencias de aprendizaje la calificacin se obtendr a partir de las escalas establecidas para cada una, las cuales conocers de antemano. En el caso de las actividades formativas, el Facilitador(a) las revisar y te har llegar una retroalimentacin que te ayude a ver tu avance y los puntos que puedes mejorar. nicamente se considerar aprobado el curso si tu promedio total es mayor o igual a la calificacin mnima establecida por la ESAD.

Los trabajos que se tomarn como evidencias de aprendizaje son:


Unidad 2: Resolucin de problemas simples mediante el diseo de un algoritmo, representado en diagrama de flujo y pseudocdigo. Unidad 3: Desarrollo de un programa secuencial que resuelva un problema simple, realizando el anlisis del problema y diseo del algoritmo. Unidad 4: Desarrollo de un programa que resuelva un problema utilizando estructuras secuenciales y repetitivas Unidad 5: Desarrollo de un programa que resuelva un problema que involucre el uso de arreglos.

Unidad 6: Desarrollo de un problema que solucione un problema utilizando funciones.