Download Programa de la asignatura

Document related concepts
no text concepts found
Transcript
2016
Año del Bicentenario de la
Declaración de la Independencia
Nacional
Facultad de Ingeniería - Universidad Nacional de Cuyo
P1- PROGRAMA DE ASIGNATURA
Asignatura:
Informática
Profesor Titular:
Dr. Ing. Martín Marchetta
Carrera:
Ingeniería Mecatrónica
Año: 2016
Semestre: 6
Horas Semestre: 60
Horas Semana: 4
OBJETIVOS
Establecer con criterio los ámbitos de aplicación de sistemas de cómputo basados en PC,
microcontroladores y arquitecturas especiales, comprendiendo tanto el soporte físico como
lógico. Familiarizarse con los sistemas operativos para PC, lenguajes de programación de mayor
uso y entornos de desarrollo y depuración de software. Introducir a los lenguajes procedurales
de alto nivel para resolución de problemas de cómputo y automatismos, mediante los enfoques
Diagrama de Flujo, Diagrama de Estados y Estructurado. Utilizar con solvencia los tipos de datos
simples y estructurados.
CONTENIDOS
UNIDAD 1: INTRODUCCIÓN
1.A. Arquitectura de computadoras
Introducción a la arquitectura de computadoras. Organización de sistemas de cómputo en
capas. Jerarquía, lenguajes y niveles de abstracción. Arquitectura de microcontroladores.
Sistemas de numeración. Introducción al manejo de punto flotante para cálculos numéricos.
1.B. Sistemas Operativos
Introducción a los Sistemas Operativos: conceptos y roles. Procesos, multiprogramación, hilos
(threads). Sistemas de Archivos. Entrada/Salida. Manejo de memoria. Llamadas al sistema.
1.C. Redes de computadoras
Modelo OSI. Modelo TCP/IP. Pilas de protocolos. Interfaz, Servicio, Protocolo.
UNIDAD 2: Algoritmos, estructuras de datos y su implementación en lenguaje C
2.A. Algoritmos y Lenguajes de programación
Algoritmo, estructura de datos, programa: concepto, componentes, relación entre ellos. Lenguaje
de programación: conceptos, niveles de abstracción (nivel del set de instrucciones de
arquitectura, nivel del sistema operativo, nivel del lenguaje ensamblador, lenguajes orientados a
aplicaciones), paradigmas de programación, lenguajes de propósito general y de propósito
particular, interpretación vs. compilación. El Lenguaje C y sus características principales. El
proceso de la compilación, enlazado y ejecución de un programa en C: programa fuente,
programa objeto, programa ejecutable. Entornos Integrados de Desarrollo (IDE): entornos
modernos más utilizados, uso básico, resaltado de sintaxis, navegación de código, depuración
(traza, inspección de variables).
Centro Universitario (M5502KFA), Ciudad, Mendoza. Casilla de Correos 405. República Argentina.
Tel. +54-261-4494002. Fax. +54-261-4380120. Sitio web: http://fing.uncu.edu.ar
Página 1 de 2
2016
Año del Bicentenario de la
Declaración de la Independencia
Nacional
2.B. El ANSI C
Lenguaje C, preprocesador y biblioteca de funciones. Estructura general de un programa en C.
La función main(). Componentes del lenguaje: sintaxis básica, identificadores (variables y
funciones), constantes, operadores, tipos de datos primitivos: char, int, long, float, double, long
double, calificativo unsigned, tipo especial void. Variables: alcance, vida y visibilidad de las
variables, declaración de variables. Directivas para el preprocesador: concepto, la directiva
#include, La directiva #define, otras directivas.
2.C. Operadores, Expresiones Y Sentencias
Operadores unarios y binarios. Operadores aritméticos. Operadores lógicos. Operadores a nivel
de bits. Expresiones aritméticas, lógicas, generales. Reglas de precedencia y asociatividad.
Conversiones de tipo implícitas y explícitas (casting).
2.D. Control del flujo de ejecución
Sentencias simples, bloques de sentencias. Estructuras condicionales: sentencia if/else/else if.
Estructuras de iteración: sentencia while, sentencia for, sentencia do/while, sentencias break,
continue, goto. Estructuras de control anidadas.
2.E. Subrutinas
Conceptos generales: cohesión, acoplamiento, encapsulamiento y reutilización de código.
Utilidad de las funciones/procedimientos. Definición de la cabecera (signature) de una
función/procedimiento: nombre, argumentos y valor de retorno. Llamada de una función. Pasaje
de argumentos por valor y por referencia (concepto). Recursión.
2.F. Apuntadores
Conceptos de apuntador y direccionamiento. Operadores de dirección (&) e indirección (*).
Declaración de apuntadores. Aritmética de apuntadores. Pasaje de argumentos por valor y
por referencia. Apuntadores múltiples, violaciones de segmento, fugas de memoria.
2.G. Estructuras de datos
Arreglos: vectores, cadenas de caracteres, arreglos multidimensionales. Declaración,
inicialización y manipulación de arreglos. Relación entre arreglos y apuntadores. Tipos
definidos por el usuario. Estructuras (struct). Manejo de memoria dinámica.
2.H. Introducción a la biblioteca estándar de C
Funciones para la manipulación de caracteres y conversión de caracteres a números y viceversa
(isalpha, isdigit, isxdigit, islower, isupper, tolower, toupper, itoa, atoi). Funciones matemáticas
(sqrt, pow, funciones trigonométricas), para la generación de números aleatorios (rand, srand),
de entrada/Salida "estándar" (printf, scanf, getchar, gets, putchar, puts, sscanf, sprintf), para
la manipulación de cadenas de caracteres (strcpy, strcat, strcmp, strlen, strchr, strstr). División
de código en múltiples archivos fuente. Gestión de bibliotecas de código propias.
UNIDAD 3: Interacción con el hardware y el Sistema Operativo
3.A. Multithreading y Multiprocesamiento.
Problemas de sincronización en hilos: conceptos, secciones críticas, operaciones atómicas,
sincronización mediante semáforos. Implementación de programas con múltiples hilos mediante
POSIX Threads: creación de hilos, gestión de mutex, re-unificación de threads finalizados,
variables de condición. Multiprocesamiento: creación de múltiples procesos, paralelización del
cómputo; mecanismos de comunicación entre procesos; mecanismos de sincronización de
procesos.
Centro Universitario (M5502KFA), Ciudad, Mendoza. Casilla de Correos 405. República Argentina.
Tel. +54-261-4494002. Fax. +54-261-4380120. Sitio web: http://fing.uncu.edu.ar
Página 2 de 2
2016
Año del Bicentenario de la
Declaración de la Independencia
Nacional
3.B. Interacción con el hardware
Bibliotecas de enlace dinámico. Acceso al hardware a través de llamadas al sistema.
Programación de sockets en TCP/IP.
UNIDAD 4: Algoritmos y aplicaciones avanzadas
4.A. Aplicaciones avanzadas
Estructuras de datos complejas: pilas, colas, listas doblemente enlazadas, árboles, grafos.
Búsqueda y ordenamiento: bubblesort, quicksort, búsqueda binaria, dispersión (hashing),
búsqueda de rutas en espacios discretos. Cálculo numérico y control: problemas típicos en el
uso de punto flotante, solución sistemas de ecuaciones lineales, integración numérica,
implementación de controladores (P, PI y PID). Implementación en multiprogramación de
simulación y control de procesos.
4.B. Análisis de complejidad algorítmica
Medición del rendimiento de algoritmos: memoria, tiempo de procesamiento, calidad de la
solución. Heurísticas como medio para mejorar el rendimiento. Análisis asintótico; ejemplos:
comparación de bubblesort con quicksort. Conceptos de ingeniería de software: cohesión,
acoplamiento, arquitectura de software.
METODOLOGÍA DE ENSEÑANZA
Se empleará una metodología teórico-práctica. Se estima utilizar aproximadamente el 30% del
tiempo para desarrollar los conceptos teóricos, y el 70% restante para desarrollar actividades
prácticas, incluyendo mini-casos de estudio, solución de problemas mecatrónicos (simulados) y
un proyecto final integrador. Se espera además que los alumnos dediquen tiempo adicional a
realizar ejercicios prácticos en tiempos fuera del aula.
Carga horaria por
semestre
Actividad
Teoría y resolución de ejercicios simples
20
Formación práctica
Formación Experimental – Laboratorio
20
Formación Experimental - Trabajo de campo
0
Resolución de problemas de ingeniería
10
Proyecto y diseño
10
Total
60
BIBLIOGRAFÍA
Bibliografía básica
Autor
A. Tanembaum
A. Tanembaum
Título
Editorial
Sistemas Operativos Modernos, 3°
Pearson
Ed.
Organización de Computadoras:
Prentice-Hall
Un enfoque estructurado, 4° Ed.
Año
Ejemplares
en biblioteca
2009
0
2000
0
Centro Universitario (M5502KFA), Ciudad, Mendoza. Casilla de Correos 405. República Argentina.
Tel. +54-261-4494002. Fax. +54-261-4380120. Sitio web: http://fing.uncu.edu.ar
Página 3 de 2
2016
Año del Bicentenario de la
Declaración de la Independencia
Nacional
A. Tanembaum
A. Tanembaum
L. Joyanes Aguilar, I.
Zahonero Martínez
O. Cairó Battistutti,
B. Kernighan, D. Ritchie
B. S. Gottfried
Structured Computer Organization,
5th ed.
Redes de Computadoras, 5ta Ed.
Programación en C : metodología,
algoritmos y estructura de datos
Metodología de la programación :
algoritmos, diagramas de flujo y
programas
El lenguaje de programación C
Programación en C
Prentice-Hall
2005
0
Pearson
2012
0
McGraw-Hill
2005
1
Alfagrama
2003
1
Prentice-Hall
McGraw-Hill
1991
2005
1
1
Año
Ejemplares
en biblioteca
IBM Developer Works
Technical Library
2000
--
IBM Developer Works
Technical Library
2000
--
IBM Developer Works
Technical Library
2000
--
1997
--
2001
1
Bibliografía complementaria
Autor
D. Robbins
D. Robbins
D. Robbins
Título
Editorial
POSIX threads
explained
Common threads:
POSIX threads
explained (Part 2)
Common threads:
POSIX threads
explained (Part 3)
W. Press, S.A. Teukolsky,
Cambridge University
W.T. Vetterling, B.P.
Numerical Recipes in C
Press
Flannery
Ingeniería de Control,
W. Bolton
Alfaomega
2° ed.
EVALUACIONES (S/ Ord. 108-10_CS)
•
Para aprobar o regularizar la materia, se requiere la asistencia al 80% de las clases como
mínimo
•
Los exámenes incluyen 2 parciales escritos, y un coloquio final integrador
•
Para regularizar la materia, además de la asistencia, se deberán entregar las guías de
trabajos prácticos y de laboratorio correctamente resueltas y aprobar todos los exámenes (o
sus correspondientes recuperatorios) con una nota de 6 puntos o más, de acuerdo a lo
especificado en la Ordenanza 108/2010-CS.
•
Para promocionar la materia, además de cumplir con los requisitos mínimos requeridos para
regularizarla, la nota final debe ser de 7 (siete) puntos o más, de acuerdo a la siguiente
fórmula:
Nota final = Trabajos Prácticos y de Laboratorio * 0.15 + Parcial 1 * 0.25 + Parcial 2 * 0.25 +
Trabajo Integrador y coloquio * 0.35
Centro Universitario (M5502KFA), Ciudad, Mendoza. Casilla de Correos 405. República Argentina.
Tel. +54-261-4494002. Fax. +54-261-4380120. Sitio web: http://fing.uncu.edu.ar
Página 4 de 2
2016
Año del Bicentenario de la
Declaración de la Independencia
Nacional
Régimen especial para alumnos libres
•
•
•
•
Desarrollar y presentar con 2 semanas de anticipación a la mesa de examen los 3
Trabajos Prácticos que se desarrollan a lo largo de la cátedra (una guía teórica y 2
prácticas en modalidad de laboratorio).
Una vez entregados los 3 prácticos, desde la cátedra se le dará un trabajo especial
integrador, el cual será diferente en cada mesa de examen.
El trabajo especial, específico para la mesa de examen, debe ser entregado 1 semana
antes de la mesa de examen para su evaluación previa
En la mesa de examen se tomará un examen escrito, abarcando todos los temas del
programa. Si se aprueba este examen escrito, se tomará un coloquio oral sobre el
trabajo especial de la mesa, sobre todos los programas entregados, y sobre la teoría. La
nota final será determinada en base a los exámenes oral y escrito mencionados
Programa de examen
El siguiente cronograma incluye una semana de mesas de examen en la que no hay:
•
Semana 5:
o
Examen parcial N° 1 (escrito)
o
Entrega guía de trabajos prácticos teórica
•
Semana 12: Examen parcial N° 2 (escrito)
•
Semana 13: Entrega guía de trabajos prácticos de laboratorio
•
Semana 14:
•
o
Examenes recuperatorios.
o
Entrega trabajo final integrador.
Semana 15: Coloquio final integrador (oral)
FECHA, FIRMA Y ACLARACIÓN TITULAR DE CÁTEDRA
Centro Universitario (M5502KFA), Ciudad, Mendoza. Casilla de Correos 405. República Argentina.
Tel. +54-261-4494002. Fax. +54-261-4380120. Sitio web: http://fing.uncu.edu.ar
Página 5 de 2