Encabezado Facultad de Ciencias
Presentación

Actuaría (plan 2006) 2012-2

Segundo Semestre, Programación I

Grupo 6012 60 alumnos.
Profesor Gustavo Adolfo García Cano lu mi vi 7 a 8 Laboratorio de Enseñanza de Cómputo de Matemáticas
Ayudante Jorge Zavaleta Sánchez ma ju 7 a 8 Laboratorio de Enseñanza de Cómputo de Matemáticas
Ayudante Alfredo López Castillo ma ju 7 a 8
 

Este curso de Programación 1 está pensando en estudiantes con poco o nulo conocimiento de programación, y que tengan el interés de aprender a programar, el enfoque principal del curso gira en torno a los algoritmos, y pretende dar herramientas para que el estudiante entienda de una manera general la programación sin estar atado a un lenguaje.

El lenguaje de programación con el que se trabajará en el curso es C++.

Es necesario que el estudiante tenga la disponibilidad de tiempo para dedicar una o dos horas al día a los ejercicios extra clase.

Página web: http://programacion20122.blogspot.com/


Temario

Introducción

  • Algoritmo
    • ¿Qué es?
    • ¿Cómo atacar un problema?
    • Diseño descendente
    • “Divide y vencerás”
  • Algoritmos en la computadora
  • Representación de datos a nivel máquina
  • Tipos de Datos (abstractos)
  • Estructuras de Control
    • Iteraciones
  • Funciones y Rutinas
    • Recursividad
    • Abstracción de procedimientos
  • Prueba de Escritorio

A lo largo del tema desarrollaré varios algoritmos entre ellos, búsqueda lineal y búsqueda binaria, introduciré el concepto de orden de un algoritmo. Al final de esta sección los alumnos deben poder crear algoritmos sencillos en pseudocódigo.

Lenguaje de programación

  • Historia de la programación
  • Tipos de lenguajes
    • Lenguajes Máquina, ensamblador, alto nivel
    • Compilador
    • Tendencias de los lenguajes
  • Paradigmas
  • Conceptos acerca de la memoria
  • Historia C - C++
  • Tipos de datos en C++
    • Conversión
    • Manejo
  • Arreglos
  • Instrucciones de entrada y salida
    • Pantalla
    • Archivos
  • Operadores
    • Asignación
    • Aritméticos
    • Lógicos
  • Estructuras de control en C++
    • Sintaxis
  • Funciones
    • Recursividad
      • Algoritmos recursivos
      • Pila de llamada de funciones
    • Sobrecarga de funciones
  • Apuntadores
    • Memoria dinámica
    • Paso de argumentos
  • Estructuras en C/C++
    Trabajaré con estructuras como la de los números complejos y tablas básicas
  • Clases
    • Biblioteca STL
    • Concepto de objeto en programación
    • Declaración (Constructor/Destructor)
    • Amistad (funciones y clases)
    • Operadores
    • Herencia
En el transcurso de esta sección voy a retomar los algoritmos ya trabajados en la sección anterior escritos ahora con C++, además desarrollaré algoritmos de mayor complejidad como los ordenamientos de selección y el de inserción, reforzaré el concepto de orden de algoritmo, e introduciré el concepto de objeto a lo largo de algunos ejemplos constructivos.

Objetivos

Al final del curso los alumnos deben poder crear programas básicos en C++, además de tener las bases para aprender otros lenguajes como Java, C# y ObjectiveC.

Forma de evaluación

A lo largo del semestre habrá diversas tareas con ejercicios, investigación, prácticas en clase, y los exámenes serán 2 proyectos, uno por cada sección.

50% Tareas
50% Exámenes


Esto constituye el 70% de la calificación final, el otro 30% será evaluado con un proyecto final.


Bibliografía

  • Tucker, A.B. Fundamental of Computing, I: Logic, Problem Solving, Programs and Computers. 2nd edition. USA. McGraw-Hill. 1994.
  • Harvey M. Deitel C++ How to Program, 6e, Pearson, 2008
  • Gilles Brassard, Fundamentals of Algorithmics, Prentice Hall, 1995

 


Hecho en México, todos los derechos reservados 2011-2016. Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente completa y su dirección electrónica. De otra forma requiere permiso previo por escrito de la Institución.
Sitio web administrado por la Coordinación de los Servicios de Cómputo de la Facultad de Ciencias. ¿Dudas?, ¿comentarios?. Escribenos. Aviso de privacidad.