Antecedentes Generales

Clave Nombre de la asignatura
EII -147 Introducción a las Tecnologías de la Información
Horas semanales de cátedra Horas semanales prácticas Créditos PUCV
Taller Ayudantía
6 2 2 5
Pre-requisitos
  EII -110 Introducción al Modelamiento Discreto

Resumen

Esta asignatura presenta un vocabulario básico en materia de hardware y software computacional, muestra la aplicación de las tecnologías de información y comunicaciones en ámbito organizacional, y revela nuevas tendencias en su aplicación.

En términos de desarrollo de software, expone la sintaxis de un lenguaje de programación de propósito general orientado a objetos, y ejercita su práctica en la implementación de algoritmos de complejidad simple-mediana. Presenta, además, los principios básicos de orientación a objetos (abstracción, encapsulación, herencia y polimorfismo), y guía su aplicación en el desarrollo de programas computacionales.

Objetivos de aprendizaje

  • Reconocer y describir los principales recursos tecnológicos disponibles para el tratamiento y transmisión de datos.
  • Obtener una visión general, tanto de los recursos y servicios disponibles, como de las nuevas tendencias en el ámbito de tecnologías de información, y observar su impacto en ámbito público y privado.
  • Implementar algoritmos de complejidad simple-mediana en un lenguaje de programación de propósito general.
  • Conocer los fundamentos de la programación orientada a objetos, y la aplicación de estos conceptos en el desarrollo de aplicaciones simples.
  • Emplear un computador personal con aplicaciones de productividad personal.
  • Practicar la comunicación escrita de informes técnicos, y su presentación oral.

Contenidos de la asignatura

Unidad 1: Tecnologías de Información: definiciones e infraestructura (6 Sesiones)

Esta unidad introduce los elementos de hardware y software presentes en las plataformas de tecnología de información y comunicaciones, con el fin de construir un vocabulario básico en la materia. Particularmente se enfatizan los medios disponibles para el tratamiento digital de datos y para la transmisión de los mismos.

En relación con el uso de software, esta unidad introduce al alumno, que no tuviere práctica, al manejo básico de aplicaciones de productividad personal (procesador de texto, planilla electrónica, editor de presentaciones), y favorece su empleo mediante la realización de trabajos prácticos.

Los contenidos específicos son:

  • Definiciones generales: ingeniería, tecnología, información, sistema de información, sistema informático
  • Evolución de las tecnologías de información y comunicaciones: desde la prehistoria hasta nuestros días.
  • El computador digital: representación interna de datos, circuitos lógicos, componentes de hardware, tratamiento de datos (texto, audio, imágenes, video) en medios digitales.
  • Software de computadores: sistemas operativos, lenguajes de programación, aplicaciones (software de productividad personal, bases de datos, )
  • Tecnologías utilizadas en telecomunicaciones y redes: redes cableadas e inalámbricas, hardware de apoyo a las comunicaciones, tipos de redes, protocolos de red.
  • Arquitecturas de sistemas: bases de datos, software monolítico, software multi-capa, arquitecturas sobre Internet.
  • Utilización de aplicaciones de productividad personal.

Unidad 2: Aplicaciones de las tecnologías de información y su impacto (6 sesiones)

Esta unidad muestra el uso de las tecnologías de información en diferentes ámbitos, y el impacto que los nuevos desarrollos pueden generar en organizaciones, servicios públicos, y en la vida privada de las personas. Para esto se reconocerán nuevas tendencias, visiones, y proyectos de entidades vinculadas al desarrollo de tecnologías de información. Se mostrará el impacto y penetración de las tecnologías en diferentes países.

  • Impacto de las tecnologías de información en organizaciones y negocios (e-commerce, Enterprise Resource Planning, sistemas de soporte a las decisiones).
  • Impacto social de las Tecnologías de Información
  • Tecnologías de información y el resguardo de la seguridad.
  • Licencias de software y software
  • Nuevas tecnologías y tendencias.
  • Las tecnologías de información en el campo de la Ingeniería Industrial.

Unidad 3: Desarrollo de software: programación básica (12 sesiones)

Se espera que el alumno aprenda a implementar algoritmos en el lenguaje de programación Java, a compilar programas, y a identificar y corregir errores lógicos y sintácticos. Por esta razón, esta unidad se centra en la programación de algoritmos de cálculo, enfatizando la utilización correcta de estructuras de control, el adecuado empleo de variables y la formulación de expresiones aritmético/lógicas. Se reduce al mínimo el uso de clases y otros conceptos propios de la programación orientada a objetos.

Los contenidos específicos son:

  • Desarrollo y ejecución de programas en Java: compilación e interpretación de programas, estructura general de una aplicación.
  • Estructuras de control
  • Tipos de datos primitivos, representación interna de valores numéricos, limitaciones. Uso de Strings.
  • Expresiones aritméticas y lógicas.
  • Aplicaciones con ingreso de datos por parámetro en línea de comando, y mediante streams de ingreso y salida de datos estándares.
  • Arreglos unidimensionales y multidimensionales de tipos de datos primitivos o Strings.
  • Lectura y escritura de archivos de texto.
  • Utilización de un entorno integrado de desarrollo (IDE) para la programación.

En la primera mitad de esta unidad las experiencias de programación se realizan utilizando las herramientas provistas por el ambiente de desarrollo estándar de Java (intérprete y compilador en interfaz de consola) y un editor de texto de propósito general, a fin de que el alumno comprenda las etapas de desarrollo de una aplicación, y los productos resultantes de cada  una de ella. En la segunda mitad se introduce y se favorece la utilización de un IDE (como Eclipse o Netbeans).

Unidad 4: Desarrollo de software: programación orientada a objetos (12 sesiones)

Esta unidad introduce los conceptos básicos de programación orientada a objetos, y su aplicación en lenguaje Java. Se espera que el alumno identifique e implemente clases en problemas de diseño de software simples, que involucren relaciones de uso y jerarquías de herencia entre clases, y la mantención de las mismas en estructuras estáticas indexadas (arreglos unidimensionales y multidimensionales).

Los contenidos específicos son:

  • Introducción a la programación orientada a objetos y definiciones: clase, objeto, abstracción. Estructura de una clase en Java. Clases instanciables y clases estáticas. Tipos de variables (de instancia, de clase, parámetros y locales), visibilidad de variables al interior de una clase. Constructores y métodos.
  • Introducción del concepto de “encapsulación” en interpretación limitada a “ocultamiento de información”. Implementación en Java mediante modificadores de visibilidad “public”/”private” en variables de instancia.
  • Sobrecarga de constructores y métodos.
  • Arreglos de objetos .
  • Herencia y polimorfismo; sobreescritura de métodos. Constructores en Java y herencia.
  • Clases abstractas e interfaces.

Unidad 5: Otros conceptos y técnicas de programación (6 sesiones)

Esta unidad introduce aspectos propios de la programación en Java, que resultan de utilidad en el desarrollo de aplicaciones.

  • Organización del código en packages
  • Control de excepciones
  • Representación de tipos de datos numéricos en Java (enteros y punto flotante), problemas de overflow, underflow, errores de redondeo.
  • Uso de Generics en Java