Source: http://guias.usal.es/node/17073
Timestamp: 2017-09-20 03:39:40+00:00

Document:
PROGRAMACIÓN I | guias.usal.es
A y B (Teoría) y PA1,PB1
http://informatica.usal.es/angelica
923294500, Ext. 1302
PB2 y PB4
http://informatica.usal.es/personas/fer; http://bisite.usal.es
923 294500, Ext. 6096
Materia “Programación”, que consta de las siguientes asignaturas:
Desarrollo de Aplicaciones Avanzadas(optativa).
Esta asignatura es el primer contacto del alumno con las cuestiones relacionadas con Programación, y aporta unas bases que se desarrollarán posteriormente en Programación II, Programación III (POO) y las demás asignaturas de esta Materia. La programación, con distintos paradigmas y lenguajes, constituye el esqueleto de esta titulación, puesto que permite implementar los conceptos que se aportan a lo largo y ancho de todo el Plande Estudios. Es imprescindible dominar los métodos y conceptos que se aportan en estas asignaturas para llegar aun correcto aprovechamiento en el Grado en Informática.
Los alumnos que cursan el Grado en Informática tienen como objetivo laboral la industria, o quizá el mundo académico. Tanto la Empresa como la Universidad exigen resultados concretos, o más exactamente programas que resuelvan problemas. Los métodos y conceptos que se aportan en esta materia tienen como fin la creación de software correcto, robusto, eficiente y reutilizable, que deberá estar dotado de una interfaz de usuario que satisfaga criterios de usabilidad, portabilidad y mantenibilidad. Para alcanzar un desarrollo profesional, se necesitan como mínimo las asignaturas básicas y obligatorias de esta materia, sin olvidar las asignaturas optativas que contiene, y que ofrecen lo necesario para construir software avanzado.
De este modo, el perfil profesional de los graduados será el adecuado para entrar en el mercado laboral, o quizá para abordar la realización de un Máster que complemente su formación.
Al tratarse de una asignatura de primer curso, es posible recomendar asignaturas anteriores. Sin embargo, se observa lo siguiente:
Un conocimiento razonable del manejo de ordenadores personales (con nivel de usuario) facilita los primeros pasos. Resulta especialmente necesario conocer los conceptos básicos de los sistemas de archivos, tanto desde el punto de vista de la línea de órdenes como empleando alguna interfaz gráfica de usuario. En general, el conocimiento de sistemas operativos facilitará la comprensión de esta asignatura.
El desarrollo de capacidades lógicas, especialmente las que se adquieren mediante el estudio de disciplinas científicas, facilita mucho la comp- rensión y utilización de las herramientas de programación.
La enorme cantidad de información disponible en Internet, y especialmente en lo tocante a Programación, hace que sea muy conveniente saber usar los principales buscadores de la red.
Finalmente, el interés por cuestiones relacionadas con el manejo de ordenadores para resolver problemas de todo tipo es realmente el único requisito imprescindible para abordar con éxito esta asignatura.
Conocer el modelo que utilizan los lenguajes de programación para llegar a la resolución de problemas
Conocer las bases de la Programación Estructurada
Llegar a la construcción de software correcto, robusto y eficiente
Conocer el proceso de creación de aplicaciones, desde la creación eficiente de código fuente hasta la generación de aplicaciones
Conocer algunos algoritmos clásicos, y ser capaz de formular soluciones algorítmicas para las aplicaciones que deba construir
Conocer un lenguaje basado en el paradigma de programación estructurada
Conocer y manejar tipos de datos primitivos
Conocer y manejar tipos estructurados homogéneos
Conocer y manejar las estructuras de control de flujo
Conocer y manejar subprogramas
Conocer y manejar técnicas básicas de compilación.
1.- Diseño de programas. Lenguajes de programación
2.- Elementos básicos del C.
3.- Operadores, expresiones y funciones de biblioteca.
4.- Sentencias de control alternativas.
5.- Sentencias de control repetitivas.
6.- Arrays: vectores y matrices. Cadenas de caracteres.
7.- Punteros. Relación entre los punteros y los arrays.
8.- Funciones. Paso de parámetros por valor y por referencia.
-CECB3. Capacidad para comprender y dominar conceptos básicos de matemática discreta, lógica, algorítmica y complejidad computacional, y su aplicación para la resolución de problemas propios de la ingeniería.
. CECB4 –Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informativos máticos con aplicación en ingeniería.
. CECB5-Conocimiento dela estructura,organización, funcionamiento e interconexión de los sistemas informáticos,los fundamentos de su programación,y su aplicaciónpara la resolución de problemaspropios de la ingeniería.
. CECC1- Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conformea principios éticos y a la legislación ynormativa vigente.
. CECC6-Conocimiento yaplicación delosprocedimientos algorítmicosbásicos de las tecnologías informáticas paradiseñar soluciones a problemas.
.CECC7 - Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema.
.CECC8 - Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente.
Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema.
CECO6 - Capacidad para desarrollar yevaluar sistemas interactivos y de presentación de información y su aplicación a la resolución de problemas sencillos dediseñode interacción persona computadora.
Conocimiento de una segunda lengua (preferentemente inglés)
Responsabilidad y compromiso ético
Habilidad para trabajar de forma autónoma y cumplir plazos.
Fundamentos de Programación. Ed.McGraw-Hill. JoyanesAguilar
Programación estructurada en C.Ed.Prentice Hall.José Rafael García-Bermejo Giner
Programación en C. Ed. DIA. Varios autores
Programación en C. Ed. McGraw-Hill. Antonakos-Mansfield
El lenguaje deprogramación C. Ed.Prentice-Hall. Brian Kernighan y Dennis Ritchie
Programación en C. Ed. McGraw-Hill. Byron Gottfried
Estructuras de datos en C. Prentice-Hall Tannenbaum.
El lenguaje de Programación C. Ed. Prentice-Hall. Brian W.Kernighan y Dennins M. Ritchie.
XCode-Apple http://developer.apple.com/
NinGW http://sourceforge.net/projects/mingw/
Gcc-GNU http://www.gnu.org/
Videos http://maxus.fs.usal.es/hothouse/programacion/podcasts.index.html
El servidor maxus (http://maxus.fis.usal.es) contine información relativa a Programación; de hecho se ofrece al alumno una extensa colección de exposiciones teóricas, ejercicios, gráficas, enlaces y sugerencias.
Entre estas tareas se consideran las asociadas a los temas vistos e teoría y los resultados de las defensas que se soliciten en grupos de prácticas. La evaluación considera especialmente relevantes los aspectos prácticos de la asignatura.
Los objetivos generalesyespecíficos de esta asignatura hacen que el conocimiento práctico resulte esencial, y por tanto los criterios de evaluación son básicamente relativos a los aspectos aplicados de los conceptosque se tratan. Seplantearán al alumnovariaspruebas de tipo test, con objeto de comprobar su comprensión de conceptos básicos sin los cuales no es posible abordar los problemas tratados. Adicionalmente, se plantearán trabajos prácticos que, mediante la construcción de programas, muestren un conocimiento práctico adecuado para el estudio de otros temas avanzados (como los que se abordarán en Programación II y III). Por último, se realizará un examen final en que el alumno deberá mostrar por escrito las capacidades adquiridas.
Evaluación continua: Teoría enfocada a la práctica............................................ ........................................ 10%
Este apartado se refiere a pruebas preguntas cortas tipo test efectuadas en Studium o en papel de lectora óptica de manera periódica realizadas en sesiones de teoría o de prácticas, sin previo aviso. El contenido de estas pruebas corresponderá a temas tratados en clases de teoría y de prácticas, con enfoque teórico práctico.
Evaluación continua: Entrega y defensa de prácticas ............... ................................................................ 20%
A diario se le pueden plantear al alumno la entrega de diferentes prácticas planteadas en los guiones de la asignatura. A mayores se contempla la realización prácticas más completas a lo largo del curso. Estasprácticas se realizarán sobrepapel en clase de prácticas o bien seránpresentadas a través de Studium,y en este último caso defendidas posteriormente si el profesor lo estima oportuno.
Realización de exámenes . .................................................................................................... 70%
Nota.- La nota de evaluación continua tipo test y entrega y defensa de prácticas será la que se obtenga durante el desarrollo del curso, por lo que no es posible obtener nota en esta apartado si no se realizan las tareas al ritmo que se van proponiendo (no existirá posibilidad de realizar las mismas posteriormente). Se mantendrá la nota para la convocatoria extraordinaria del mismo curso académico.
Se recomienda estudiar y practicar los aspectos básicos de la programación estructurada, por ser este el tema principal de Programación I.
Se recomienda conocer de forma práctica los aspectos básicos y fundamentales del proceso de compilación (línea de órdenes), relegando. Aspectos más avanzados (IDE) para Programación II.
Finalmente, se recomienda construir programas partiendo de cero, empleando únicamente las herramientas básicas de edición y compilación. Vistas a lo largo del curso.
Se recomienda “jugar” haciendo programas. Los conocimientos adquiridos de forma autónoma no se olvidan fácilmente, aunque se cuente siempre con la ayuda del profesor.

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución