Ministerio de Cultura y Educación Universidad Nacional de San Luis Facultad de Ciencias Físico Matemáticas y Naturales Departamento: Informatica Área: Area III: Servicios |
I - Oferta Académica | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
II - Equipo Docente | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
III - Características del Curso | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
IV - Fundamentación |
---|
Se introduce al alumno en el uso de un nuevo ambiente de trabajo (GNU/Linux). Se analizan sus particularidades al mismo tiempo que se desarrollan y elaboran prácticas sobre el mismo a través de herramientas avanzadas del lenguaje de programación C, para que los alumnos sean capaces de resolver de manera eficaz distintos problemas de carácter general y programar microcontroladores.
Es necesario que el alumno se interiorice de los detalles del hardware y de como un Sistema Operativo se hace cargo de la operación de todas las partes. Es necesario que el alumno pueda transferir estos conocimientos a cualquier hardware y software existente en el mercado. |
V - Objetivos / Resultados de Aprendizaje |
---|
Lograr que el alumno:
• Integre los conceptos adquiridos en materias anteriores respecto de la interacción de las partes de una computadora, • Identifique claramente el manejo de los distintos dispositivos por parte del S.O., • Interactúe con el hardware a bajo nivel, • Perfeccione la programación del lenguaje de C, • Desarrolle habilidades para la resolución de problemas reales de ingeniería mediante técnicas de cálculo numérico, • Incorpore conocimientos necesarios para programar microcontroladores, • Incorpore el paradigma de programación Orientado a Objetos. |
VI - Contenidos |
---|
Unidad I: Conceptos Avanzados de C (1era. Parte)
Concepto de Variables Puntero. Usos. Pasaje de Parámetros con Punteros. Unidad II: Conceptos Básicos de GNU/Linux Sistemas Operativos: Fundamentos. Funciones Básicas. Estructura. Clasificación. Ingreso al sistema. Intérprete de comandos. Uso de comandos. Consolas Virtuales. Aspectos del S.O.: Estructuración de la información: lógica y física. Administración de la información: comandos asociados. Unidad III: Conceptos Avanzados de GNU/Linux Concepto de Multiusuario. Seguridad de la información: comandos asociados. Aspectos del S.O.: Organización. Archivos especiales. Sistema de Archivos. Acceso a diferentes sistemas de archivos: comandos asociados. Línea de comandos: Uso de expresiones regulares. Unidad IV: Programación Básica C en Linux Conceptos sobre Editar, Compilar y Depurar códigos. Aplicaciones asociadas con dichas tareas. Entornos de desarrollo integrado. Resolución de problemas de cálculo numérico mediante métodos computacionales. Graficar funciones y datos. Unidad V: Conceptos Avanzados de C (2da. Parte) Nuevos tipos de datos: definición y usos. Estructuras de datos: definición y usos. Redireccionamiento de E/S: comandos asociados. Manejo de Archivos: conceptos asociados. Archivos de tipo ascii y binario. Resolución de problemas de cálculo numérico mediante métodos computacionales. Unidad VI: Dispositivos programables Intérpretes, compiladores y cross-compiladores. Programación aplicada en alto y bajo nivel. Co-diseño y simulación de hardware y software. Arduino. Unidad VII: Programación Orientada a Objetos Paradigma de Programación. Introducción a la programación Orientada a Objetos. Conceptos básicos. Polimorfismo, Clasificación y Herencia. Introducción a la programación en C++. |
VII - Plan de Trabajos Prácticos |
---|
T.P. Nº1: Lenguaje C: Variables Punteros.
T.P. Nº2: Lenguaje C: Pasaje de parámetros con Punteros. T.P. Nº3: GNU/Linux: Administración de la Información. T.P. Nº4: GNU/Linux: Sistemas de Archivos. T.P. Nº5: GNU/Linux y Lenguaje C: aspectos básicos de edición, compilación y depuración en C. T.P. Nº6: Redireccionamiento de la Entrada y Salida en Linux. T.P. Nº7: Entrada y Salida con Archivos en el Lenguaje C. T.P. Nº8: Dispositivos programables. T.P. Nº9: Introducción a la Programación Orientada a Objetos. Práctico de máquina: actividad obligatoria que consistirá en el desarrollo de un programa que resuelva un problema de aplicación utilizando el lenguaje C. |
VIII - Regimen de Aprobación |
---|
Los alumnos podrán aprobar la materia bajo el régimen “Regular” o “Promocional”, según los siguientes requisitos:
Régimen para alumnos Regulares: Para regularizar la materia los alumnos deberán: 1- Asistir al 70% de las clases prácticas, 2- Aprobar el práctico de máquina, 3- Aprobar las 2 evaluaciones parciales (una en papel y una en laboratorio) de primera instancia o en las respectivas recuperaciones con una nota de 6 o superior (según Ordenanza CS N°32/14). Si el alumno regularizó la materia podrá acceder a un examen regular sobre los temas del programa, el cual puede ser escrito u oral. Régimen para alumnos Promocionales: Para promocionar la materia los alumnos deberán: 1- Asistir al 70% de las clases teóricas. 2- Asistir al 70% de las clases prácticas. 3- Aprobar el práctico de máquina, 4- Aprobar las 2 evaluaciones parciales (una en papel y una en laboratorio) de primera instancia o en las respectivas recuperaciones con una nota de 7 o superior (según Ordenanza CS N°32/14), 5- Aprobar una evaluación integradora con una nota de 7 o superior. La nota final provendrá de un promedio de las notas obtenidas en las evaluaciones realizadas en forma continua. NOTA: La materia no puede rendirse como libre. |
IX - Bibliografía Básica |
---|
[1] “Practical C Programming” - Steve Oualline, Ed. O´Reilly & Associates, 1997, ISBN: 1-56592-306-5
[2] “Programación en C” - Mitchell Waite y Stephen Prata, Anaya multimedia, 2000, ISBN: 84-7614-374-5 [3] “LINUX. Unleashing the Workstation in Your PC” - Stefan Strobel, Volker Elling,Verlag - Springer, 1997, ISBN: 0387948805 [4] “Manual práctico de Linux” – Mark G. Sobell – Editorial Anaya, 2005, ISBN: 978-84-415-2350-0 [5] “Beginning Linux Programming” - Neil Matthew, Richard Stones, Alan Cox, Wrox, 2004, ISBN: 0764544977 [6] “Linux in a Nutshell” - Ellen Siever, Aaron Weber, Stephen Figgins, Robert Love, Arnold Robbins, O'Reilly Media, Inc., 2005, ISBN: 0596009305 [7] “El PC Hardware y componentes”-Juan E. Herrerías Rey, Ediciones Anaya Multimedia, 2009, ISBN: 978-84-415-2374-6. [8] “Programación en C++ para Ingenieros” – Fatos Xhafa, Editorial Thomson 2006 – ISBN 84-9732-485-4 [9] “Programación de Sistemas Embebidos en C” - Gustavo Galeano, Alfaomega 2009 - ISBN 978-958-682-770-6 |
X - Bibliografia Complementaria |
---|
[1] “El Lenguaje de Programacion C” - Brian W. Kernighan, Dennis M. Ritchie., Editorial Prentice-Hall Hispanoamericana, 1985, ISBN: 968-880-024-4
[2] “Linux Kernel Internals” - Michael Beck, Harald Bohme, Mirko Dziadzka, Ulrich Kunitz, Robert Magnus, Dirk Verworner, Addison-Wesley Professional, 1997, ISBN: 0201331438 [3] "Arduino, curso práctico de formación" - Oscar Torrente Artero, Alfaomega Grupo Editor, 2013, ISBN: 978-607-707-648-3 |
XI - Resumen de Objetivos |
---|
Desarrollar en el alumno la capacidad de:
• Manipular el SO GNU/Linux, • Diseñar e Implementar algoritmos bajo el SO GNU/Linux, • Integrar los conceptos del hardware con el ambiente de trabajo y el manejo de los mismos a través del lenguaje C, • Incorporar el lenguaje de programación orientado a objetos C++. |
XII - Resumen del Programa |
---|
Se introduce al alumno en el uso de un nuevo ambiente de trabajo (GNU/Linux). Se analizan sus particularidades al mismo tiempo que se desarrollan y elaboran prácticas sobre el mismo a través de herramientas avanzadas del lenguaje de programación C. Se introduce al alumno en un paradigma orientado a objetos.
|
XIII - Imprevistos |
---|
Las actividades solicitadas por la cátedra se recepcionan por la plataforma "Aulas Virtuales".
|
XIV - Otros |
---|
|