EdX

Programación Concurrente (edX)

Programación Concurrente (edX)

Aprende a desarrollar y crear programas utilizando paradigmas de programación avanzada, tales como la programación concurrente. La utilización de estos paradigmas te permitirá crear software avanzado, y optimizar el rendimiento de ciertos programas.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Este curso introduce nuevos conceptos y técnicas de programación avanzados que permitirán a los estudiantes disponer de los conocimientos teóricos y el manejo de nuevas técnicas con los que abordar la realización de aplicaciones avanzadas y complejas en las que entren a formar parte aspectos avanzados de concurrencia.
Cuando hablamos de concurrencia nos referimos a la ejecución de varias acciones de forma simultánea por parte del ordenador. Nuestro objetivo será crear programas capaces de conseguir esta simultaneidad.

What you'll learn

  • Paradigmas de la Programación
  • Programación concurrente
  • Concurrencia en memoria compartida
  • Mecanismos para la exclusión mutua

Syllabus

Lección 1: Paradigmas de la programación.

  • Concepto de paradigma.
  • Niveles de cumplimiento.
  • Características de los paradigmas.
  • Algunos paradigmas.

Lección 2: Introducción a la concurrencia

  • Definición.
  • Historia de la concurrencia.
  • Beneficios y riesgos.
  • Hardware y Sistema Operativo.

Lección 3: Concurrencia en memoria compartida

  • Concurrencia de memoria compartida.
  • Problemas de coordinación.
  • Concurrencia en Java.
  • Soluciones algoritmos para exclusión mutua.
  • Soluciones no algorítmicas.

Lección 4: Mecanismos para la exclusión mutua

  • Semáforos.
  • Regiones Críticas y Regiones Críticas Condicionales.
  • Monitores.
  • Ejemplos en Java.
  • Problema del Interbloqueo.
Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

IoT System Design: Software and Hardware Integration (edX) EdX
Waseda University,WasedaX

IoT System Design: Software and Hardware Integration (edX)

Start developing your own Internet of Things (IoT) system with this exploration of the interaction between software and hardware. This course is designed to teach you how systems are developed using IoT technology. Many engineers and developers tend to focus on a single discipline - either software or hardware. However, in today’s connected age it's critical to have a comprehensive understanding of both disciplines and how they are intertwined.

Self Paced
Self-Paced
Introduction to the Internet of Things (edX) EdX
Universitat Politècnica de València,UPValenciaX

Introduction to the Internet of Things (edX)

This is a preliminary course in which we deal with the basics of electronics and programming using Arduino and ESP boards. Internet of Things (IoT) is the present and the future of technology. Either, if you have none, few or some experience with electronics and you want to develop it projects this course will give you the necessary kick start to start creating amazing devices capable of sensing, controlling physical signals.

Self Paced
Self-Paced
Introducción a la programación en Java: escribiendo buen código (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introducción a la programación en Java: escribiendo buen código (edX)

¡Aprende programación en Java de forma fácil e interactiva y entra en el fascinante mundo de la computación! Este es un curso introductorio para aprender a programar en Java diseñado para enseñar a escribir "buen" código en este lenguaje de programación, entendiendo como "bueno" aquel que es correcto y eficiente.

Self Paced
Self-Paced
LAFF – On Programming for Correctness (edX) EdX
University of Texas at Austin,UTAustinX

LAFF – On Programming for Correctness (edX)

Learn to apply formal methods to systematically develop correct, loop-based programs, an essential skill for computer programmers. Is my program correct? Will it give the right output for all possible permitted inputs? Computers are now essential in everyday life. Incorrect programs lead to frustration in the best case and disaster in the worst. Thus, knowing how to construct correct programs is a skill that all who program computers must strive to master.

Self Paced
Self-Paced
Java Programming Fundamentals (edX) EdX
Galileo University,GalileoX

Java Programming Fundamentals (edX)

Your career as a program developer starts here. Gain entry-level programing skills in Java language, and prepare yourself to handle any task that is required in any programming job. Java is one of the most in-demand programming languages today. This course is designed to provide students the basic skills and knowledge on Java.

Self Paced
Self-Paced
Using Python for Research (edX) EdX
HarvardX,Harvard University

Using Python for Research (edX)

Take your introductory knowledge of Python programming to the next level and learn how to use Python 3 for your research. This course bridges the gap between introductory and advanced courses in Python. While there are many excellent introductory Python courses available, most typically do not go deep enough for you to apply your Python skills to research projects.

Self Paced
Self-Paced
Programming for Data Science (edX) EdX
University of Adelaide,AdelaideX

Programming for Data Science (edX)

Learn how to apply fundamental programming concepts, computational thinking and data analysis techniques to solve real-world data science problems. There is a rising demand for people with the skills to work with Big Data sets and this course can start you on your journey through our Big Data MicroMasters program towards a recognised credential in this highly competitive area. Using practical activities you will learn how digital technologies work and will develop your coding skills through engaging and collaborative assignments.

Self Paced
Self-Paced
CSS Basics (edX) EdX
World Wide Web Consortium - W3C,W3Cx

CSS Basics (edX)

Learn, from Microsoft and W3C experts, how to take your Web pages from bland to bold with the power of CSS styling. Have you just begun your journey into Web development? This course will introduce you to the basics of Web design and teach you how to style your Web site for a professional look and feel.

Self Paced
Self-Paced
Probability and Statistics in Data Science using Python (edX) EdX
University of California, San Diego,UC San DiegoX

Probability and Statistics in Data Science using Python (edX)

Using Python, learn statistical and probabilistic approaches to understand and gain insights from data. The job of a data scientist is to glean knowledge from complex and noisy datasets. Reasoning about uncertainty is inherent in the analysis of noisy data. Probability and Statistics provide the mathematical foundation for such reasoning.

Self Paced
Self-Paced
Computing in Python I: Fundamentals and Procedural Programming (edX) EdX
Georgia Institute of Technology,GTx

Computing in Python I: Fundamentals and Procedural Programming (edX)

Learn the fundamentals of computing in Python, including variables, operators, and writing and debugging your own programs. This course starts from the beginning, covering the basics of how a computer interprets lines of code; how to write programs, evaluate their output, and revise the code itself; how to work with variables and their changing values; and how to use mathematical, boolean, and relational operators.

Self Paced
Self-Paced
Introduction to Object-Oriented Programming with Java II: Object-Oriented Programming and Algorithms (edX) EdX
Georgia Institute of Technology,GTx

Introduction to Object-Oriented Programming with Java II: Object-Oriented Programming and Algorithms (edX)

Learn the basics of object-oriented programming and algorithms. Students will build on the skills learned from “Introduction to Object-Oriented Programming with Java I: Foundations and Syntax Basics” and learn the basics of writing classes that serve as blueprints of concepts or objects that are represented in a programming problem. Students will leverage the concepts of inheritance, interfaces, and polymorphism to program reusability and flexibility in classes. Finally, students will gain experience walking through and analyzing algorithms that are applied on data (including objects) in many object-oriented programs.

Self Paced
Self-Paced