Syllabus

INM-0407 Algoritmos y Lenguajes de Programación

DR. MIGUEL ANGEL COHUO AVILA

macohuo@itescam.edu.mx

Semestre Horas Teoría Horas Práctica Créditos Clasificación
4 3 2 8

Prerrequisitos
Conocer los elementos básicos en el manejo de la computadora
Realizar la interpretación de problemas para su solución

Competencias Atributos de Ingeniería

Normatividad
El alumno deberá participar en exposiciones y entrega de trabajos prácticos así como también en la asistencia en las practicas de laboratorio para tener derecho a Examenes u oportunidades extras para la asignatura de Algoritmos y lenguajes de programacion

Materiales
No se requieren materiales adicionales a los especificados en la programación de clases.

Bibliografía disponible en el Itescam
Título
Autor
Editorial
Edición/Año
Ejemplares
Parámetros de Examen
PARCIAL 1 Unidad I y II
PARCIAL 2 Unidad III, IV y V

Contenido (Unidad / Competencia / Actividad / Material de Aprendizaje)
1. Introducción a la computación
          1.1. Nuevas Tecnologías de la información
                   1.1.1. Introducción a la computación
                           Material Unidad 1 (695808 bytes)
                           Unidad1 Introducción a la computación (52224 bytes)
                           definicion (16384 bytes)
                           computadora DEF (71168 bytes)
                           http://www.azc.uam.mx/publicaciones/enlinea2/num2/2-1.htm
                           http://delta.cs.cinvestav.mx/~mcintosh/comun/historiaw/node8.html
                          
                   1.1.2. Tecnologías emergentes
                           http://www.monografias.com/trabajos/histocomp/histocomp.shtml
                           http://enciclopedia.us.es/index.php/Historia_de_la_computaci%F3n
                           http://andreanaranjo.wordpress.com/2008/01/01/la-technology-review-del-mit-propone-los-10-avances-tecnologicos-que-cambiarian-el-mundo/
                           http://www.euroresidentes.com/futuro/redes_sensores.htm
                          
          1.2. Elementos de un sistema computacional
                   1.2.1. Hardware
                           HW (97792 bytes)
                           http://es.wikipedia.org/wiki/Hardware
                           http://www.pannet.pa/2000/glosario.html
                          
                   1.2.2. Software: de operaciones, de traducciones y aplicación. Firmware: definición, ventajas y desventajas
                           Lenguajes de Programacion (32256 bytes)
                           Historia Computacion (754176 bytes)
                           http://es.wikipedia.org/wiki/Software
                           http://www.proclave.com/esp/cursos/glosario.htm#S
                          
          1.3. Clasificación de los sistemas operativos: la familia de windows, arquitectura macintosh, unix y linux
                   1.3.1. Familia Windows
                           http://www.conozcasuhardware.com/articulo/win_xp_1.htm
                           http://es.wikipedia.org/wiki/Windows
                          
                   1.3.2. Arquitectura Macintosh
                           SO (92322 bytes)
                           http://es.wikipedia.org/wiki/Apple_Macintosh
                          
                   1.3.3. Unix y Linux
                           http://es.wikipedia.org/wiki/UNIX
                          
          1.4. Paquetería de software: Hoja de cálculo y modelos de bases de datos.
                   1.4.1. Hoja de cálculo
                           http://es.wikipedia.org/wiki/Microsoft_Office
                           http://es.wikipedia.org/wiki/Microsoft_Office#Historia
                          
                   1.4.2. Modelos de bases de datos
                           http://es.wikipedia.org/wiki/Base_de_datos
                           http://es.wikipedia.org/wiki/Base_de_datos#Modelos_de_bases_de_datos
                           http://www.monografias.com/trabajos11/basda/basda.shtml
                          
2. Desarrollo de la lógica algoritmica
          2.1. Metodologìa para la solución de problemas
                   2.1.1. Consideraciones previas
                           Unidad 2 Desarrollo de la lógica algoritmica (19596 bytes)
                           Material Unidad 2 (58525 bytes)
                           http://www.itlp.edu.mx/publica/tutoriales/pascal/u1_1_1.html
                           http://w3.mor.itesm.mx/~lssalced/estruc2.html
                          
                   2.1.2. Pasos para la solución del problema
                           http://html.rincondelvago.com/diseno-estructural-de-algoritmos.html
                           http://www-gsi.dec.usc.es/~alberto/fdp/practicas/DFD/05DFD.htm
                           http://www.mailxmail.com/curso/informatica/programacionestructurada/capitulo2.htm
                          
          2.2. Metodología para el diseño de software
                   2.2.1. Top down y Bottom Up
                           http://es.wikipedia.org/wiki/Top-down_y_Bottom-up
                          
                   2.2.2. Modular y programación estructurada
                           http://tamarisco.datsi.fi.upm.es/ASIGNATURAS/FRAV/apuntes/hipotesis.pdf
                           http://www.desarrolloweb.com/articulos/2477.php
                          
          2.3. Definición de lenguajes algoritmicos
                   2.3.1. Elementos y reglas de la representación gráfica y manuscrita de los algoritmos
                           http://es.wikipedia.org/wiki/Algoritmo
                           http://www.monografias.com/trabajos11/alcom/alcom.shtml
                          
                   2.3.2. Implementación de algoritmos secuenciales.
                           http://www.desarrolloweb.com/articulos/2199.php
                           http://blogs.ya.com/iscbitacoras/
                           http://www.desarrolloweb.com/articulos/2199.php
                           http://es.wikipedia.org/wiki/Algoritmo_secuencial
                          
          2.4. Pruebas y depuración
                   2.4.1. Pruebas
                           http://www.galeon.com/neoprogramadores/fasesprg.htm#Depuracion
                           http://dis.um.es/~lopezquesada/documentos/FP0405/Proyecto/web4/webalgo/teoria.htm
                          
                   2.4.2. Depuración
                           http://www.galeon.com/neoprogramadores/fasesprg.htm#Depuracion
                           http://dis.um.es/~lopezquesada/documentos/FP0405/Proyecto/web4/webalgo/teoria.htm
                          
3. Conocimiento de programación y un lenguaje estructurado
          3.1. Introducción a la programación
                   3.1.1. Definición de programa y programación
                           Material Unidad 3 (448000 bytes)
                           (29184 bytes)
                           Estudiar para el examen (29184 bytes)
                           http://webdia.cem.itesm.mx/ac/rogomez/Tutorial-LengC/componentes.html
                           http://torio.unileon.es/~dielpa/asig/shannon/IP/documentos/introduccion.pdf
                          
                   3.1.2. Definición de lenguaje de programación
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://torio.unileon.es/~dielpa/asig/shannon/IP/documentos/introduccion.pdf
                           http://www.google.com.mx/search?hl=es&defl=es&q=define:Lenguaje+de+programaci%C3%B3n&sa=X&oi=glossary_definition&ct=title
                          
          3.2. Introducción y origenes del lenguaje
                   3.2.1. Tipos de programación
                           http://canalhanoi.iespana.es/programacion/lengucomunes.htm
                           http://www.desarrolloweb.com/articulos/2477.php
                           http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n
                          
                   3.2.2. Características del lenguaje C++
                           http://www.eztigma.tk/area52/lenguajec.html
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://dgenp.unam.mx/planteles/p4/p4lenguajec/1int-c.htm
                           http://webdia.cem.itesm.mx/ac/rogomez/Tutorial-LengC/principal.html
                          
          3.3. Estructura básica de un programa, datos
                   3.3.1. Estructura básica de un programa
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://webdia.cem.itesm.mx/ac/rogomez/Tutorial-LengC/estruc_gral.html
                           http://www.ib.cnea.gov.ar/~icom/CursoC/priprog.shtml
                          
                   3.3.2. Tipos de datos.
                           http://webpages.ull.es/users/fsande/talf/cursoc/node3.htm
                           http://elvex.ugr.es/decsai/c/apuntes/tipos.pdf
                           http://www.devjoker.com/contenidos/Tutorial-C/142/Variables-y-tipos-de-datos.aspx
                          
                   3.3.3. Identificadores.
                           http://www.zator.com/Cpp/E3_2_2.htm
                           http://www.carlospes.com/curso_de_lenguaje_c/01_05_identificadores.php
                           http://www.clikear.com/manuales/csharp/c24.aspx
                          
                   3.3.4. Almacenamiento, direccionamiento y representación en memoria.
                           http://www.zator.com/Cpp/E2_2_4.htm
                           http://es.geocities.com/jorge_hefty/Basico.htm
                          
                   3.3.5. Proposición de asignación.
                           http://www.cs.buap.mx/~mmartin/introprog/Cap3.pdf
                           http://146.83.41.79/profesor/jmbm/co2/Apuntes/ProgComp/DFlujo/DFlujo1.htm
                          
          3.4. Operadores, Operandos y expresiones
                   3.4.1. Prioridad de operadores
                           http://www.eztigma.tk/area52/lenguajec.html
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://webdia.cem.itesm.mx/ac/rogomez/Tutorial-LengC/
                           http://www.fismat.umich.mx/mn1/manual/node3.html
                          
                   3.4.2. Evaluación de expresiones
                           http://webdia.cem.itesm.mx/ac/rogomez/Tutorial-LengC/
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://www.cvc.uab.es/shared/teach/a21292/pdf/expres.pdf
                          
                   3.4.3. Proceso de creación de un ejecutable.
                           http://elvex.ugr.es/decsai/builder/appendix/project/index.html
                           http://c.conclase.net/curso/index.php
                          
4. Funciones
          4.1. Funciones
                   4.1.1. Definición de funciones
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://webdia.cem.itesm.mx/ac/rogomez/Tutorial-LengC/funcion.html
                           http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)
                          
                   4.1.2. Funciones estándar
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://www.programacion.com/tutorial/lenguaje_c/4/
                          
          4.2. Entrada y salida de datos
                   4.2.1. Entrada de datos
                           http://www.programacion.com/tutorial/lenguaje_c/4/
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://www.eztigma.tk/area52/lenguajec.html#7
                          
                   4.2.2. Salida de datos
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://www.programacion.com/tutorial/lenguaje_c/4/
                           http://www.eztigma.tk/area52/lenguajec.html#7
                          
          4.3. Funciones definidas por el usuario
                   4.3.1. Pase por valor
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://es.wikipedia.org/wiki/C_(lenguaje_de_programaci%C3%B3n)
                           http://acm.asoc.fi.upm.es/documentos/c2007/transparencias/06-funciones.pdf
                          
                   4.3.2. Pase por referencia
                           Paso por referencia y otros (86694 bytes)
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://acm.asoc.fi.upm.es/documentos/c2007/transparencias/06-funciones.pdf
                           http://sopa.dis.ulpgc.es/so/cpp/intro_c/
                          
          4.4. Punteros
                   4.4.1. Definición de punteros
                           punteros (101888 bytes)
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://www.mastermagazine.info/termino/6446.php
                          
                   4.4.2. Pase por variable
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://www.gratiszona.com/apuntes/lenguaje_c/09_funciones.htm
                           http://www.tecnun.es/Asignaturas/Informat2/C/FAQs-C/Faqs_c.htm
                          
5. Estructuras selectivas
          5.1. Selectiva simple, doble
                   5.1.1. Selectiva simple
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://www.programacion.com/tutorial/lenguaje_c/4/
                          
                   5.1.2. Selectiva doble
                           http://www.mailxmail.com/curso/informatica/programacionestructurada/capitulo10.htm
                           http://www.univernet.net/aulas/informatica/programa/mod1/estprog.html
                          
          5.2. Selectiva anidada, múltiple
                   5.2.1. Selectiva anidada
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://www.programacion.com/tutorial/lenguaje_c/4/
                          
                   5.2.2. Selectiva múltiple
                           http://www.univernet.net/aulas/informatica/programa/mod1/estprog.html
                           http://www.mailxmail.com/curso/informatica/programacionestructurada/capitulo13.htm
                          
6. Estructuras de repeticiòn
          6.1. Estructuras de repetir, mientras, hasta
                   6.1.1. Repetir mientras
                           Estudiar para el examen (89088 bytes)
                           Trabajo final, ¿Que entregar? (70144 bytes)
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://www.programacion.com/tutorial/lenguaje_c/
                           http://www.programacion.com/tutorial/lenguaje_c/4/
                          
                   6.1.2. Repetir hasta
                           Repaso del 3 parcial version 2 (316416 bytes)
                           http://webdelprofesor.ula.ve/ingenieria/amoret/pd1/clase9.pdf
                           http://www.solotuweb.com/vc~t~Estructuras-de-Repeticion~id~4482.html
                          
          6.2. Estructura de repetir desde
                   6.2.1. Repetir desde
                           http://www.eztigma.tk/area52/lenguajec.html#7
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://www.programacion.com/tutorial/lenguaje_c/
                          
                   6.2.2. Combinaciones
                           Estructuras (78952 bytes)
                           http://www.di.uniovi.es/~dani/asignaturas/transparencias-leccion4.PDF
                           http://nayar.uan.mx/~iavalos/ciclos.htm
                          
7. Arreglos
          7.1. Arreglo Unidimensionales y bidimensionales.
                   7.1.1. Conceptos básicos de arreglos
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://orbita.starmedia.com/~prog201eq3/unidad5.htm
                           http://antares.itmorelia.edu.mx/~jcolivar/cursos/pc071q/pc_u4.pdf
                          
                   7.1.2. Operaciones y Aplicaciones de arreglos
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                           http://sistemas.itlp.edu.mx/tutoriales/estru1/15.htm
                           http://yalma.fime.uanl.mx/~ferny/MECAS512-7x4.pdf
                          
          7.2. Conceptos básicos
                   7.2.1. Operaciones
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                          
                   7.2.2. Aplicaciones
                           http://www.lawebdeprogramacion.com/c/manual22.zip
                          
                   7.2.3. Registros
                          
                   7.2.4. Archivos
                          

Prácticas de Laboratorio (20232024P)
Fecha
Hora
Grupo
Aula
Práctica
Descripción

Cronogramas (20232024P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación