código de ética herramientas - elisa.dyndns-web.com · checar en el bios el orden de búsqueda de...

6
Código de ética Nadie va a copiar partes de trabajo de otros estudiantes, de libros, de sitios web ni de ningún otro lado, con o sin permiso, sin definir claramente la referencia bibliográfica que otorge crédito completo al autor original. Con respeto a código, no se copia ni una línea. No ayuda que renombren variables o hagan algún otro intento de ocultar el robo intelectual. Cualquier intento a entregar algo que no sea cien porciento trabajo propio del estudiante mismo se considera fraude y resultará en una calificación reprobatoria inmediata. Herramientas Sistema operativo: Ubuntu Linux Editor de texto: emacs Navegador por omisión: Firefox Diapositivas disponibles en la página de la unidad Entrega de tareas: via blogs personales Preguntas: al GoogleGroup Entren a través de la página para inscribirse Entrar en ubuntu Reiniciar la computadora desde la memoria USB Checar en el BIOS el orden de búsqueda de reinicio Elegir la opción “Try Ubuntu” No cambiar el idioma - dejenlo en inglés Instalar emacs Abrimos el terminal (desde el menú) Editamos la lista de fuentes de instalación Desde el terminal sudo gedit /etc/apt/sources.list Descomentamos las líneas deb- (o sea, quitar el #) Guardamos el archivo Ejecutamos en el terminal sudo apt-get update sudo apt-get install emacs

Upload: doanlien

Post on 19-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Código de ética

Nadie va a copiar partes de trabajo de otros estudiantes, de libros, de sitios web ni de ningún otro lado, con o sin permiso, sin definir claramente la referencia bibliográfica que otorge crédito completo al autor original.

Con respeto a código, no se copia ni una línea. No ayuda que renombren variables o hagan algún otro intento de ocultar el robo intelectual.

Cualquier intento a entregar algo que no sea cien porciento trabajo propio del estudiante mismo se considera fraude y resultará en una calificación reprobatoria inmediata.

Herramientas

Sistema operativo: Ubuntu Linux

Editor de texto: emacs

Navegador por omisión: Firefox

Diapositivas disponibles en la página de la unidad

Entrega de tareas: via blogs personales

Preguntas: al GoogleGroup

Entren a través de la página para inscribirse

Entrar en ubuntu

Reiniciar la computadora desde la memoria USB

Checar en el BIOS el orden de búsqueda de reinicio

Elegir la opción “Try Ubuntu”

No cambiar el idioma - dejenlo en inglés

Instalar emacs

Abrimos el terminal (desde el menú)

Editamos la lista de fuentes de instalación

Desde el terminal sudo gedit /etc/apt/sources.list

Descomentamos las líneas deb- (o sea, quitar el #)

Guardamos el archivo

Ejecutamos en el terminal

sudo apt-get update

sudo apt-get install emacs

Calificación final

Concepto Porcentaje ¿Qué hago para cumplir?

Reportes 30%Redactas textos y los incorporas a tu portafolios; a veces incluyen código fuente de programas y diagramas

Presentaciones 30% Impartes tres ponencias en clase y preparas una digital tipo YouTube

Participación 20% Interactúas con tus compañeros durante sus ponencias y en los blogs

Exámenes 20% Contestas las preguntas en dos exámenes de “libro e internet abierto”

Programa semanalSemana Tema de sesión Actividad concluida Calificación

123456789

10111213141516

Fundamentos Creación del blog No aplica

Compiladores e intérpretes Mapa conceptual 3%+1%

Lenguajes script Caso de estudio 3%+1%

Presentaciones sobre compilación e interpretaciónPresentaciones sobre compilación e interpretación 5%+2%

Flujo de control: recursión 3+ programas 4%+1%

Presentaciones sobre flujo de control recursivoPresentaciones sobre flujo de control recursivo 10%+3%

Lenguajes funcionales 2+ programas 3%+1%

Examen de medio cursoExamen de medio curso 10%

Lenguajes lógicos Resolución de problemas 3%+1%

Flujo de control: iteración 1+ programa(s) 2%+1%

Presentaciones sobre flujo de control iterativoPresentaciones sobre flujo de control iterativo 10%+3%

Lenguajes imperativos 4+ programas 5%+1%

Tipos de datos Presentaciones en línea 5%+3%

Lenguajes orientados a objetos 3+ programas 4%+%1

Lenguajes multiparadigma 1+ programa(s) 3%+1%

Examen ordinarioExamen ordinario 10%

Fundamentos

Lenguajes de programación

Sintáxis y semática

La historia y la presente de lenguajes

Lenguajes de representación y consulta

¿Lenguaje de programación?

Lenguajes artificiales

Productos de ingeniería con un sabor de ciencia

Para expresar operaciones que se requiere que lleve a cabo una máquina

Hardware

Sistema operativo

Programa

Usuario

CPU RAM

Ensamblador

mov r1, 7mov r2, 3add r1, r2mul r1, 2

Sistema operativo

Gestión de procesos e hilos

Gestión de memoria y memoria virtual

Gestión de entrada & salida

Gestión de archivos

Concurrencia (exclusión mutua)

Seguridad

Vamos a ver esto en detalle luego en la unidad de aprendizaje Sistemas operativos

Paradigmas

Imperativos (procedurales)

a base de secuencias de instrucciones (enunciados)

p. ej. C, FORTRAN, ALGOL, Pascal, Cobol

Funcionales (aplicativos)

a base de funciones (a dentro de funciones)

p. ej. LISP, ML

Lógicas

a base de hechos (átomos, proposiciones) y dependencias (consequencias)

p. ej. PROLOG

Orientadas a objetos

a base de clases y objetos (instancias)

p. ej. Java, C++

Influencias importantes

Poder computacional

Aplicaciones computacionales

Metodologías

Teoría de la computación

Estándares

Pratt & Zelkowitz: Lenguajes de programación - Diseño e implementación, Pearson, 1998.

Un lenguaje debería ser

expresivo

claro

sencillo

consistente

natural

abstraíble

comprobable

compatible

portable

rápido

barato

general

Pratt & Zelkowitz: Lenguajes de programación - Diseño e implementación, Pearson, 1998.

Validación

Depuración rastreadores de ejecuciónpuntos de interrupciónasertos

Pruebasautomatizadasde unidad / módulo / integración

Verificaciónmodelos formales

Sintaxis

La estructura de una gramática, o sea, las reglas y principios para formar expresiones

Cf. autómatas y lenguajes formales

Convenciones de nomenclatura

Definición explícita (Pascal) o implícita (FORTRAN)

ElementosCaracteres

Identificadores

Operadores

Palabras reservadas

Comentarios

Espacio en blanco

Delimitadores

Expresiones

Enunciados

Gramática

Aho, Sethi, Ullman: Compiladores - Principios, técnicas y herramientas. Pearson, 1990.

listalista +

-

0 1 2 3 4 5 6 7 8 9|

lista dígitolista dígitolista dígito

dígito | | | | | | | |

(componente léxico)

Símbolo terminalSímbolo no terminal

Expresión y enunciado

Expresión = una función que produce un valor a partir de datos proporcionados a ella

Enunciado (inglés: statement)

simple

estructurado (anidado)

contiene enunciados incrustados

Semántica

El significado de una expresión

La resolución de ambigüedad de sintaxis

Historia

1900 2010

Church & Turing30s, 40s

UNIVAC & IBM50s

Lenguajes de alto nivel50s, 60s

Lenguajes “modernos”60s, 70s

Estándarización80s

Modularidad80s, 90s

Internet90s

http://www.intac.net/whats-your-programming-language_2010-06-23/

Top diez de Tiobe.com

http://www.intac.net/whats-your-programming-language_2010-06-23/

Los más famosos por año

http://www.intac.net/whats-your-programming-language_2010-06-23/

Lenguajes de representación y consulta

Representación

HTML

XML

PDF

PostScript

LaTeX

Consulta

SQL

OQL

SPARQL (RDF)

YQL (Yahoo!)

...y muchos más.