Syllabus

INM-0407 Algoritomos y Lenguajes de Programación

LIC. MARIA ESPERANZA BALCHE HAYDAR

mebalche@itescam.edu.mx

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

Prerrequisitos
COMPUTACION.
1. Describir los componentes de una computadora(Hardware, software).
2. conocer los componentes de la paquetería de office.
3.definir los los conceptos básicos de los algorítmos
ARITMETICA
1. conocer las operaciones básicas como sumar, multiplicar, dividir números de cualquier tipo.
LOGICA
1. Desarrollar posibles soluciones a problemas de la vida real.

Competencias Atributos de Ingeniería

Normatividad
El alumno deberá:
Cumplir con el 80 de las asistencias.
Estar a mas tardar 15 min. después de la hora indicada, despues de esta no se le dejará entrar al salón.
Cumplir con los ejercicios correspondientes para obtener una calificación.

Materiales
Tutorial de programación C (Básico)

Bibliografía disponible en el Itescam
Título
Autor
Editorial
Edición/Año
Ejemplares

Parámetros de Examen
PARCIAL 1 De la actividad 1.1.1 a la actividad 2.4.2
PARCIAL 2 De la actividad 3.1.1 a la actividad 5.2.2

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 ( bytes)
                           Introducción a la computación, Peter Norton, Cap I
                           Introducción a la computación, Peter Norton, Apendice A
                           Unidad1 Introducción a la computación ( 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://www-etsi2.ugr.es/alumnos/mlii/
                           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
                           Unidad1 ( 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
                           Unidad1 ( 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
                           http://coqui.lce.org/cedu6320/ssegarra/soft.html
                           http://es.wikipedia.org/wiki/Apple_Macintosh
                          
                   1.3.3. Unix y Linux
                           http://es.wikipedia.org/wiki/UNIX
                           http://coqui.lce.org/cedu6320/ssegarra/soft.html
                          
          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 ( bytes)
                           Material Unidad 2 ( 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://www.itlp.edu.mx/publica/tutoriales/algoritmos/tema_41.htm
                           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 ( bytes)
                           ( bytes)
                           Estudiar para el examen ( 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 ( 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 ( 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 ( bytes)
                           Trabajo final, ¿Que entregar? ( 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 ( 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 ( 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 (20212022P)
Fecha
Hora
Grupo
Aula
Práctica
Descripción

Cronogramas (20212022P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación