UNIVERSIDAD DE GUADALAJARA

CENTRO UNIVERISTARIO DE CIENCIAS EXACTAS E INGENIERÍA

DIVISION DE ELECTRÓNICA Y COMPUTACIÓN

DEPARTAMENTO DE CIENCIAS COMPUTACIONALES

DATOS GENERALES

 CLAVE DE LA MATERIA:

 CC208

 NOMBRE DE LA MATERIA:

 LENGUAJES DE PROGRAMACIÓN COMPARADOS

 TIPO:

 CURSO

 CARÁCTER DEL CURSO:

 OBLIGATORIO

 ÁREA DE FORMACIÓN:

 BASICA PARTICULAR

 PRE-REQUISITOS:

 CC200

 DEPTO. DE ADSCRIPCIÓN:

 CIENCIAS COMPUTACIONALES

 CARGA HORARIA GLOBAL:

 80 HORAS

 CARGA HORARIA SEMANAL:

 4 HORAS

 VALOR EN CRÉDITOS:

 11 CRÉDITOS

OBJETIVO GENERAL:

ANALIZAR LOS PRINCIPALES CONCEPTOS DE LA PROGRAMACIÓN TAL COMO SE MANEJAN EN LOS LENGUAJES IMPERATIVOS, FUNCIONALES, LÓGICOS Y ORIENTADOS A OBJETOS. ENCONTRAR EL COMUN DENOMINADOR ENTRE LOS LENGUAJES E IDENTIFICAR SUS PRINCIPIOS SUSTANCIALES.

 OBJETIVO ESPECÍFICO:

 EXPRESADOS EN CADA MÓDULO

 

CONTENIDO PRINCIPAL

Módulo 0. Antecedentes.

Objetivo: Conocer las razones para el estudio de los lenguajes

0.1          Estudio de los lenguajes de programación desde el punto de vista de las áreas de aplicación.[1hora]

0.2          Estudio de los lenguajes de programación desde el punto de vista de su nivel.   [2 horas]

0.3          Estudio de los lenguajes de programación desde el punto de vista de los estilos de programación.          [3 horas]

Módulo 1: Introducción.

Objetivo: Conocer todo el conocimiento colateral necesario para el diseño y desarrollo de lenguajes de programación

1.1          Lenguaje de programación.                [1 hora]

1.2          Características de los lenguajes de programación.       [1 hora]

1.3          Diseño de un lenguaje de programación. [1 hora]

1.4          Sintaxis          [1 hora]

1.5          BNF's.                      [1 hora]

1.6          Árboles de reconocimiento.    [1 hora]

1.7          Diagramas de sintaxis.           [1 hora]

1.8          Autómatas.                            [1 hora]

1.9          Semántica y sus documentos  [1 hora]

1.10       Máquina de Turing.                [1 hora]

1.11       Proceso de compilación.         [1 hora]

1.12       Proceso de carga y enlace.     [1 hora]

Módulo 2: Elementos de un lenguaje de programación.

Objetivo: Conocer los elementos constitutivos de los Lenguajes de Programación

2.1          Nombres y declaraciones.                  [1 hora]

2.2          Asociaciones.                                    [1 hora]

2.3          Tipos de datos (en sus tres niveles)     [1 hora]

2.4          Operadores.                                      [1 hora]

2.5          Evaluación de expresiones.                 [1 hora]

2.6          Notaciones de expresiones.                [1 hora]

2.7          Funciones y su evaluación.                 [1 hora]

2.8          Recursividad.                                    [1 hora]

Módulo 3: Programación modular y orientada a objetos.

Objetivo: Comprender las similitudes existentes en los lenguajes pertenecientes al estilo imperativo

3.1          Antecedentes generales de la programación modular                           [1 horas]

3.2          Conceptos generales de la programación modular                               [1 horas]

3.3          Antecedentes generales de la programación orientada a objetos.          [2 horas]

3.4          Conceptos generales de la programación orientada a objetos.              [2 horas]

Módulo 4: Programación concurrente

Objetivo: Comprender las similitudes existentes en los lenguajes pertenecientes al estilo de programación concurrente

4.1          Antecedentes generales de la programación concurrente         [3 horas]

4.2          Conceptos generales de la programación concurrente              [3 horas]

Módulo 5: Programación funcional

Objetivo: Comprender las similitudes existentes en los lenguajes pertenecientes al estilo de programación funcional

5.1          Antecedentes generales de la programación funcional             [3 horas]

5.2          Conceptos generales de la programación funcional                  [3 horas]

Módulo 6: Programación lógica

Objetivo: Comprender las similitudes existentes en los lenguajes pertenecientes al estilo de programación lógica

6.1          Antecedentes generales de la programación lógica                  [3 horas]

6.2          Conceptos generales de la programación lógica                       [3 horas]

Módulo 7: Comparación de lenguajes.

Objetivo: El alumno aplicara los conocimientos adquiridos para prácticamente comparar los lenguajes

7.1     Comparar algunos lenguajes desde el punto de  vista de elementos, áreas de aplicación y un estilo de programación.                                                                       [9 horas]

7.2     Investiga sobre otros lenguajes de programación.                       [9 horas]

Nota: para cada uno de los módulos se utilizan diversos lenguajes de programación para hacer comparaciones y se revisan diversos ejemplos.

Modalidad Enseñanza-Aprendizaje

El curso tiene básicamente dos partes. El la primera parte se hace una presentación de todos los conceptos y elementos significativos para el desarrollo de los lenguajes de programación. La otra parte tiene que ver con la revisón de los diferentes paradigmas de programación, considerando ver cuando menos al lenguaje de programación más representativo para cada paradigma.

Evaluación

30% Proyectos prácticos

20% Exámenes parciales

50% Departamental

BIBLIOGRAFÍA BÁSICA

- Appleby, Doris.
Lenguajes de Programación. McGrawHill

- Sethi, Ravi
Lenguajes de Programación, Addison Wesley 1992

- Tucker, Allen
Lenguajes de Programación, 2da.
Edición, McGraw Hill, 1987

- Pratt, T.W.
Lenguajes de Programación, Prentice Hall, México

BIBLIOGRAFÍA COMPLEMENTARIA

- Abrahams, Paul
Unix,
Addison Wesley, Estados Unidos, 1994

- Koffman, Elliot
Pascal
,
Addison Wesley, 1996

- Kernighan, Brian
El Lenguaje de Programación C
, Prentice Hall, 1988

- Kolman, Bernard
Estructuras de Matemáticas Discretas para la Computación
, Prentice Hall 1986

- Brookshear, J. Glenn
Teoría de la Computación, lenguajes formales y complejidad,
Addison Wesley 1993

- Faison, Ted
Borland C++  3.1  Programación Orientada a Objetos, Prentice Hall, 1992

- Cox, Bradd
Programación Orientada a Objetos, Addison Wesley, Estados Unidos, 1993

- Winston, Patrick Henry
Lisp
,
Addison Wesley, Estados Unidos

- Winston, Patrick Henry
Inteligencia Artificial,
Addison Wesley, Estados Unidos

MATERIAL DE APOYO ACADÉMICO

- Compiladores e intérpretes para los diferentes lenguajes revisados.

- Series de ejercicios de programación con diversas soluciones.

- Proyector de acetatos.