|
|
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
- Braulio Solano
<braulio.solano@ecci.ucr.ac.cr>
-
http://bsolano.com/ecci/claroline/course/index.php?cid=CI0202
OBJETIVO
Proveer al estudiante la formación básica en programación y
construcción de
algoritmos para la resolución de problemas usando
computadores.
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 integrado de desarrollo de programas.
- Reutilizar componentes de programación.
- Aplicar a nivel básico
buenas prácticas de construcción de
programas.
CONTENIDOS
- Fundamentos:
- Nociones básicas de lenguaje de programación,
algoritmos,
arquitectura del computador, sistemas operativos y
sistemas de numeración (dec,bin,
hex).
- Ambientes integrados de desarrollo de programas.
- Algoritmos:
- Tipos y
variables, declaración y asignación.
- Hileras, uso y manipulación.
- Entrada/salida de datos y de archivos.
- Estructuras básicas de control: secuenciación, bifurcación,
iteración.
- Especificación e
implementación de
métodos y funciones.
- Estructuras de datos basadas en arreglos y matrices multidimensionales.
- Introducción a la
recursividad.
- Clases:
- Especificación e implementación:
clases, atributos,
instancias, referencias.
- Clases: parte pública,
parte privada,
construcción y
destrucción de objetos.
- Control de excepciones.
- Manejo de clases
contenedoras parametrizadas básicas.
- Uso de
herencia,
polimorfismo y programación genérica.
- Extra:
- Matrices, algoritmos y bibliotecas de álgebra lineal.
- Fundamentos de graficación y de interfaces gráficas.
- Punteros y referencias, copia y
clonación de objetos.
- Memoria
estática, memoria
dinámica y recolectores de basura.
- Algoritmos de búsqueda y ordenamiento básicos.
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 valores de un vector
-
# 3:
Comparación de vectores
-
# 4:
Juego de toques y famas
-
# 5:
Juego del Gato (Tic Tac Toe)
-
# 6:
Juego de los números palindrómicos
-
# 7:
Graficación Jchart2D
-
# 8:
Operaciones matriciales para regresión lineal múltiple
-
# 9:
Graficación de la Regresión Lineal
- 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
[Java]
[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
-
Laboratorio # 24
[Java]:
Generador de todos los subconjuntos
-
Laboratorio # 25
[Java]:
String vs StringBuffer
- 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 - 4º ed.,
ISBN 978-607-707-112-9, Alfaomega Ra-Ma, 2011.
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 © 2011
Derechos de autor reservados © 2011