Departamento de Ciencia de Cómputos

Universidad de Puerto Rico, Recinto de Río Piedras

Skip available courses

Available courses

  • In the pragmatic sense this course completes the education of programming languages by explaining nuances of programming language syntax, their origins and evolution. In the philosophical sense this course benefits students by providing answers to the basic questions why there are so many programming languages.

    Self enrolment
  • This course is designed for students who attend their first semester in the Computer Science or Mathematics program. It provides a panoramic view of the Computer Science through a specific area (e.g. data bases, operating systems, networks, artificial intelligence, bioinformatics). It presents a foundation that allows to appreciate the relevance as well as the interrelation among different subjects of Computer Science. It provides an introduction to skills related to problem solving.

    Self enrolment
  • Fundamentals of Computer Science with Patricia Ordóñez, PhD

    Self enrolment
  • This course is designed for students who attend their second semester in the Computer Science program. The course will allow students to become familiar with topics related to Computer Science and to undergraduate research and to put into practice the skills learned in the course CCOM 3981. Students will select a topic, revise the pertinent literature to prepare an oral and a poster presentation about the selected topic. The presentations could be group presentations. The students could also choose an undergraduate research topic to be conducted under the direction of a Computer Science faculty member and present the research problem and the background material. In addition, the students will learn about the job and graduate school opportunities in computer science.

    Self enrolment
  • Establecer una comunidad con interés especial en seguridad cibernética con sede en la Universidad de Puerto Rico Rio Piedras Campus. Aumentar el conocimiento general de la seguridad cibernética en Puerto Rico a través de charlas y sesiones de entrenamiento por personal académico y profesional.
    Crear un equipo de estudiantes para participar en competencias de seguridad estilo captura la bandera. Desarrollar la investigación en seguridad cibernética en la Universidad de Puerto Rico. Infundir en la comunidad conocimiento y conciencia sobre la seguridad cibernética, especialmente en estudiantes que se van a dedicar a los campos de computación e informática.

    Self enrolment
  • Review of pointer variables and dynamic storage. Abstract data types. Fundamental data structures such as queues, stacks, lists and trees, their efficient implementation and applications. More advanced data structures such as hash tables, binary search trees, 2-3 trees, B-trees, heaps, and graphs. Access techniques to secondary storage structures. Basic sorting and searching methods. Graphs. Introduction to the asymptotic analysis of algorithms. Introduction to concurrent data structures.

    Self enrolment
  • The ACM International Collegiate Programming Contest (ICPC) is a multitier, team-based, programming competition operating under the auspices of ACM and headquartered at Baylor University. The contest involves a global network of universities hosting regional competitions that advance teams to the ACM-ICPC World Finals. Participation has grown to several tens of thousands of the finest students and faculty in computing disciplines at almost 2,736 universities from over 102 countries on six continents. The contest fosters creativity, teamwork, and innovation in building new software programs, and enables students to test their ability to perform under pressure. Quite simply, it is the oldest, largest, and most prestigious programming contest in the world.

    At UPR Río Piedras, the contest tiers takes the following form:
    - Sep 24 2016: Local Contest (CLC), UPR Río Piedras - Computer Science department.
    - Oct 15 2016: Puerto Rico National Contest (CNC), Organized at UMET, San Juan.
    - Nov 12 2016: Caribbean Finals Regional Contest (CF), Organized at PUCMM, Dominican Republic.
    - May 20-25 2017: World Finals (WF), Rapid City, South Dakota.

    Self enrolment
  • Este curso provee una visión panorámica de la ciencia de cómputos a través de sus diversas áreas de especialidad (e.g., bases de datos, sistemas operativos, redes, inteligencia artificial, bioinformática). Presenta fundamentos que permiten apreciar la relevancia y la interrelación de los diferentes temas del área. El curso también provee una introducción a destrezas relacionadas a la solución de problemas y conceptos generales de programación concurrente. Es requerido obtener una calificación de A o B en CCOM 3030 para tomar el curso CCOM 3033.

    Self enrolment
  • This course is designed for students who attend their first semester in the Computer Science or Mathematics program. It provides a panoramic view of the Computer Science through a specific area (e.g. data bases, operating systems, networks, artificial intelligence, bioinformatics). It presents a foundation that allows to appreciate the relevance as well as the interrelation among different subjects of Computer Science. It provides an introduction to skills related to problem solving.

    Self enrolment
  • This course is designed for students who attend their first semester in the Computer Science or Mathematics program. It provides a panoramic view of the Computer Science through a specific area (e.g. data bases, operating systems, networks, artificial intelligence, bioinformatics). It presents a foundation that allows to appreciate the relevance as well as the interrelation among different subjects of Computer Science. It provides an introduction to skills related to problem solving.

    Self enrolment
  • Este curso esta diseñado para estudiantes que cursan su primer semestre en el Programa de Ciencia de Cómputos o de Matemáticas. Provee una visión panorámica de la ciencia de cómputos a través de un área en espec’fico (eg. bases de datos, sistemas operativos, redes, inteligencia artificial, bioinformática). Presenta fundamentos que permiten apreciar la relevancia y la interrelación de los diferentes temas del área. Provee una introducción a destrezas relacionadas a la solución de problemas. Presenta conceptos de paralelismo y concurrencia, y provee actividades que permite apreciar como estos conceptos permean la mayoría de los conceptos fundamentales de la ciencia de cómputos. 

    Guest accessSelf enrolment
  • Infusion of cybersecurity educational activities into the computer science core courses

    Self enrolment
  • El curso combina dos subáreas importantes relacionadas campo de la ciberseguridad: ingeniería inversa de software y seguridad en hardware.

    El objetivo de la ingeniería inversa de software (IIS) es entender el funcionamiento o las prácticas de codificación de un programa a partir del ejecutable del programa (u otra etapa de bajo nivel). Para lograr un nivel competente en IIS, el estudiante debe fortalecer sus destrezas y conceptos relacionados a la programación de alto y bajo nivel, arquitectura de computadoras y sistemas operativos. En este curso reforzaremos dichas destrezas concentrándose mediante explicaciones, demostraciones y ejercicios en clase.

    Seguridad en hardware es un campo que estudia temas que van desde (a) la implementación de algoritmos de encripción en hardware, (b) las técnicas de diseño para proteger la propiedad intelectual de los circuitos integrados y los sistemas embebidos, y (c) la detección de funcionalidades maliciosas en circuitos integrados. Durante la segunda parte del semestre nos concentraremos en los temas (b) y (c). Su estudio nos llevará a comprender, entre otras cosas, el proceso de diseño de circuitos digitales, su base teórica y tecnológica, y los lenguajes de modelación de hardware.

    Self enrolment
  • Este curso está diseñado para estudiantes que cursan su segundo semestre en el programa de Ciencia de Cómputos. El curso permitirá a los estudiantes exponerse a tópicos relacionados a las ciencias de cómputos y a la investigación subgraduada y poner en práctica lo aprendido en el curso CCOM 3981. Cada estudiante seleccionará un tópico, deberá hacer lecturas y preparar una presentación oral y un afiche sobre el tópico seleccionado; estas presentaciones pueden ser individuales o en grupo. Los estudiantes tendrán la opción de escoger un proyecto de investigación subgraduada de algunos de los profesores del departamento y hacer su presentación sobre los preliminares del proyecto. Además, los estudiantes conocerán las oportunidades de empleo y estudios graduados en el área de Ciencia de Cómputos.

    Self enrolment
  • En este laboratorio los estudiantes pondrán en práctica los conceptos y destrezas adquiridas en el curso Introducción a la Programación de Computadoras.

    Self enrolment
  • Introduction to the basic concepts of the organization and management of files on secondary storage media. Introductory data base concepts. Techniques for the management of internal and external files: searching, sorting, updating, compressing, deleting, and merging. File organization on direct and sequential access storage devices. The student will carry out programming projects in which the concepts of the course are implemented.

    Self enrolment
  • El curso provee una introducción a los fundamentos de la programación imperativa y orientada a objetos de computadoras y a la solución de problemas mediante el desarrollo de algoritmos, incluyendo técnicas de programación paralela. Dominarán las piezas básicas de un programa comenzando con estructuras de control usando instrucciones condicionales e iterativas con expresiones lógicas, así como la definición y uso de la variables y tipos de datos. Desarrollarán procedimientos y funciones para tareas comunes que se repiten o más complejas que requieren descomposición, incluyendo funciones recursivas. Utilizarán tipos de datos estructurados tales como arreglos, cadenas, archivos y punteros. Además, los estudiantes adquirirán una exposición a la estructura de la computadora: medios de entrada y salida, memoria y unidad central de procesamiento. Se incluye también una visión general al campo de Ciencia de Cómputos y a su efecto en la sociedad incluyendo principios éticos en computación.

    Self enrolment
  • Introduction to the basic concepts of the organization and management of files on secondary storage media. Introductory data base concepts. Techniques for the management of internal and external files: searching, sorting, updating, compressing, deleting, and merging. File organization on direct and sequential access storage devices. The student will carry out programming projects in which the concepts of the course are implemented.

    Self enrolment
  • El curso provee una introducción a los fundamentos de la programación imperativa y orientada a objetos de computadoras y a la solución de problemas mediante el desarrollo de algoritmos, incluyendo técnicas de programación paralela. Dominarán las piezas básicas de un programa comenzando con estructuras de control usando instrucciones condicionales e iterativas con expresiones lógicas, así como la definición y uso de la variables y tipos de datos. Desarrollarán procedimientos y funciones para tareas comunes que se repiten o más complejas que requieren descomposición, incluyendo funciones recursivas. Utilizarán tipos de datos estructurados tales como arreglos, cadenas, archivos y punteros. Además, los estudiantes adquirirán una exposición a la estructura de la computadora: medios de entrada y salida, memoria y unidad central de procesamiento. Se incluye también una visión general al campo de Ciencia de Cómputos y a su efecto en la sociedad incluyendo principios éticos en computación.

    Self enrolment
  • Introduction to compiling, structure of simple one-step compilers: syntax and lexical analysis, parsing, introduction to type checking, intermediate code generation, introduction to code generation and optimization. Discussion about tools for compilers design (e.g. Lex and Yacc).

    Self enrolment
  • In the Introduction to Cybersecurity course the students will learn the physical and logical architecture of the Internet, and basic principles of information assurance. Through interaction with network clients and servers, they will explore why networked systems are vulnerable to cyber-attack. They will see how the five pillars of information assurance (availability, integrity, authentication, confidentiality, and non-repudiation) apply to networked information resources. Students will explore basic techniques of how to attack and defend Internet resources. The hands-on techniques will serve to motivate students to explore in depth more advanced techniques, and the mathematical underpinnings of cybersecurity (discrete mathematics, cryptography).

    Self enrolment
  • Este curso está diseñado para estudiantes que cursan su primer o segundo año en el programa de Ciencia de Cómputos. Los estudiantes aprenderán técnicas para hacer demostraciones matemáticas elementales. El curso también introducirá a los estudiantes a temas relacionados a conjuntos y procesos que se pueden enumerar o asociar con algún subconjunto de los números naturales. Los temas se discutirán enfatizando  aplicaciones que tienen las matemáticas discretas en distintas áreas de la ciencia de cómputos.

    Self enrolment
  • This course introduces the notions and techniques that are used as building blocks in the design and analysis of algorithms and the mathematical foundations for their proof of correctness and complexity analysis. Topics included are: general and advanced techniques for designing algorithms, asymptotic analysis, proof of correctness, searching and sorting algorithms, graph and matrix algorithms, and a brief introduction to NP-completeness.

    Self enrolment
  • Learning a programming language is the first step in computing. However there are many programming languages and for a computer science professional it is an important skill to be able to work at the same level and speed with more than one language. This skill is not obtained by learning each language separately. Rather, they key is to understand the analogies and similarities of languages, and the mechanisms that inspire and guide their design. 

    This course will explain how programming languages work, by presenting these basic mechanisms and by illustrating them via examples with specific languages. 

    Self enrolment
  • The course will study mathematical models for selected biological processes. Mathematical and computational methods needed to analyze and solve models will be introduced as the topics are discussed. We will use a high-level programming language, such as MATLAB, Octave, or Python, for programming the methods to solve the mathematical models.

    Self enrolment
  • This course will introduce the student to mathematical modeling of different cell activities. It will use examples of cellular processes to motivate concepts and techniques used in computational cell biology.  Progressively it will increase the complexity of the cellular functions modeled with mathematical and computational techniques that will also increase in complexity. The course will focus on the simulation of functions that describe certain physiological behavior in the cell.

    Self enrolment

  • MATE 6601:
    Espacios muestrales, axiomas y teoremas elementales de la probabilidad. Combinatoria. Probabilidad condicional y Teorema de Bayes. Variables aleatorias. Distribuciones de probabilidad. Esperanza matemática. Media, varianza y momentos de una variable aleatoria. Funciones generatrices de momentos. La desigualdad de Chebyshev, tipos de convergencia y las leyes de números grandes. El teorema del límite central. Introducción a una herramienta de programación estadística. Se utilizarán simulaciones y programación de estadísticas y transformaciones.

    MATE 6601:

    Sample spaces, axioms and elementary probability theorems. Combinatorics. Conditional probability and Bayes Theorem. Random variables. Probability distributions. Mathematical expectation. Mean, variance and moments of a random variable. Moment generating functions. Chebyshev's inequality, types of convergence and laws of large numbers. The Central Limit Theorem. Introduction to a programming tool for statistical applications. Simulations, and programming of statistical algorithms and transformations.

    Al completar el curso el estudiante entenderá los fundamentos teóricos, prácticos y computacionales de la probabilidad y estará preparado para aplicarlos exitosamente al estudio de la estadística. Se recalcará aquellas demostraciones matemáticas de teoremas y resultados que proveen para entender, aclarar o explicar un concepto, método o aplicación. El curso comienza con un repaso de los fundamentos de la teoría de probabilidad, incluyendo sus axiomas, probabilidad condicional, independencia, variables aleatorias y sus funciones de distribución, probabilidad y densidad. Luego se estudian con mayor profundidad y formalidad, transformaciones y esperanza matemática de variables aleatorias; familias, propiedades y relaciones de distribuciones univariantes y multivariantes de variables aleatorias así como las desigualdades e identidades probabilísticas, numéricas y funcionales de estas. El curso concluye con el estudio de las propiedades de una muestra aleatoria, incluyendo la distribución de sumas, modos de convergencia, el teorema del límite central y la generación de tales muestras. La solución de problemas, así como aspectos prácticos, computacionales y de aplicación de la probabilidad serán enfocados en el curso.
    Guest accessSelf enrolment

Skip site news

Site news

Picture of Humberto Ortiz Zuazaga
Movers and Shakers
by Humberto Ortiz Zuazaga - Wednesday, 27 April 2016, 09:13 AM
 

When: Wednesday, 27 2016
Time: 11:30 am - 1:00 pm 
Where: C-356

Gustavo Diaz is the Chief Iguana Hunter and Problem Solver at Young Entrepreneurs for Puerto Rico: A non-profit dedicated to connecting the worlds brightest minds with the island's local talent. Currently he and his team are expanding to Colombia, Ecuador, Argentina, and the Dominican Republic to build a more interconnected Latin America for our era's millennial generation.

Rafael Rivera is a software engineer at SendGrid. He is an alumnus of UPR Mayaguez and a co-Captain of http://code4puertorico.org/ Luego de graduarse de Ingeniería de Sistemas Informáticos de University of Florida, Víctor Ramírez García ha trabajado como programador y líder técnico en la industria de informática desde 2003, principalmente en consultoría de proyectos gubernamentales.

Mientras ejercía su carrera profesional, además desarrolló su pasión por las ciudades estudiando en la Escuela Graduada de Planificación de la UPR. En 2011, Víctor Ramírez creó Tren Urbano App, la aplicación más utilizada de transporte público en Puerto Rico como proyecto cívico. Hoy día, Víctor continúa desarrollando proyectos cívicos líderando los grupos Open Street Map PR y Code4PuertoRico.

Patricia Ordóñez, Assistant Professor of Department of Computer Science, will also be speaking about the Interdisciplinary Program in Big Data to Knowledge which is a collaboration among the Math, Biology and Computer Science Departments of the College of Natural Sciences of the University of Puerto Rico Río Piedras.

 

Bienvenidos a este nuevo año Universitario!

Skip Calendar

Calendar

Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 Today Thursday, 25 August 25 26 27
28 29 30 31    
Skip NavigationSkip Main menu

Main menu