|
|
Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
|
CI-0202 Principios de Informática
Páginas de otros profesores
- Francisco Arroyo
<farroyo@ecci.ucr.ac.cr>
-
http://farroyo.ecci.ucr.ac.cr/ci0202/
- Edgar Casasola
<edgar.casasola@ecci.ucr.ac.cr>
-
http://zafiro.ecci.ucr.ac.cr/ci1101/materialCurso/
- Braulio Solano
<braulio.solano@ecci.ucr.ac.cr>
-
http://bsolano.com/ecci/claroline/course/index.php?cid=CI0202
- Roberto Ulloa
<roberto.ulloa@ecci.ucr.ac.cr>
-
https://sites.google.com/site/principiosci0202/
OBJETIVO
Proveer al estudiante la formación básica en
programación y construcción de
algoritmos para su adecuado desempeño en los cursos
subsiguientes de la carrera, fomentándole sus habilidades
generales para la resolución de problemas.
OBJETIVOS ESPECIFICOS
Al finalizar el curso, el estudiante será capaz de:
- Comprender el funcionamiento de equipo básico de
computación.
- Diseñar, organizar e
implementar algoritmos para resolver problemas
específicos.
- Usar un ambiente de programación para la
edición,
documentación, depuración y
prueba de programas.
- Reutilizar componentes de programación.
- Aplicar a nivel básico
buenas prácticas de construcción de
programas.
CONTENIDOS
- Nociones básicas de sistema operativo, arquitectura de
un computador, lenguaje de programación,
algoritmo.
- Conceptualización y definición de
clases, atributos de clases,
instancias de clases,
tipos y
variables.
- Entrada y salida de datos y valores.
- Estructuras básicas de control: secuenciación,
bifurcación,
iteración.
- Especificación e
implementación de
métodos y de funciones.
- Distintos tipos de
módulos: procedimiento, función, clase,
programa,
unidad.
- Estructuras de datos basadas en arreglos.
- Estructura de una clase: parte pública,
parte privada,
constructores y
destructores.
- Introducción a la
recursividad y la programación concurrente.
- Algoritmos de búsqueda y ordenamiento
básicos.
- Memoria
estática y memoria
dinámica; clases
contenedoras básicas.
EVALUACION
El peso de la evaluación estará en los
exámenes, aunque es indispensable que todos los estudiantes
realicen los trabajos programados. Los exámenes se
realizarán en horas lectivas cuya fecha será
anunciada con 2 semanas naturales de anticipación.
|
INDICE DE MATERIALES DEL CURSO
- Tareas (Prof. Di Mare)
-
# 1:
Números de Armstrong
-
# 2:
Inversión de los dígitos de un número
-
# 3:
Comparación de vectores
-
# 4:
Juego de toques y famas
-
# 5:
Ordenamiento de vectores por selección
-
# 6:
Juego mejorado de toques y famas
-
# 7:
Caída matricial de una piedra
-
# 8:
Remolvo en Espiral
-
# 9:
Remolvo en Espiral con Dibujitos
- Ejemplos de laboratorio (Prof. Di Mare)
-
Laboratorio # 1
[Java]
[C++]:
Números de Armstrong
-
Laboratorio # 2
[Java]
[C++]:
El tamaño de cada tipo de datos
-
Laboratorio # 3
[Java]
[C++]:
while
vs for
[Matriz]
-
Laboratorio # 4
[Java]
[C++]:
La clase año bisiesto
-
Laboratorio # 5
[Java]
[CIN]
[C++]:
Calculadora de números enteros
-
Laboratorio # 6
[Java]
[C++]:
Clase
ord_int
para mantener varios números ordenados
-
Laboratorio # 7
[Java]
[C++]:
Recursividad de las funciones
Fibonacci()
y Factorial()
-
Laboratorio # 8
[Java]
[C++]:
Ordenamiento por
Seleccion()
, Insercion()
y Burbuja()
-
Laboratorio # 9
[Java]
[C++]:
Una clase para clasificar edades
-
Laboratorio # 10
[C++]:
La clase Bolsa para contar números
-
Laboratorio # 11
[C++]:
Argumentos por valor y argumentos por referencia
-
Laboratorio # 12
[C++]:
Uso de argumentos en la línea de comandos
-
Laboratorio # 13
[C++]:
Lectura de los nombres de archivos del directorio actual
-
Laboratorio # 14
[Java]
[C++]:
Búsqueda lineal y binaria en un vector ordenado
-
Laboratorio # 15
[Java]
[C++]:
Muestra cómo centrar una hilera.
-
Laboratorio # 16
[Java]
[C++]:
Muestra como usar una matriz
NxM
.
-
Laboratorio # 17
[Java]
[C++]:
La lista.
-
Laboratorio # 18
[Java]:
Java pasa copias de referencias
-
Laboratorio # 19
[Java]:
Fibonacci()
super-lerdo y super-rápido
-
Laboratorio # 20
[Java]:
Manejo de Excepciones
-
Laboratorio # 21
[Java]:
Manipulación de hileras
-
Laboratorio # 22
[Java]:
Ventanas
-
Laboratorio # 23
[Java]:
Iteradores
- Herramientas
-
http://www.DrJava.org
&&
DrJava.htm
-
http://cs.joensuu.fi/jeliot
-
http://www.BlueJ.org
-
http://www.JCreator.com
-
http://java.sun.com/javase/downloads/index.jsp
- Bibliotecas de programas
-
http://math.nist.gov/javanumerics/jama/
-
http://jchart2d.sourceforge.net/
-
http://sourceforge.net/projects/javacsv/
-
http://www.jfree.org/jfreechart/
LIBRO DE TEXTO
Como lenguaje de programación en el curso se usa Java, por
lo que conviene que el estudiante adquiera un buen libro de texto
para el lenguaje sobre Java, que es el lenguaje que se
usará como marco de referencia en todo el curso. Cada
estudiante es responsable de conseguir sus libros. Estos son
buenos libros de texto:
- Barnes, David J. & Kölling Michael
- Programación orientada a objetos con Java,
ISBN: 978-84-8322-350-5,
Pearson Educación, 2007.
http://www.bluej.org/objects-first/
http://www.bluej.org/objects-first/resources/projects.zip
- Ceballos, Francisco Javier
- Java 2 - Curso de Programación - 3º ed.,
ISBN 970-15-1164-6, Alfaomega Ra-Ma, 2006.
http://www.fjceballos.es/publicaciones_java.html
http://www.ra-ma.es/down/Java2-IGyApIn3ed-Ceballos.zip
- Deitel, H.M.; Deitel, P.J.
- Java Cómo programar 5ta edición,
ISBN 970-26-0518-0, Prentice-Hall, 2004.
http://www.deitel.com/
ftp://ftp.prenhall.com/pub/deitel/J_HTP/java-htp5e/examples/java5-examples.zip
BIBLIOGRAFIA
- Di Mare, Adolfo
-
Convenciones de Programación para Pascal,
Reporte Técnico ECCI0188, Proyecto
32686053,
Escuela de Ciencias de la Computación e Informática,
Universidad de Costa Rica,
1988.
http://www.di-mare.com/adolfo/p/convpas.htm
- Gosling,James &
Joy, Bill & Steele, Guy & Bracha, Gilad
- The Java Language Specification, 3rd Ed; Addison-Wesley, 2005.
- Hommel, Scott (editor)
- Java Code Conventions
http://java.sun.com/docs/codeconv/CodeConventions.pdf
- Stroustrup, Bjarne
- "The C++ programming language (3rd ed)"; Addison-Wesley;
1998.
http://www.research.att.com/~bs/3rd.html
- Sun Microsystems
-
"Página oficial de Javasoft"
http://java.sun.com
- Sun Microsystems
-
JavaTM Platform,
Standard Edition 6 API Specification
http://java.sun.com/javase/6/docs/api/
- Sun Microsystems
-
Trail: Learning the Java Language;
The JavaTM Tutorials
http://java.sun.com/docs/books/tutorial/java/
Políticas de Corrección de Tareas
Adolfo Di Mare <adolfo@di-mare.com>
Copyright © 2009
Derechos de autor reservados © 2009