INFORMATICA I
Presentación
Cuando el estudiante comienza el cursado de esta materia, inicia su experiencia en la vida universitaria y está en la fase inicial de su proceso de ambientación a la carrera de Ingeniería. En Informática I aprenderá herramientas fundamentales como los diferentes sistemas de representación numérica, las bases metodológicas de desarrollo de software que le permiten diseñar algoritmos para resolver problemas, la utilización del lenguaje de programación C para implementar estos algoritmos, y los sistemas básicos de intercomunicación entre plataformas. A su vez, esta materia aplica estas competencias conforme se van desarrollando en la resolución de problemas que involucren los conocimientos adquiridos en las asignaturas del mismo nivel (Álgebra, Análisis I y II, y Física I) aplicando los mismos a resolución de problemas reales.
Esta materia es parte del área Técnicas Digitales, siendo correlativa de las demás materias del área, en forma mediata o inmediata. La relación con las demás materias del área se puede describir como sigue:
• A Informática II le aporta el bagaje de conocimiento referente a analizar y resolver problemas orientados a ingeniería por medio de un lenguaje de programación estructurado como C, permitiéndole asumir tal dominio y concentrarse en programación orientada a objetos.
• A Técnicas Digitales I le aporta la introducción a los sistemas de numeración y la aritmética binaria como así también las funciones lógicas booleanas.
• A Técnicas Digitales II le suministra el conocimiento general en bloques del hardware sobre el que es posible desarrollar fácilmente conceptos como sistemas basados en microprocesadores y sus interfaces, manejo de memoria, programación en bajo nivel, etc.
• El conocimiento de programación en lenguaje C es complementario para el desarrollo de contenidos de Técnicas digitales III tales como procesamiento digital de señales y redes. El abanico de temas de Redes de datos, que abarca: TCP, definición del protocolo OSI, congestión de datos, ruteo, voz sobre IP, etc. requieren conocimientos sólidos no solo de hardware sino también de la estructura de los dispositivos de entrada/salida y sus controladores.
Los contenidos de esta asignatura son relevantes para todo el espectro de materias que tratan temas tecnológicos en el plan de estudios. El análisis se sistematiza por áreas de conocimiento, destacando algunos ejemplos en los ejes de temas relacionados:
1. Área Matemática, Área Física y Área Química: Destreza de cálculo por la aplicación de programas computacionales escritos en C.
2. Área Electrónica: Manejo de conceptos de sentencias secuenciales, variables, arreglos, etc. para el uso de herramientas informáticas de cálculo como Octave.
3. Área Teoría de circuitos: A lo anterior se suman fundamentos para el desarrollo de programas en C para sistemas embebidos que implementen filtros digitales.
4. Área Sistemas de control: A lo anterior se suman fundamentos para el desarrollo de programas en C para los sistemas embebidos de control de motores de corriente continua sin escobillas.
5. Proyecto Final: Desarrollo del Proyecto Final utilizando sistemas embebidos programados en lenguaje C.
Esta materia aporta al perfil del egresado las bases para diseñar, proyectar y calcular hardware de sistemas de cómputo de propósito general y/o específico y el software a él asociado; hardware y software de sistemas embebidos y dispositivos lógicos programables; así como plantear, interpretar, modelar y resolver los problemas de ingeniería asociados es estos.
Contenidos Mínimos
• Estructura de un sistema computacional.
• Sistemas de numeración y aritmética binaria.
• Interpretación y resolución de problemas, herramientas de representación de algoritmos.
• Lenguaje de programación estructurada.
• Contenedores de datos complejos.
• Uso del lenguaje en aplicaciones de bajo nivel.
Objetivos
Que los y las estudiantes sean capaces de:
• Aprender las bases y elementos constitutivos de un sistema de cómputo tanto en sus componentes de hardware como de software y sus sistemas de representación numérica.
• Adquirir las bases metodológicas de desarrollo de software que les permitan diseñar algoritmos para resolver problemas determinados, discriminando entre las diferentes alternativas para resolverlo cuál es la más eficiente con fundamento teórico.
• Implementar dichos algoritmos en forma práctica utilizando lenguajes de programación estructurada, empleando diferentes recursos de éste, manejo de datos complejos y recursos de bajo nivel.
• Dominar el funcionamiento, las posibilidades, y el empleo de las diferentes herramientas de desarrollo.

