We may earn an affiliate commission when you visit our partners.
Course image
Avelino Garcia

El objetivo del tutorial es simular un programa cuántico. Es decir, programaremos los estados de los qubits, las puertas cuánticas, y los circuitos, para llegar a entender cómo, desde la superposición y el entrelazamiento, se puede 'computar' un algoritmo específico.

Read more

El objetivo del tutorial es simular un programa cuántico. Es decir, programaremos los estados de los qubits, las puertas cuánticas, y los circuitos, para llegar a entender cómo, desde la superposición y el entrelazamiento, se puede 'computar' un algoritmo específico.

Una cosa importante a tener en cuenta es que la computación cuántica se puede simular en ordenadores normales. Cierto es, que a poco que incrementas los qubits, lo que el computador cuántico realiza en paralelo gracias a la superposición y entrelazamiento cuántico, en los ordenadores clásicos se ha de modelar con matrices numéricas de alto coste computacional.

En el curso se modela y simula una factorización. Esto es, dado un número de entrada, se quieren saber qué dos números son los que multiplicados dan ese número. Evidentemente el número de qubits es pequeño por razones didácticas y de tiempo de proceso de CPU. Lo importante al final es ver cómo, a partir de las operaciones cuánticas, se llega al resultado.

A tener en cuenta también, que no se usa el algoritmo de Shor, que es, en la literatura, el óptimo para la operación de factorización. Aquí se uso el de Grover, que es más sencillo de entender e implementar, y que, aunque no sea óptimo, sirve para mostrar un ejemplo real de cómo funciona la computación cuántica.

Enroll now

What's inside

Learning objectives

  • Bases elementales de la computación cuántica
  • Entender y simular un programa cuántico
  • Programación en java de la simulación
  • Ver cómo funciona la factorización con un circuito cuántico (con grover)

Syllabus

Conceptos básicos antes de empezar a programar

Diferencia entre bit clásico y bit cuántico y cómo este se modeliza.

Modelización de un estado cuántico

Read more

Puertas U, X (not) y H (Hadamard) . Superposición cuántica.

Puerta CNOT. Reversibilidad

Modelización del primer programa cuántico. Entrelazamiento cuántico.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses Java to simulate quantum programs, which allows programmers to apply their existing skills to a new domain
Focuses on Grover's algorithm, which provides a more accessible entry point to quantum computing compared to Shor's algorithm
Explores quantum circuit factorization, offering a practical demonstration of how quantum operations lead to results
Requires familiarity with Java programming for simulating qubits, quantum gates, and quantum programs

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Simulación de programación cuántica en java

Según los estudiantes, este curso ofrece una buena introducción a la programación cuántica utilizando la simulación en Java. Es especialmente valorado por programadores que buscan entender los conceptos fundamentales (qubits, superposición, entrelazamiento, puertas cuánticas) a través de la implementación práctica. La simulación permite visualizar y trabajar con los principios cuánticos sin necesidad de hardware real. Aunque se centra en la simulación y usa el algoritmo de Grover para factorización en lugar de Shor, los materiales son claros y ayudan a consolidar la comprensión. Es ideal para programadores sin conocimientos previos en física cuántica.
Ejemplo de factorización con Grover.
"El curso usa el algoritmo de Grover para la factorización, tal como se indica."
"Entender Grover fue interesante, aunque Shor sea el más famoso para factorización."
"La elección de Grover simplifica la implementación para fines didácticos."
"Ver un ejemplo real de algoritmo cuántico aplicado es valioso."
Enfoque en simulación, no hardware real.
"Es importante saber que se enfoca 100% en la simulación y no en plataformas de hardware real como Qiskit o Cirq."
"La simulación en Java es didáctica, pero luego necesitaré aprender a usar herramientas reales."
"Aunque simula, los principios son universales y aplicables a otros entornos."
"Para empezar, la simulación es suficiente, te quita la complejidad del hardware."
Ideal para quienes vienen del mundo clásico.
"Si eres programador y no sabes nada de cuántica, este curso es un excelente punto de partida."
"Me sentí cómodo al abordar los conceptos desde una perspectiva de programación."
"Es perfecto para tener una primera idea de cómo se 'programa' algo cuántico."
"No necesitas ser físico, solo tener base de programación para seguirlo bien."
Explicaciones sólidas de bases cuánticas.
"Explica de forma muy didáctica qué son los qubits, la superposición y el entrelazamiento."
"Las explicaciones de las puertas cuánticas son muy fáciles de seguir."
"Ayuda a entender la diferencia clave entre computación clásica y cuántica."
"Los fundamentos están bien cubiertos para empezar desde cero en este tema."
Aprender programando conceptos cuánticos.
"El enfoque de simular en Java es genial para entender realmente cómo operan los estados y las puertas."
"La implementación en Java es una forma muy práctica de aterrizar los conceptos abstractos de la cuántica."
"Me encantó poder programar la simulación, ayuda mucho a visualizarlo todo."
"El código de la simulación es claro y sigue una lógica que facilita el aprendizaje."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Programación cuántica para programadores no cuánticos with these activities:
Repasar álgebra lineal
Refrescar los conceptos clave de álgebra lineal, como vectores, matrices y transformaciones lineales, es crucial para comprender la representación matemática de los qubits y las puertas cuánticas.
Show steps
  • Revisar las operaciones básicas con matrices y vectores.
  • Estudiar las transformaciones lineales y sus representaciones matriciales.
  • Resolver ejercicios de álgebra lineal relacionados con espacios vectoriales.
Leer 'Quantum Computation and Quantum Information' de Nielsen y Chuang
Profundizar en los conceptos de computación cuántica con un libro de referencia ampliamente reconocido.
Show steps
  • Leer los capítulos relevantes sobre qubits, puertas cuánticas y algoritmos cuánticos.
  • Resolver los ejercicios propuestos en el libro para consolidar la comprensión.
  • Consultar el libro como referencia durante el curso para aclarar dudas.
Practicar la simulación de puertas cuánticas en Java
Reforzar la comprensión de las puertas cuánticas mediante la práctica de su simulación en Java, el lenguaje utilizado en el curso.
Show steps
  • Implementar las puertas U, X y H en Java.
  • Simular la superposición cuántica utilizando las puertas implementadas.
  • Implementar la puerta CNOT y simular el entrelazamiento cuántico.
  • Probar las simulaciones con diferentes estados de qubits.
Three other activities
Expand to see all activities and additional details
Show all six activities
Consultar 'Programming Quantum Computers' de Eric R. Johnston
Obtener una perspectiva práctica sobre la programación de computadoras cuánticas utilizando lenguajes específicos.
Show steps
  • Leer los capítulos sobre los fundamentos de la programación cuántica.
  • Explorar los ejemplos de código en Qiskit o Cirq.
  • Comparar los enfoques de programación con la simulación en Java.
Ampliar el simulador cuántico
Consolidar el aprendizaje mediante la ampliación del simulador cuántico desarrollado en el curso, añadiendo nuevas funcionalidades y algoritmos.
Show steps
  • Implementar nuevas puertas cuánticas, como la puerta Toffoli.
  • Añadir la capacidad de simular circuitos cuánticos más complejos.
  • Implementar el algoritmo de Deutsch-Jozsa como prueba.
  • Documentar el código y crear una interfaz de usuario básica.
Crear un tutorial sobre el algoritmo de Grover
Profundizar en el algoritmo de Grover mediante la creación de un tutorial que explique su funcionamiento de forma clara y concisa.
Show steps
  • Investigar a fondo el algoritmo de Grover y sus aplicaciones.
  • Escribir una explicación detallada del algoritmo, incluyendo ejemplos.
  • Crear diagramas y visualizaciones para ilustrar el funcionamiento del algoritmo.
  • Publicar el tutorial en un blog o plataforma de contenido técnico.

Career center

Learners who complete Programación cuántica para programadores no cuánticos will develop knowledge and skills that may be useful to these careers:
Programador Cuántico
Un programador cuántico se dedica a diseñar, desarrollar y probar software para ordenadores cuánticos. Este curso, al simular programas cuánticos y modelar estados de qubits, puertas cuánticas y circuitos, ayuda a construir una base sólida para comprender cómo funciona la computación cuántica. Comprender cómo la superposición y el entrelazamiento permiten la computación es fundamental para este rol. Adicionalmente, la programación en Java de simulaciones cuánticas y la modelización de programas cuánticos contribuyen directamente a las habilidades necesarias para un programador cuántico.
Ingeniero de Algoritmos Cuánticos
Un ingeniero de algoritmos cuánticos diseña y implementa algoritmos que se ejecutan en ordenadores cuánticos. Este curso ayuda a comprender los principios fundamentales de la computación cuántica, como la superposición y el entrelazamiento que son cruciales para el desarrollo de algoritmos cuánticos. El curso simula una factorización utilizando el algoritmo de Grover, lo que proporciona una experiencia práctica valiosa para la creación de algoritmos cuánticos. Además, la modelización de estados cuánticos y puertas cuánticas sienta bases para entender cómo construir algoritmos cuánticos efectivos.
Diseñador de Circuitos Cuánticos
Un diseñador de circuitos cuánticos se dedica a diseñar circuitos que operan en computadoras cuánticas. Este curso, al simular programas cuánticos y modelar estados de qubits, ayuda a comprender cómo funciona la computación cuántica. El curso permite programar en java la simulación de qubits y puertas cuánticas, lo cual ayuda a construir una base sólida para diseñar y operar los circuitos en computadoras cuánticas. La comprensión de los principios básicos de la computación cuántica es importante para este rol.
Investigador en Computación Cuántica
Un investigador en computación cuántica se dedica a avanzar en el conocimiento y las capacidades de la computación cuántica. Este curso ayuda a comprender los principios fundamentales de la computación cuántica, como la superposición y el entrelazamiento, y simular programas cuánticos. La modelización de estados cuánticos y puertas cuánticas sienta una base para la investigación de nuevos algoritmos y aplicaciones cuánticas. La factorización con el algoritmo de Grover proporciona una experiencia práctica relevante para la investigación en este campo. Típicamente requiere un doctorado.
Desarrollador de Aplicaciones Cuánticas
Los desarrolladores de aplicaciones cuánticas se centran en la construcción de software que aprovecha el poder de la computación cuántica. Este curso ayuda a comprender los principios fundamentales de la computación cuántica, tales como la superposición y el entrelazamiento que son cruciales para el desarrollo de algoritmos cuánticos. El curso, al modelar estados cuánticos y simular programas cuánticos, ayuda a construir una base sólida para comprender cómo funciona la computación cuántica.
Científico de Datos Cuántico
Un científico de datos cuántico aplica técnicas de computación cuántica para resolver problemas complejos de análisis de datos. Este curso, que explora la simulación de programas cuánticos y la modelización de qubits, ayuda a comprender cómo la computación cuántica puede mejorar el rendimiento de los algoritmos de aprendizaje automático. La capacidad de modelar estados cuánticos y entender las puertas cuánticas, así como la factorización con el algoritmo de Grover, son habilidades valiosas para un científico de datos cuántico.
Consultor de Computación Cuántica
Un consultor de computación cuántica asesora a empresas y organizaciones sobre cómo la computación cuántica puede resolver sus problemas más desafiantes. Este curso proporciona una comprensión práctica de los fundamentos de la computación cuántica, como la superposición y el entrelazamiento. El curso, al simular programas cuánticos y abordar la factorización, ayuda a desarrollar una base sólida para explicar los beneficios y limitaciones de la computación cuántica a los clientes. Para un consultor de computación cuántica, es esencial comprender los diferentes algoritmos cuánticos y el curso incluye el algoritmo de Grover, para la factorización.
Ingeniero de Software Cuántico
Un ingeniero de software cuántico desarrolla las herramientas y bibliotecas necesarias para que los programadores cuánticos construyan aplicaciones. Este curso, al cubrir los conceptos básicos de la computación cuántica y demostrar la programación en Java de simulaciones cuánticas, ayuda a comprender las necesidades de los programadores cuánticos. La modelización de estados cuánticos y puertas cuánticas, junto con la simulación de factorización, son habilidades valiosas para un ingeniero de software cuántico que busca crear herramientas eficientes y efectivas.
Arquitecto de Sistemas Cuánticos
Un arquitecto de sistemas cuánticos diseña la infraestructura física y lógica necesaria para soportar la computación cuántica. Este curso ayuda a familiarizarse con los principios fundamentales de la computación cuántica, como la superposición y el entrelazamiento. El curso, al modelar estados cuánticos y simular programas cuánticos, ayudará a comprender cómo se construyen los sistemas cuánticos. La capacidad de modelar estados cuánticos y entender las puertas cuánticas sienta una base para comprender cómo construir sistemas cuánticos efectivos.
Analista en Optimización Cuántica
Un analista en optimización cuántica aplica algoritmos cuánticos para resolver problemas de optimización complejos. Este curso ayuda a comprender los principios fundamentales de la computación cuántica. El curso, al modelar estados cuánticos y simular programas cuánticos, ayudará a comprender cómo se construyen los algoritmos cuánticos. La modelización de estados cuánticos y puertas cuánticas sienta una base para aplicar algoritmos cuánticos para optimizar procesos complejos.
Especialista en Seguridad Cuántica
Un especialista en seguridad cuántica trabaja para proteger los sistemas de información de las amenazas que plantea la computación cuántica. Este curso, al explorar la factorización con el algoritmo de Grover, ilustra cómo la computación cuántica puede romper los sistemas de cifrado clásicos. La comprensión de los principios básicos de la computación cuántica, como la superposición y el entrelazamiento, ayuda a desarrollar estrategias para mitigar los riesgos de seguridad cuántica. Este curso puede ayudar a estar a la vanguardia de la seguridad informática.
Profesor de Computación Cuántica
Un profesor de computación cuántica imparte cursos y talleres sobre los fundamentos y las aplicaciones de la computación cuántica. Este curso proporciona una base sólida en los principios básicos de la computación cuántica, como la superposición y el entrelazamiento, y ofrece ejemplos prácticos de simulación de programas cuánticos. La capacidad de modelar estados cuánticos y entender las puertas cuánticas, junto con la factorización con el algoritmo de Grover, son habilidades valiosas para un profesor que busca explicar los conceptos de computación cuántica de forma clara y concisa.
Analista de Riesgos Cuánticos
Un analista de riesgos cuánticos evalúa el impacto potencial de la computación cuántica en diversas industrias y sectores. Este curso ayuda a comprender los fundamentos de la computación cuántica, como la simulación de programas cuánticos y la modelización de qubits. La capacidad de modelar estados cuánticos y entender las puertas cuánticas que se adquiere en este curso puede ayudar a evaluar los riesgos asociados con la computación cuántica y desarrollar planes de mitigación. Se espera que la computación cuántica impacte muchos aspectos de nuestra vida.
Ingeniero de Hardware Cuántico
Un ingeniero de hardware cuántico se dedica a diseñar y mantener los componentes físicos de los ordenadores cuánticos. Este curso, al simular programas cuánticos y modelar estados de qubits, ayuda a comprender cómo funciona la computación cuántica. La comprensión de los principios básicos de la computación cuántica ayuda a desarrollar estrategias para desarrollar el hardware. Este curso puede ayudar a construir una base para trabajar con estos nuevos ordenadores.
Desarrollador de Juegos Cuánticos
Un desarrollador de juegos cuánticos crea juegos que utilizan los principios de la computación cuántica para ofrecer experiencias únicas e innovadoras. Este curso ayuda a comprender los fundamentos de la computación cuántica, como la superposición y el entrelazamiento. La modelización de estados cuánticos y puertas cuánticas proporciona las herramientas necesarias para explorar las posibilidades de la computación cuántica en el diseño de juegos. Este curso puede ayudar a la innovación en la industria de los juegos.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Programación cuántica para programadores no cuánticos.
Este libro es una referencia estándar en el campo de la computación cuántica. Proporciona una cobertura exhaustiva de los fundamentos teóricos y los algoritmos cuánticos. Si bien es un texto avanzado, ofrece una base sólida para comprender los conceptos presentados en el curso. Es especialmente útil para profundizar en los algoritmos de Shor y Grover, aunque el curso se centre en este último.
Este libro ofrece una introducción práctica a la programación de computadoras cuánticas. Se centra en el uso de lenguajes de programación cuántica como Qiskit y Cirq. Aunque el curso utiliza Java para la simulación, este libro puede proporcionar una perspectiva valiosa sobre cómo se programan las computadoras cuánticas reales. Es útil como lectura complementaria para comprender el panorama general de la computación cuántica.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser