Tecnicas Avanzadas
Ingeniería en Informática
Carlos Abaffy
abaffy@gmail.com
@carlosabaffy
Contenido de la Materia
1.
Conceptos Generales de Lenguajes
I.
II.
III.
IV.
V.
VI.
2.
Programación Funcional
I.
II.
3.
Definición de Lenguajes
Historia
Características
Tipos de Lenguajes
Maquinas Virtuales
Tipos de Compiladores
Fundamentos deProgramación Funcional
Lenguaje Scheme
Compiladores
I.
II.
III.
Sintaxis y Semántica
BNF
Funcionamiento de un Compilador
Contenido de la Materia
4.
Programación Lógica
I.
II.
5.
Fundamentos de Programación Lógica
Lenguaje Prolog
Programación Orientada a Objetos
I.
II.
III.
IV.
V.
VI.
VII.
Fundamentos del Modelo de Objetos
Lenguaje C++
Lenguaje Java
LenguajeRuby
Lenguaje Phyton
Lenguaje Perl
Otros tópicos del modelo de objetos
Bibliografía
1.- Lenguajes de Programación principios y paradigmas
- Mc Graw Hill – 2003
A.Tucker – R.Noonan
2.- Concepts of Programming Languages – Addison
Wesley 1999
Robert Sebesta
3.- Programming Languages Design and
Implementation – Prentice Hall 1984
Terrence W. Pratt
4.- Seven Languages in Seven Weeks– 2010
Bruce Tate
5.- Manuales de Los Lenguajes a utilizar disponibles en
Internet
Herramientas de Software
1.- Programación Funcional - Scheme (Código Abierto)
http://www.drscheme.org
2.- Programación Lógica - Prolog (Código Abierto)
http://www.swi-prolog.org/
3.- Programación Orientada a Objetos - C++ /Java/Ruby
(Código Abierto)
Evaluación
3 Exámenes Parciales
1°
2°
3°Conceptos de Lenguajes
Lenguajes Funcionales
Compiladores
Prolog
Modelo de Objetos
C++/Java/Ruby
3 Proyectos
1°
2°
3°
Scheme
Prolog
Phyton
1 Exposición
TOTAL
54%
19 %
20 %
15 %
33 %
12 %
12 %
9%
13 %
100 %
Reglas de Clase
Todos los trabajos serán entregados en formato digital a
través del correo electrónico (No se aceptarán trabajos en
papel)
Los trabajos deben cumplir con las siguientes
condiciones:
El correo (en el asunto) y el archivo debe identificar la
asignación que se está entregando.
El archivo debe ser entregado en formato pdf.
El formato de identificación de los proyectos es el
siguiente: LABzzSxxGyy (zz número del proyecto (01, 02 o
03), xx numero de la sección 01 o 02, yy numero del grupo
asignado por elprofesor)
NO SE ACEPTARÁN TRABAJOS QUE NO
CUMPLAN CON ESTAS NORMAS
Reglas de Clase
Todos los trabajos y exámenes deben ser presentados en
la sección que se encuentra inscrito. No se permitirá bajo
ninguna circunstancia presentar en otra sección.
Si por alguna razón se pierde algún examen entonces se
deberá presentar en recuperativo
Esta prohibido el uso de celulares en losexámenes
No se tomará asistencia a la clase
Reglas de Clase
Con respecto a los proyectos:
Los grupos de proyecto son de 3 personas
máximo.
Todos los integrantes deben estar presentes para
la defensa del proyecto. Si algún integrante falta
no tendrá nota en el proyecto
Para la defensa del proyecto, el profesor podrá
escoger a una persona que defienda el mismo en
nombre de losdemás. La nota obtenida en esta
defensa se aplicará a todo el grupo. Por esta razón
es muy importante que se reporte cualquier
irregularidad en el trabajo realizado antes de
empezar la defensa.
El informe del proyecto debe contener al menos
las siguientes secciones: definición del problema,
algoritmo general, estructuras de datos, tabla de
funciones, resultados, código fuente.
Reglas deClase
Con respecto a los proyectos:
La evaluación de los proyectos contempla 3
aspectos principales:
Corrida (3 puntos)
Programación y Estilo ( 4 puntos)
Informe (3 puntos)
Adicionalmente la defensa se evaluará entre 0-1 y
servirá como factor multiplicador de la nota
obtenida en los 3 factores anteriores.
Por ejemplo
Corrida: 2 /3
P&E: 3 /4
...
Regístrate para leer el documento completo.