Fundamentos de Computadores y Lenguajes

Primer Curso, Licenciado en Física

Facultad de Ciencias, Universidad de Cantabria

1. Profesores
2. Programa
3. Apuntes y Ejemplos
4. Paquete Fundamentos
5. Ejercicios
6. Prácticas
7. Exámenes anteriores

Esta es una asignatura de un plan de estudios a extinguir.

Se conserva la información en esta página para disponer de un registro histórico.


1. Profesores

2. Programa

Bloque I: El computador y el proceso de programación

1. Introducción a los computadores y su programación

Arquitectura básica de un computador. El software del sistema. Lenguajes de alto nivel. El proceso de compilación. El ciclo de vida del software.

2. Introducción al análisis y diseño de algoritmos.

Introducción. Diseño de un programa. Concepto de algoritmo. Descripción de algoritmos: el pseudolenguaje. Tiempo de ejecución de algoritmos. La notación O(n). Ejemplos de análisis.

3. Introducción al análisis y diseño de programas

Actividades del ciclo de vida del software. Paradigmas de desarrollo de programas. Análisis de Requerimientos. Especificación funcional. Diseño arquitectónico. Técnicas de diseño detallado.

4. Verificación de programas

Importancia de la verificación. Estrategias de prueba. Fases de la prueba de programas. Depuración. Elección de datos para la prueba.

Bloque II: Lenguaje de Programación

1. Elementos básicos de los lenguajes

Introducción. Concepto de clase y objeto. Estructura de un programa. Tipos primitivos. Variables y constantes. Operadores y expresiones. Conversión de tipos. Uso de funciones matemáticas. Declaración de clases y objetos. Strings. Composición de objetos. Atributos y métodos estáticos

2. Instrucciones de control.

Instrucción condicional. Instrucción condicional múltiple. Instrucciones de lazo. Lazo con condición de permanencia al principio. Lazo con condición de permanencia al final. Lazo con variable de control. Instrucciones de salto en lazos.

3. Tipos de datos.

Tipos enteros. Tipos reales. Conversión de tipos. Caracteres. Strings. Tablas o arrays (unidimensionales y multidimensionales). Tipos enumerados.

4. Métodos

Conceptos básicos. Paso de parámetros. Constructores. Reglas de visibilidad.

5. Modularidad y abstracción

Paquetes. Especificaciones de acceso. Campos y métodos estáticos. Abstracción mediante componentes privados. Documentación de módulos de programa. Tipos de módulos de programa.

6. Tratamiento de errores.

Transmisión de errores mediante parámetros. Excepciones. Errores o excepciones predefinidos. Uso de excepciones. La cláusula finally. Principales métodos de gestión de los errores. Cuándo usar excepciones.

7. Entrada/salida simple.

Entrada/salida de texto y de caracteres. Entrada/Salida de números. Operaciones para gestión de pantalla y teclado. Gráficas. Dibujos. Menús de botones.

8. Entrada/salida con ficheros

Ficheros. Entrada/salida binaria. Entrada/salida de objetos y variables. Entrada/salida de texto. Salida de texto formateado.

Bloque III: Herramientas

1. Uso de sistemas operativos

Conceptos básicos. Sistemas operativos comunes. Arranque y finalización de sesiones. El sistema de ficheros. El intérprete de órdenes. Ejecución de programas. El gestor gráfico de ficheros. Uso de la memoria USB. Aspectos avanzados.

2. Uso de un entorno integrado de desarrollo de programas

Editor de texto. Editor de texto orientado al lenguaje. El compilador y la ejecución. Uso de un entorno integrado de desarrollo de programas. La depuración. Generación de documentos. Empaquetamiento del programa

Otras actividades (Seminarios)

Creación de páginas Web.
Creación de applets sencillos.

3. Apuntes y Ejemplos

Para ver los apuntes en formato pdf pinchar sobre el enlace correspondiente.

Para obtener los ejemplos, descargar el fichero de este enlace (formato zip) con Botón derecho del ratón => "Guardar destino como"

Programa

Bloque I

1. Introducción a los computadores y su programación
2. Introducción al análisis y diseño de algoritmos
3. Introducción al análisis y diseño de programas
4. Verificación de programas
 

Bloque II

1. Ejemplos del capítulo 1
2. Ejemplos del capítulo 2
3. Ejemplos del capítulo 3. Lista de alumnos.
4. Ejemplos del capítulo 4
5. Ejemplos del capítulo 5. Lista de alumnos con paquete. Lista de alumnos con ArrayList
6. Apuntes del capítulo 6. Ejemplos del capítulo 6. Lista de alumnos con excepciones
8. Apuntes del capítulo 8. Ejemplos del capítulo 8

Bloque III

1. Uso de sistemas operativos. Ejercicios
2. Uso de un entorno integrado de desarrollo de programas

Seminarios

1. Creación de páginas Web.
2. Creación de applets sencillos.

4. Paquete Fundamentos

El paquete fundamentos es un conjunto de clases para entrada/salida gráfica. Está diseñado para esta asignatura y para otros alumnos que se inician en el lenguage Java y que no desean gastar mucho tiempo en aprender la interfaz gráfica completa, pero que quieren poder hacer programas vistosos con entrada/salida gráfica.

Para ver más información sobre el paquete fundamentos y poder descargarlo buscar en la página fundamentos.

Para obtener los apuntes de clase explicando el paquete fundamentos, pulsar aquí: Apuntes_Fundamentos

5. Ejercicios

6. Prácticas


Primer cuatrimestre
Segundo cuatrimestre

7. Exámenes anteriores

Una vez que ya se tiene experiencia con Java, es conveniente hacer ejercicios, para los que se os propone intentar resolver los ejercicios de exámenes anteriores. Las soluciones a algunos de estos ejercicios están disponibles aquí.

Curso 2008-2009

Curso 2007-2008

Curso 2006-2007

Curso 2005-2006

Curso 2004-2005

Curso 2003-2004

Curso 2002-2003

Curso 2001-2002

Curso 2000-2001