Institution
University of Puerto Rico
Rio Piedras Campus
College of Natural Sciences
Department of Computer Science
Professor
| Field | Value |
|---|---|
| Name | Humberto Ortiz-Zuazaga |
| Office | NCL A-159 |
| Laboratory | NCL A-158 |
| Telephone | 787-764-0000 x88363 |
| humberto.ortiz@upr.edu | |
| Web page | http://ccom.uprrp.edu/~humberto/ |
| Office hours | M-F 2:00-3:00 PM |
| or by appointment |
Description
Abstract data types, their efficient implementation and application to problem solving. Introduction to the asymptotic analysis of algorithms. Fundamental data structures such as queues, stacks, lists and trees, their efficient implementation and applications. Introduction to hash-tables, priority queues, and graphs. Basic sorting and searching methods. Introduction to concurrent data structures. The course has three hours of lecture per week and includes a workshop of one and half hours per week. In the workshop, students will implement the concepts learned in class.
Objectives
-
Entender y aplicar los conceptos fundamentales de apuntadores y memoria dinámica.
-
Entender y aplicar los conceptos fundamentales de estructuras de datos abstractas.
-
Diseñar e implantar en un lenguaje de programación de alto nivel estructuras de datos como colas, pilas, listas, árboles, “hash-tables” y grafos.
-
Seleccionar la estructura de datos adecuada para solucionar un problema.
-
Entender y aplicar aspectos fundamentales de métodos de búsqueda y ordenamiento.
-
Determinar cuándo una técnica de recursión es deseable o requerida.
-
Analizar el tiempo de ejecución asintótico de algoritmos sencillos usando la notación “big-O”.
-
Entender los retos presentados por el acceso concurrente a estructuras de datos y las consideraciones elementales y objetivos (scalability, speedup) cuando se implantan las estructuras de datos concurrentes.
Content
- Repaso de punteros 1.5 horas
- Tipos de Datos Abstractos y su implementación 6 horas
- Listas, colas, pilas 7.5 horas
- Complejidad de algoritmos 3 horas
- Árboles 6 horas
- Recursión 3 horas
- Algoritmos de búsqueda 3 horas
- Heap, Hash Tables 4.5 horas
- Estructuras de datos paralelas/distribuidas 3 horas
- Gráfos 4.5 horas
- Exámenes 4.5 horas
Course Schedule
MJV 8:30 AM - 9:50 AM
Outline of topics
Instructional resources
Textbook
Open Data Structures (in C++). Pat Morin. Date: Edition 0.1G$\beta$ https://opendatastructures.org/
Software
All class projects can be completed with open source software: nano, gcc.
Evaluation
Students work will be evaluated on a 100% basis with the standard curve.
- Workshops, 20% final grade
- Assignments, quizzes, class participation 10% final grade
- Group project, 15% final grade
- Two partial exams, 15% final grade each.
- Final exam 15%
- Attendance 10%
Alternative Teaching Methods
Certification No. 112 (2014-2015) of the Governing Board defines a classroom course as a course in which 75% or more of the hours of instruction require the physical presence of the students and the teacher in the classroom. This means that 25% of a classroom course could be offered without requiring the physical presence of the students and the teacher in the classroom. If necessary, this course will be able to complete up to 25% of the contact hours (11.25 hours) on a non-face-to-face basis by alternative methods such as: videoconferences, instructional modules, discussion forums and others. If so, the calendar/agenda will be modified to include the topics that will be covered by alternative methods.
REGULATION ON DISCRIMINATION BY SEX AND GENDER IN THE FORM OF SEXUAL VIOLENCE
The University of Puerto Rico prohibits discrimination based on sex, sexual orientation, and gender identity in any of its forms, including that of sexual harassment. According to the Institutional Policy Against Sexual Harassment at the University of Puerto Rico, Certification Num. 107, 2021-2022 from the Board of Governors, any student subjected to acts constituting sexual harassment, must tum to the Office of the Student Ombudsperson, the Office of the Dean of Students, and/or the Coordinator of the Office of Compliance with Title IX for an orientation and/or a formal complaint.
Reasonable accomodations for students
Students with disabilities properly registered with the Office of Affairs for Persons with Disabilities Oficina de Asuntos para la Persona con Impedimento (O.A.P.I.) should notify the professor at the start of the semester. The professor will make reasonable accommodations to support the student, in consultation with OAPI.
Academic integrity
The University of Puerto Rico promotes the highest standards of academic and scientific integrity. Article 6.2 of the UPR Student Bylaws (Certification JS 13 2009–2010) states that “academic dishonesty includes but is not limited to: fraudulent actions, obtaining grades or academic degrees using false or fraudulent simulations, copying totally or partially academic work from another person, plagiarizing totally or partially the work of another person, copying totally or partially responses from another person to examination questions, making another person to take any test, oral or written examination on his/hers behalf, as well as assisting or facilitating any person to incur in the aforementioned conduct”. Fraudulent conduct refers to “behavior with the intent to defraud, including but not limited to, malicious alteration or falsification of grades, records, identification cards or other official documents of the UPR or any other institution.” Any of these actions shall be subject to disciplinary sanctions in accordance with the disciplinary procedure, as stated in the existing UPR Student Bylaws.
DISCLAIMER: The above statement is an English translation, prepared at the Deanship of Academic Affairs of the Medical Sciences Campus, of certain parts of Article 6.2 of the UPR Student Bylaws “Reglamento General de Estudiantes de la Universidad de Puerto Rico”, (Certificación JS 13 2009-2010). It is in no way intended to be a legal substitute for the original document, written in Spanish.
References
-
A. V. Aho, J. E. Hopcroft, and J. D. Ullman, Data Structures and Algorithms (1983) Addison-Wesley (Esta es una referencia clásica)
-
T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to ALGORITHMS (Second edition).(2001) The MIT Press, Mc-Graw-Hill
-
Nell Dale. C++ Plus Data Structures (Third Edition). (2003)Jones and Bartlett.
-
Behrouz Forouzan and Richard Gilberg, Computer Science: A Structured Approach Using C++ (Second edition). (2003) Brooks/Cole Publishing Company
-
Michael Main and Walter Savitch, Data Structures and other objects Using C++ (Third edition). (2004)
-
M. Moir and N. Shavit. Concurrent Data Structures (Book Chapter). In Handbook of Data Structures and Applications, (2004) D. Metha and S.Sahni Editors, Chapman and Hall/CRC Press, Chapter 47, pages 47-1-- 47-30 (available at: http://www.cs.tau.ac.il/~shanir/concurrent-data-structures.pdf )
-
Larry R. Nyhoff, ADTs, Data Structures and Problem Solving with C++ (Second edition). (2005) Prentice Hall
-
L. Torres, Asistencia tecnológica: una posibilidad real, Isla Negra, 2002.