Source: http://guias.usal.es/node/17078
Timestamp: 2018-06-22 03:27:13+00:00

Document:
PROGRAMACIÓN II | guias.usal.es
A y B (Teoría)
http://diaweb.usal.es/diaweb/personas/inavia
inavia@usal.es
666599090, Ext. 6078
Ed. Ciencias, D1514
http://diaweb.usal.es/diaweb/personas/fer
fer@usal.es
923 294500, Ext. 6590
Juan Andrés Hernández Simón
PA2, PA3 y PA4
http://diaweb.usal.es/diaweb/personas/jahsimon
jahsimon@usal.es
923 294500, Ext. 6098
PB1, PB3
http://diaweb.usal.es/diaweb/personas/albarriuso
albarriuso@usal.es
Ciencias, Atico D, D4105
Viernes de 10 a 11 h y de 13 a 15 h. solicitar cita por e-mail
923 294500, ext. 6069
La materia Programación, que consta de las siguientes asignaturas:
Procesadores de Lenguaje (optativa)
Animación Digital (optativa)
Desarrollo de Aplicaciones Avanzadas (optativa)
Esta asignatura es la continuación natural de lo expuesto en Programación I, y aporta conocimientos que se aplican en Programación III (POO) y las demás asignaturas de esta Materia. Se tratan principalmente temas relacionados con tratamiento de archivos y asignación dinámica de memoria; además, se profundiza en el manejo de IDE, con especial atención a su uso en relación con la depuración de programas. Finaliza aquí el tratamiento del paradigma de Programación Estructurada, sentándose las bases de su utilización para la programación en Sistemas Operativos y otras cuestiones avanzadas.
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 graduadosserá el adecuadopara entrar en el mercado laboral, o quizá para abordar la realización de un Master que complemente su formación.
Se recomienda encarecidamente cursar esta asignatura únicamente después de aprobar la asignatura Programación I, por cuanto los conceptos que se exponen en Programación II se basan por completo en el trabajo realizado en Programación I. Concretamente, quienes aborden la asignatura Programación II deberán ser capaces de:
Compilar programas empleando la línea de órdenes.
Construir programas que hagan uso correcto de funciones distribuidas en más de un archivo.
Construir programas basados en tipos de datos primitivos.
Construir programas basados en tipos de datos estructurados homogéneos.
También resulta recomendable disponer de un conocimiento razonable del idioma Inglés, al menos con un nivel de traducción, puesto que existe en este idioma mucha información que resulta relevante para el estudio de 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.
Adquirir buenos hábitos de programación
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 y manejar tipos de dos estructurados no homogéneos.
Conocer y manejar entornos integrados de desarrollo.
Comprender y aplicar el concepto de reutilización de código, especialmente en lo tocante a la arquitectura reutilizable de programas.
Conocer y manejar las técnicas básicas de utilización de memoria dinámica.
Conocer y manejar las técnicas básicas de utilización de archivos.
Conocer algunos aspectos avanzados de la compilación de programas.
Tipos de datos estructurados no homogéneos
CG3.-Capacidad para comprender y dominar los 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.
CG4-Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos,bases de datos y programas informáticos con aplicación en ingeniería.
CG5 - Conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, los fundamentos de su programa- ción, y su aplicación para la resolución de problemaspropios de la ingeniería.
CE1 - Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente.
CE6 - Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizandola idoneidad y complejidad de los algoritmos propuestos.
CE7 - 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.
CE8 - Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.
ECO5 - Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambienteso entornos inteligentes.
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 de diseño de interacción persona computadora.
CT2 - Conocimientos básicos de la profesión
CT4 - Capacidad de organizar y planificar
CT5-Comunicación oral y escrita en lal engua propia
CT6 - Conocimiento de una segunda lengua (preferentemente inglés)
CT7 - Habilidades básicas en el manejo del ordenador
CT8 - Habilidades de gestión de la información
CT9 - Resolución de problemas
CT12 - Trabajo en equipo
CT14 - Responsabilidad y compromiso ético
CT20 - Capacidad de generar nuevas ideas
CT21 - Habilidad para trabajar de forma autónoma y cumplir plazos.
Sesiones de tutorías, seguimiento y evaluación, individuales en grupo
Realización de prácticas y trabajos individuales y autónomos.
Kernighan, B.y Ritchie, D. (1991). El Lenguaje De Programación C.Prentice Hall
García Peñalvo, F.et al. (2005). Programación En C. 3º edición. Departamento de Informática y Automática. Universidad de Salamanca
Gottfried, Byron (2005). Programación en C. McGRAW-HILL, Serie Schaum 2ª Ed. revisada
García-Bermejo Giner, J. (2008). Programación Estructurada En C. 1º edición., vol. 1 Pearson Educación
Videos http://maxus.fis.usal.es
XCode - Apple http://developer.apple.com/
MinGWhttp://sourceforge.net/projects/mingg
w/ gcc - GNU http://www.gnu.org/
Se plantearán al alumno varias pruebas 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, mediantela construcción de programas, muestren un conocimiento práctico adecuado para el estudio de otros temas avanzados.
Por último, se realizará un examen final en que el alumno deberá mostrar por escrito las capacidades adquiridas.
Evaluación continua teoría10%
Este apartado se refiere a pruebas sobre los conceptos presentados en clase de teoría y seminarios. Se trata de pruebas cortas o tipo test que se realizarán en horario de clase, bien en sesiones de teoría o bien en sesiones de prácticas.
Evaluación continua prácticas 20%
Se contempla la realización de varias prácticas a lo largo del curso. Estas prácticas serán presentadas a través de Studium, y defendidas posteriormente si el profesor lo estima oportuno, o biende forma escrita.
Realización de Exámenes70%
Los criterios de evaluación en la 2ª convocatoria son los mismos que en la primera (10% evaluación continua teoría + 20% evaluación continua prácticas + 70% examen final), por lo que el examen de recuperación solo permite recuperar en el 70% correspondiente al examen final. Las actividades de evaluación continua no son recuperables.
En ningún caso se mantendrán notas parciales para cursos posteriores.
Se recomienda conocer de forma práctica los aspectos básicos y fundamentales del proceso de compilación (línea de órdenes, IDE).
Se recomienda conocer de manera práctica las estructuras de datos vistas a lo largo del curso, con especial atención a las estructuras dinámicas.
Se recomienda conocer de forma práctica el uso de archivos, tanto binarios como de texto, con especial atención al concepto de importación y exportación.
Finalmente, se recomienda construir programas que hagan uso de las distintas arquitecturas propuestas a lo largo del curso,con objeto de facilitar la reutilización de código.
Los criterios de evaluación en la 2ª convocatoria son los mismos que en la primera (15% evaluación continua teoría + 25% evaluación continua prácticas + 60% examen final), por lo que el examen de recuperación solo permite recuperar en el 60% correspondiente al examen final. Las actividades de evaluación continua no son recuperables.

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