Introducción a la Computación


Semestre:

Fecha de elaboración:

Agosto de 2013

Fecha de revisión:

Mayo de 2014

Elaborado por:

Bruno Lara Guzmán

Ciclo de formación:

Básico

Área curricular:

Ciencias Básicas

Tipo de unidad:

Teórico-Práctica

Carácter de unidad:

Obligatoria

Clave:

IC01FB040210

Créditos:

10

Semestre:

Horas Teoría:

4

Horas Práctica:

2

Programas académicos en los que se imparte:

Licenciatura en Ciencias Áreas terminales en Matemáticas, Física, Bioquímica y Biología Molecular, y Ciencias Computacionales y Computación Científica

Prerrequisitos:

Ninguno

Antecedentes Recomendadas:

Ninguna

Consecuentes Recomendadas:

  • Programación Básica
  • Biofísica
  • Bioinformática
  • Lógica para Computación
  • Arquitectura de Sistemas de Cómputo
  • Principios de Lenguajes de Programación
  • Bases de Datos

Presentación de la unidad de aprendizaje:

Es la primer UA en la que se presentan resoluciones de problemas mediante el uso de sistemas de cómputo. Se sientan las bases y se aportan las herramientas necesarias para traducir problemas a un lenguaje abstracto y puntual; una vez se abstrae la información del planteamiento del problema, se formaliza usando los dos métodos más comunes: diagramas de flujo y seudo-código. Alcanzado este nivel de abstracción se introduce de manera general qué es un lenguaje de programación y cómo se clasifican. Finalmente, se implementan las soluciones utilizando el lenguaje de programación Python.


Propósito de la unidad de aprendizaje:

Introducir al estudiante a los conceptos básicos de la computación, los componentes de un sistema de cómputo, los sistemas operativos y los elementos básicos del arte de la programación. Manejar el proceso necesario para traducir un problema a diferentes niveles de abstracción.


Competencias profesionales:

Distingue diferentes tipos de lenguajes de programación a partir de sus orígenes conceptuales.Abstrae la informacion relevante en el planteamiento de un problema.Conoce los principios básicos de la programacion estructurada.Plantea un problema formalizándolo mediante el uso de un modelo matemático o computacional.Codifica algoritmos en cualquier lenguaje de programación.

Contribución al perfil de egreso:

La UA aportará al egresado de la Licenciatura en Ciencias, la capacidad para resolver problemas de investigación; así como habilidad para enlazar conocimientos y técnicas de diferentes áreas de las ciencias exactas y naturales.


Secuencia temática:

  1. I Introducción.
    1. Historia de la computación.
    2. Arquitectura de una computadora: arquitecturas von Neuman y no von Neuman.
    3. Historia de los sistemas operativos; carrera comercial, ventajas del software libre, ventajas de sistemas comerciales.
    4. Sistemas de numeración; conversiones entre diferentes sistemas; operaciones básicas en sistemas no decimales.
  2. II Resolución de problemas.
    1. Resolución de problemas: soluciones analíticas y algorítmicas.
    2. Algoritmos: características de un algoritmo.
    3. Componentes principales de un algoritmo: entrada, salida, identificación de variables, identificación de ciclos.
  3. III Fundamentos de la programación estructurada.
    1. Programación estructurada.
    2. Tipos de datos: enteros, caracteres, arreglos.
    3. Noción de variable; asignación de valores.
    4. Operaciones lógicas; tablas de verdad.
  4. IV Representación de soluciones.
    1. Diagramas de flujo; representación de un problema; elementos de un diagrama de flujo.
    2. Seudo-código: convenciones en seudo-código.
    3. Operadores y sus tipos: aritméticos, lógicos y relacionales; precedencia de operadores.
    4. Estructuras de control: secuencial, condicional y repetitivas.
    5. Funciones o subrutinas: funciones, paso de variables, recursividad básica.
  5. V Lenguajes.
    1. Lenguajes de programación.
    2. Clasificación de los lenguajes de programación: alto-bajo, intérprete-compilador.
  6. VI Solución de problemas usando Phyton.
    1. Tipos de datos; tipos específicos para Python y su implementación.
    2. Manejo de variables.
    3. Operadores; representación de los operadores en Python.
    4. Estructuras de control; codificación de las estructuras de control en el lenguaje.
    5. Funciones o subrutinas.

Criterios de Evaluación:

  • Exámenes parciales: 30%
  • Examen final: 30%
  • Realización de práctica: 10%
  • Otra (especifique): Tareas: 30%


Bibliografía básica:

  • Allen, B., Tucke, Andrew, P. y Berna. 1994. Fundamentals of computing. Ed. McGraw-Hill.
  • Allen, Downey. 2007. How to think like a (Phyton) programmer. Pubicado bajo The GNU Free Documentation License. Disponible en www.thinkpython.com

Bibliografía complementaria:

  • Marzal Varó, A. y Gracia, I. Introducción a la programación con Python. Departamento de Lenguajes y Sistemas Informáticos. Universitat Jaume I. Disponible en Internet.