Imprimir

Programa

CURSO:FUNDAMENTOS DE LENGUAJES DE PROGRAMACION
TRADUCCION:PROGRAMMING LANGUAGES FUNDAMENTALS
SIGLA:IIC2560
CREDITOS:10
MODULOS:03
CARACTER:MINIMO
TIPO:CATEDRA
CALIFICACION:ESTANDAR
PALABRAS CLAVE:LENGUAJES DE PROGRAMACION,FLUJO DE CONTROL,TIPOS DE DATOS,MODELOS DE PROGRAMACION
NIVEL FORMATIVO:PREGRADO


I.DESCRIPCIÓN DEL CURSO

En este curso la/os estudiantes aprenderan los fundamentos de los lenguajes de programacion utilizados para desarrollar programas computacionales (software).Si bien existe una infinidad de lenguajes, virtualmente todos comparten un conjunto de ideas o principios comunes, basados en la arquitectura de los computadores y en la teoria de automatas.La/os estudiantes podran explicar el funcionamiento de un programa computacional, y programar en varios lenguajes, distinguiendo las caracteristicas principales de cada uno; seran capaces de distinguir los diferentes modelos de programacion y los diferentes lenguajes correspondientes a cada modelo.


II.RESULTADOS DE APRENDIZAJE 

1.Explicar la relacion entre los distintos componentes y aspectos de un lenguaje de programacion y la arquitectura del computador involucrados en el desarrollo de un programa computacional.

2.Explicar el funcionamiento de un programa computacional en un computador real, analizando el efecto de la ejecucion de cada parte del programa segun el lenguaje en que esta escrito para obtener un resultado.

3.Analizar diferentes lenguajes de programacion, distinguiendo sus semejanzas y diferencias principales, para determinar racionalmente el lenguaje mas apropiado en el  desarrollo de un programa computacional.

4.Desarrollar programas en diversos lenguajes de programacion, segun el problema que se quiere resolver y los recursos disponibles.


III.CONTENIDOS

1.Introduccion.

2.La sintaxis, o forma, de los lenguajes de programacion.

3.Uso de identificadores, o nombres, en un programa, y sus significados y alcances.

4.La semantica, o significado, de los lenguajes de programacion.

5.Flujo del control: evaluacion de expresiones, ejecucion secuencial, seleccion, iteracion y recursion.

6.Tipos de datos: records, arrays, strings, sets, punteros, listas y archivos; polimorfismo, ortogonalidad y verificacion.

7.Abstracciones de control: subrutinas, llamadas y paso de parametros; manejo de excepciones y de eventos.

8.Abstraccion de datos: orientacion a objetos, clases y generics, encapsulacion y herencia, binding dinamico.

9.Otros modelos de programacion: programacion funcional,logica, concurrente,y scripting


IV.ESTRATEGIAS METODOLOGICAS

-Clases expositivas.

-Ayudantias.

-Talleres de lenguajes de programacion.

-Tareas de programacion.


V.ESTRATEGIAS EVALUATIVAS 

-Interrogaciones escritas: 25%

-Tareas de programacion en diversos lenguajes: 50%

-Examen final escrito: 25%


VI.BIBLIOGRAFIA

Minima

Michael L. Scott, Programming Language Pragmatics, Elsevier 2015.


Complementaria

Robert W. Sebesta, Concepts of Programming Languages (11 th ed.), Pearson 2016.

Bruce Tate, Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages, The Pragmatic Programmers 2010.


PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE
ESCUELA DE INGENIERIA / OCTUBRE 2022