Desarrollo de aplicaciones basadas en tecnologías Web
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.
Course Description
Numerical analysis is the study of algorithms for computing numerical solutions to mathematical problems. The course provides an introduction to the ideas of numerical analysis via simple problems in analysis and algebra. We will study the efficiency of the algorithms as well as their implementation. .
Topics and reviews
Este curso está diseñado para estudiantes que cursan su primer o segundo año en el programa de Ciencia de Cómputos o los programas de Matemáticas. En este curso los estudiantes aprenderán técnicas para hacer demostraciones matemáticas elementales. El curso tambien introducirá a los estudiantes a tópicos relacionados a conjuntos o procesos que se pueden enumerar o asociar con algún subconjunto de los números naturales. Los temas que se discutirán serán necesarios para los demás cursos de matemáticas y de ciencia de cómputos.
The course provide an introduction to the basics of imperative and object-oriented computer programming and problem solving through the development of algorithms, including parallel programming techniques. The basic pieces of a program will dominate, starting with control structures using conditional and iterative statements with logic expressions, as well as the definition and use of variables and data types. Procedures and functions will be developed for common tasks that are repeated or more complex tasks that require decomposition, including recursive functions. Structured data types such as arrays, string, files, and pointers will be used. In addition, students will gain exposure to the structure of the computer: input and output media, memory and central processing unit. Also an overview of the field of Computer Science and its effect on society are included in this course, including ethical principles in computing.
Introduction to compiling, simple one pass compiler, lexical analysis, symbol tables, parsing, syntax directed translation, type checking, code generation, and code optimization.
Description:
Algorithms affect the lives of billions of people daily. Think about it this way: if you've ever used a cell phone then you've been a user of several algorithms that route calls, decode infromation, remove noise, sort data, or move graphics around fast. This course introduces undergraduate students to notions and techniques that are used as `building blocks' in the design of algorithms.
We will study runtime analysis, correctness proofs and specific algorithms with an emphasis on graph algorithms. We will also discuss problems that appear to be impossible to be solved efficiently, posing one of the most challenging problems of our time.
This course discusses fundamental concepts, ideas, and models of the theory of computation. A basic introduction to automata and languages is presented as well as an introduction to some aspects of the theory of computability such as Turing machines and decidability are presented. Also concepts of complexity theory such as NP-completeness are given.
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.
Mathematical induction. Recurrence relations and closed form solutions. Asymptotic notations, definitions, and properties. General and advanced techniques for the development of algorithms and appropriate data structures for the solution of typical problems, their proofs of correctness and their asymptotic behavior in terms of worst-case and space requirements. Searching and sorting algorithms. Graph and matrix algorithms. NP-completeness.
Introduction to the basic concepts of the organization and management of files on secondary storage media and to introductory database 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.
In this course fundamental aspects of high-level programming languages, including data objects, operations, sequence control, data control, storage management, syntax, and semantics are presented. Also, the students are exposed to different language paradigms, E.G. imperative, parallel, functional rulebased (logic), and object-oriented languages. The course gives hands on experience and allows students to develop moderate-level programs in various programming languages, one for each paradigm.
This is a site to share information with the CCOM faculty about the development of the proposal to create a Graduate Program in Computer Science. We will also use this site to gather information from the faculty members.
This class provides a smooth introduction to machine learning, at a level appropriate for undergraduate students. Machine learning is a wide collection of concepts and techniques that allows machines to improve their performance at a given task, using 'experience' or 'guidance'. It is a dynamic and evolving field with numerous successes in everyday computing.
We will study basic concepts and techniques, mostly centered around supervised classification algorithms, such as simple linear classifiers, decision trees, neural networks, and support vector machines. Other topics include unsupervised and semi-supervised learning, reinforcement learning, and probabilistic graphical models. The emphasis will be on experimentation, and the class will involve a significant hands-on assignment.
Here you will find many resources to help you fund your graduate education.
Este curso está diseñado para estudiantes que cursan su primer semestre en el Programa de Ciencia de Cómputos. Le permitirá familiarizarse con tópicos relacionados a la ciencia de cómputos y a la investigación subgraduada. Aprenderá destrezas necesarias para hacer investigación.
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.
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.
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.| 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 | 25 | 26 | 27 | 28 | 29 | 30 |