Download filial tumbes facultad de ingenierías y arquitectura

Document related concepts

Scala (lenguaje de programación) wikipedia , lookup

Programación funcional wikipedia , lookup

JavaScript wikipedia , lookup

Polimorfismo (informática) wikipedia , lookup

Transcript
FILIAL TUMBES
FACULTAD DE INGENIERÍAS Y ARQUITECTURA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS E INFORMÁTICA
TEORÍA DE LENGUAJES
SÍLABO
I. DATOS GENERALES
CARRERA PROFESIONAL
CÓDIGO DE LA CARRERA
NOMBRE DE LA ASIGNATURA
CÓDIGO DE LA ASIGNATURA
NRO DE HORAS TOTALES
CICLO
NRO DE CRÉDITOS
PRE-REQUISITO
:
:
:
:
:
:
:
:
TIPO DE CURSO
DURACIÓN DEL CURSO
CURSO REGULAR
EXAMEN SUSTITUTORIO
DOCENTE
EMAIL
WEB
:
:
:
:
:
:
:
INGENIERÍA DE SISTEMAS E INFORMÁTICA
02
TEORÍA DE LENGUAJES
02210
4 HORAS SEMANALES
IV CICLO
3 CRÉDITOS POR CICLO
ESTRUCTURAS DISCRETAS, LENGUAJE DE
PROGRAMACIÓN ORIENTADO A OBJETOS
OBLIGATORIO
18 SEMANAS EN TOTAL
17 SEMANAS
1 SEMANA
ING. DANIEL MAZA MEDINA
[email protected]
www.danielmaza.org/campus
II. DESCRIPCIÓN DE LA ASIGNATURA
La asignatura es de naturaleza teórico - práctica con mayor incidencia en la práctica, ya que
se desea que el alumno conozca los conceptos teóricos de la programación orientada a
Objetos con la ayuda de un lenguaje de programación orientado a la práctica profesional.
JAVA, es un poderoso y completo lenguaje de programación orientado a objetos
desarrollado a principios de los años 90 en Estados Unidos por Sun Soft Inc.
Java es un conjunto de objetos y herramientas que se utilizan con una sintaxis muy
similar a la del lenguaje C y C++ y que permiten utilizar los mismos códigos fuente de
programación distribuyéndolos a través de las redes de cómputo, operando de forma
tal que son neutrales o independientes a las diferentes arquitecturas de computadoras
gracias a la implementación del concepto de máquina virtual, y que hay una para cada
plataformas y sistemas operativos en los que se ejecuten programas de Java. Además
de que es un software libre.
III. OBJETIVOS GENERALES
El curso esta diseñado para los alumnos de la Universidad Alas Peruanas que se inician en
el desarrollo de aplicaciones, siempre con la mira hacia el desarrollo de aplicaciones de la
vida real que actualmente son usadas en las empresas.
Teoría de Lenguajes
Página 1 de 5
FILIAL TUMBES
IV. METODOLOGÍA
El profesor hará la presentación introductoria del curso y del Sílabo propiamente dicho.
Promoverá el diálogo constante con los alumnos para ayudar a que fijen y profundicen
mejor los conocimientos que vayan adquiriendo.
En todo momento resaltará la importancia de su participación espontánea en el curso y que
no sólo deben conocer sino, investigar los diferentes temas tratados. Los temas serán
enseñados utilizando las técnicas modernas de tecnología educativa consistentes
principalmente en efectuar trabajo en computadora, y haciendo hacer ejercicios sobre la
aplicación actual de temas basados en casos de la vida real para permitirles fijar mejor los
conceptos.
Deberán, en todo momento, tener como fuente principal de consulta la separata que les
proporcionará el profesor al inicio del curso para que le saquen copia; también deberán
consultar los libros mencionados en la sección Bibliografía.
Utilizarán durante todo el curso:
Técnicas
ƒ Exposición del Tema.
ƒ Trabajo de Investigación utilizando tecnología moderna.
ƒ Desarrollo de un sistema de información.
Materiales
ƒ Pautas para la presentación de los informes.
ƒ Bibliografía.
ƒ Separatas proporcionadas por el profesor.
V. EVALUACIÓN
El reglamento vigente de la universidad exige la asistencia obligatoria a clases y que el
profesor pase lista de asistencia en cada clase que dicta, anotando las inasistencias en el
registro proporcionado por la Universidad.
Dada la naturaleza del curso, la transmisión directa de la experiencia del profesor y la
participación del alumno en la clase es de suma importancia, por lo que se reitera que la
asistencia a clases es obligatoria. No podrá sobrepasarse el 30% de inasistencias, para
tener derecho a evaluación.
Finalmente, sólo el alumno que asiste regularmente a clases, gana el derecho a ser
evaluado y que en todo momento estará presente la normatividad expresada en el
reglamento de la Universidad.
Para evaluar el logro de los objetivos individuales, se tomarán prácticas individuales a lo
largo del curso (promedio de prácticas), examen parcial y final. Para evaluar el logro de los
objetivos de grupo, se aplicarán dos proyectos a mitad y al final del curso (tarea académica)
Práctica Calificada (PC), Que consiste en ejercicios dados por el profesor del curso al
alumno para que las responda en el aula o laboratorio.
Teoría de Lenguajes
Página 2 de 5
FILIAL TUMBES
Trabajo de Investigación (TI), que consiste en problemas prácticos como se explicó en la
sección anterior y que el alumno desarrollará con el uso del computador.
Examen Parcial (EP), que consiste de una evaluación teórico - práctico de conocimiento y
donde el alumno dará sus respuestas por escrito.
Examen Final (EF), que consiste en la evaluación teórico - práctico de conocimiento de
todo el curso y donde el alumno dará sus respuestas por escrito.
Cada modalidad de evaluación anteriormente mencionada, tendrá un peso de 1 y la nota
final del curso será el promedio aritmético de las cuatro notas.
Nota Final: Prom(PC y TI)(40%) + EP(30%) + EF(30%)
Examen Sustitutorio (ES), que consiste en la evaluación teórico práctico de conocimiento
de todo el curso y donde el alumno dará sus respuestas por escrito.
La nota obtenida en el examen Sustitutorio, podrá reemplazar la nota más baja que el
alumno haya obtenido en su primer examen Parcial o en el examen Final y de proceder el
reemplazo, se recalculará la nueva nota final.
En caso la nota del Examen Sustitutorio sea más baja que la nota del Examen Parcial o del
Examen final, no se reemplazará ninguna de ellas, quedando el alumno con la nota
obtenida hasta antes del examen Sustitutorio.
VII. CONTENIDO DEL CURSO
SEMANA 01
Teoría de Lenguajes: Lenguajes formales. Tipos de lenguajes. Gramática formal.
Aplicación de la teoría de lenguajes: Ejemplos y práctica con intérpretes y compiladores.
SEMANA 02
Tipos de Lenguajes de programación imperativos.
Forma de programación: Estructurada y orientada a objetos, visual.
Lenguajes de bajo Nivel: Lenguaje máquina: Fundamentos de circuitos digitales, lógica y
aritmética binaria. Assembler: Orígenes, evolución, característica de programación,
entorno de desarrollo, aplicaciones.
Lenguajes intermedios: C. Orígenes, evolución, características de programación, entorno
de desarrollo, aplicación.
SEMANA 03
Lenguajes de alto nivel: Pascal, Basic, Fortran y COBOL. Orígenes, evolución,
características de programación, entorno de desarrollo, aplicaciones.
Teoría de Lenguajes
Página 3 de 5
FILIAL TUMBES
SEMANA 04
Lenguajes de cuarta generacion (4GL): Programación en los entornos de: Power Builder,
Informix y Oracle: Orígenes, evolución, fututo, características de programación, entorno de
desarrollo, aplicaciones.
SEMANA 05
Aplets: Crear applets, ciclo de vida de un applet, tag Applet en HTML, paso de parámetros
a un applet desde HTML.
AWT, applets y aplicaciones: Paquete java.awt, Componentes (Button, CheckBox,
CheckboxGroup - Botones de opción, Choice, Canvas, TextField, TextArea, List, Dialog,
FileDialog, ScroollPane, MenuBar, MenuItem, CheckboxMenuItem.) Contenedores,
Layouts.
SEMANA 06
Eventos: Modelo de delegación de eventos, categorías de eventos, implementando
múltiples interfaces, manejo de eventos usando clases internas, manejo de eventos usando
clases internas anónimas. Adaptadores.
Uso de AWT con applets: Graficador de funciones.
SEMANA 07
Threads: Conceptos básicos, creación y utilización, ciclo de vida, sincronización, Interacción
de Threads.
SEMANA 08
Examen Parcial
SEMANA 09
Base de Datos con Java: Puentes o controladores (Puente 1: JDBC - ODBC, Puente 2:
Java Nativo, Puente 3: 100% Java / Protocolo nativo, Puente 4: 100% Java / Protocolo
independiente). JDBC-ODBC con AWT y Access.
El API JDBC: Funcionamiento de un programa de Java con JDBC, identificar el origen de
datos, crear un objeto Connection.
SEMANA 10
Crear un objeto Statement: Objeto Statement - método executeUpdate(),Objeto Statement método executeQuery()
SEMANA 11
Liberar objetos ResultSet, Statement y Connection: Uso de un archivo de propiedades, Uso
de PreparedStatement.
Teoría de Lenguajes
Página 4 de 5
FILIAL TUMBES
SEMANA 12
Aplicaciones Web con tecnología Java: Introducción, Tecnologías para generar páginas
dinámicas, ¿Qué es un Servlet?, ¿Qué es JSP?, ¿JSP o Servlets?. Aplicaciones de bases
de datos con JDBC.
SEMANA 13
Servidores Web con Soporte para JSP'S: Introducción. Apache Tomcat, Obtener el ApacheTomcat (para plataforma Windows ), Instalación y configuración de Tomcat, Configurar las
variables de ambiente para Apache-Tomcat, Arrancar el servidor Tomcat 4.1, Parar el
servidor Tomcat 4.1, Arranque automático del servidor Tomcat ( para Windows ).
SEMANA 14
La Tecnología JSP: Arquitectura JSP. Incorporar contenido Java en una página HTML
(Declaraciones, Expresiones y Scriptlets). Directivas: Directiva page, Directiva include.
SEMANA 15
Objetos implícitos: Objeto page, Objeto config, Objeto request, Objeto sesión, Objeto
application.
Flujos: ¿Qué es un Flujo?, flujos estándar, flujos que ofrece java.io, flujos de bytes, Gestión
de excepciones de entrada / salida, flujos de acceso a archivos, clase File, clase
FileOutputStream, clase DataOutputStream, clase DataInputStream..
SEMANA 16
La Tecnología JDBC: El API JDBC, Tipos de controladores, Desarrollo de aplicaciones con
el API JDBC (Cargar el controlador JDBC, Establecer una conexión, Enviar consultas,
Procesar los resultados, Cerrar la Conexión).
SEMANA 17
EXAMEN FINAL
SEMANA 18
EXAMEN SUSTITUTORIO
VIII. BIBLIOGRAFÍA
Además de la bibliografía básica, la complementaria y la electrónica, el alumno tendrá
acceso al uso del Internet para ampliar los temas de investigación y consulta que requiera.
LIBROS
1. COSTALES, B. Introducción al Lenguaje C.
2. CEBALLOS, S. F. J. Cursos de Programación con C.
3. HEKMATPOUR, SH. C++ Guia para programadores en C.
4. DAVID FLANAGAN, Java Examples in a Nutshell
5. KATHY SIERRA, BERT BATES, Head First Java, 2nd Edition
6. PAT NIEMEYER, JONATHAN KNUDSEN, Learning Java
7. BRUCE ECKEL, Thinking in Java, 3rd Edition.
Teoría de Lenguajes
Página 5 de 5