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 programar de manera eficaz distintos problemas de carácter general en forma colaborativa.
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 |
---|
Que el alumno logre:
• integrar los conceptos adquiridos en materias anteriores respecto de la interacción de las partes de una computadora, • identificar claramente la administración de los distintos dispositivos por parte del S.O., • interactuar con el hardware a bajo nivel, • perfeccionar la programación del lenguaje C, • incorporar conocimientos necesarios para programar microcontroladores, • desarrollar habilidades para la resolución de problemas reales de ingeniería mediante técnicas de cálculo numérico, • incorporar el paradigma de programación Orientado a Objetos. |
VI - Contenidos |
---|
Unidad I: 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, física. Administración de la información: comandos asociados. Unidad II: 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. Conexión de Redes. Unidad III: Conceptos Avanzados de C (1era. Parte) Concepto de Variables Puntero. Usos. Pasaje de Parámetros con Punteros. Unidad IV: Programación Básica C en GNU/Linux Conceptos sobre Editar, Compilar y Depurar códigos en GNU/Linux. Aplicaciones asociadas con dichas tareas. Programación colaborativa. Entornos de desarrollo integrado. Resolución de problemas de cálculo numérico mediante métodos computacionales. Graficación de 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. 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: GNU/Linux: Administración de la Información.
T.P. Nº 2: GNU/Linux: Sistemas de Archivos. T.P. Nº 3: Lenguaje C: Variables Punteros. T.P. Nº 4: Lenguaje C: Pasaje de parámetros con Punteros. 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 GNU/Linux. T.P. Nº 7: Entrada y Salida con Archivos en el Lenguaje C. T.P. No 8: Dispositivos programables. T.P. Nº 9: Introducción a la Programación Orientada a Objetos. Proyecto de Laboratorio: consistirá en el desarrollo de un programa que resuelva un problema de aplicación utilizando el lenguaje C. El mismo será codificado con herramientas para trabajar en forma colaborativa de no más de 3 integrantes por grupo. |
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- Acceder al 80% de de los materiales teóricos/prácticos. Se tendrá en cuenta el informe de la plataforma "Aulas Virtuales" que permite conocer los accesos de cada estudiante a los contenidos teóricos y prácticos, 2- Aprobar del 80% de las actividades planificadas en el aula virtual, las mismas se evaluarán con escala cualitativa en la medida que logran el objetivo de aprendizaje de cada una, 3- Aprobar dos evaluaciones parciales o en alguna de sus dos recuperaciones, con nota no inferior a 6 (seis). 4- Aprobar el Proyecto de Laboratorio. Dicho trabajo tendrá una defensa por parte de los integrantes del mismo grupo en una exposición y con la participación del equipo docente. 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-Acceder al 100% de de los materiales teóricos/prácticos con una participación activa. Se tendrá en cuenta el informe de la plataforma "Aulas Virtuales" que permite conocer los accesos de cada estudiante a los contenidos teóricos y prácticos, 2- Aprobar del 100% de las actividades planificadas en el aula virtual, las mismas se evaluarán con escala cualitativa en la medida que logran el objetivo de aprendizaje de cada una, 3- Aprobar dos evaluaciones parciales o en algunas de sus dos recuperaciones, con nota no inferior a 7 (siete). 4- Aprobar el Proyecto de Laboratorio integrador. Dicho trabajo tendrá una defensa por parte de los integrantes del mismo grupo en una exposición y con la participación del equipo docente. 5- Aprobar una evaluación integradora en línea 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 1: La materia no puede rendirse como libre. |
IX - Bibliografía Básica |
---|
[1] “Practical C Programming” - Steve Oualline, Third Edition, 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 |
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] "IDE Eclipse CDT", Foundation Eclipse, 2023, https://www.eclipse.org/ [4] "El sistema operativo GNU", Free Software Foundation, 2023, https://www.gnu.org/ |
XI - Resumen de Objetivos |
---|
Desarrollar en el alumno la capacidad de:
• manipular el entorno GNU/Linux, • diseñar e Implementar algoritmos bajo el entorno 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 |
---|
Los contenidos y actividades de la asignatura se encuentran disponibles en el campus virtual "Aulas Virtuales" de la UNSL, (https://www.evirtual.unsl.edu.ar/moodle), lo que facilita la comunicación profesor-estudiante y permite acceder a los materiales en forma permanente.
Además los recursos digitales se encuentran en el sitio web del Dpto. de Informática: https://sites.google.com/view/programacionunsl/ En la defensa del Proyecto de Laboratorio integrador se podrán reafirmar los aprendizajes evaluados en el parcial ya que en ese proyecto se integran todos los contenidos de la asignatura. |
XIV - Otros |
---|
|