Course Description
COT4601 – Fundamentals of Quantum Computing is a 3-credit-hour upper-division computer science course that introduces students to the foundations and applications of quantum computing. The course addresses one of the most active and rapidly evolving research areas in computer science — quantum computing has substantial implications for cryptography (Shor's algorithm threatens widely-used public-key cryptography), search and optimization (Grover's algorithm provides quadratic speedup for unstructured search), chemistry and materials simulation, and machine learning. Topics include the mathematical foundations of quantum mechanics needed for quantum computing (linear algebra over complex vector spaces; the postulates of quantum mechanics relevant to computing); qubits and quantum states; quantum gates and quantum circuits; quantum measurement; quantum algorithms (Deutsch-Jozsa, Bernstein-Vazirani, Simon's algorithm, Grover's search, Shor's factoring at introductory level); quantum complexity classes at conceptual level; and the introduction to quantum error correction.
Quantum computing is in a period of rapid evolution. Major industry investment from IBM Quantum, Google Quantum AI, Microsoft Azure Quantum, Rigetti, IonQ, Quantinuum, PsiQuantum and others has produced increasingly capable quantum computers (current systems offer hundreds of qubits with substantial noise, with progress toward fault-tolerant quantum computing as a long-term research goal). Coursework typically combines lecture and example-based instruction with substantial programming projects using quantum software development kits (Qiskit from IBM, Cirq from Google, PennyLane for quantum machine learning, Q# from Microsoft).
COT4601 is a Florida common course offered at approximately 2 Florida institutions. The course transfers as the equivalent course at all Florida public postsecondary institutions per SCNS articulation policy where the receiving program accepts the course.
Learning Outcomes
Required Outcomes
Upon successful completion of this course, students will be able to:
- Apply linear algebra over complex vector spaces at intermediate level, including complex vectors and matrices; inner products in complex spaces; tensor products; unitary matrices; the engineering use in quantum computing.
- Apply quantum mechanics postulates relevant to computing, including the state space postulate (quantum states as vectors in Hilbert space); the evolution postulate (unitary evolution); the measurement postulate (Born rule for measurement probabilities); the composite system postulate (tensor product structure); the engineering implications.
- Apply qubit fundamentals, including the qubit as a two-level quantum system; the standard basis (|0⟩ and |1⟩); superposition states (α|0⟩ + β|1⟩ with |α|² + |β|² = 1); the Bloch sphere representation; multi-qubit systems via tensor products.
- Apply quantum gates, including single-qubit gates (Pauli X, Y, Z; Hadamard H; phase gates S and T; rotation gates); two-qubit gates (CNOT, controlled-Z, SWAP); the universal gate set concept; the matrix representations.
- Apply quantum circuits, including the circuit model of quantum computation; circuit diagrams; the analysis of quantum circuits; circuit composition; the engineering applications.
- Apply quantum measurement, including the measurement of qubits in the computational basis; measurement in alternative bases (e.g., the Hadamard basis); the no-cloning theorem at conceptual level; the engineering implications of quantum measurement.
- Apply quantum entanglement, including the Bell states (φ+, φ-, ψ+, ψ-); entangled vs. separable states; the EPR paradox at conceptual level; quantum teleportation as a demonstration of entanglement; the engineering implications.
- Apply basic quantum algorithms, including Deutsch's algorithm and Deutsch-Jozsa; the Bernstein-Vazirani algorithm; Simon's algorithm; the engineering implications of each (demonstrating quantum advantage in specific problem classes).
- Apply Grover's search algorithm, including the algorithm structure (oracle queries, diffusion operator); the analysis (O(√N) queries vs. O(N) classical); the engineering implications for search and optimization.
- Apply Shor's factoring algorithm at introductory level, including the period-finding subroutine; the quantum Fourier transform at introductory level; the implications for RSA cryptography.
- Apply quantum software development, including the use of Qiskit (IBM's open-source quantum SDK), Cirq (Google's quantum SDK), or comparable platforms; the simulation of quantum circuits; (where institutional access permits) the execution of circuits on real quantum hardware.
- Apply introductory quantum error correction, including the challenge of decoherence and quantum noise; basic error correction concepts (the three-qubit bit-flip code, the three-qubit phase-flip code, the nine-qubit Shor code); the threshold theorem at conceptual level.
- Apply introductory quantum complexity, including BQP (bounded-error quantum polynomial time) at conceptual level; the relationship to classical complexity classes; the engineering implications.
Optional Outcomes
- Apply introductory quantum cryptography, including BB84 quantum key distribution at introductory level; the implications of post-quantum cryptography.
- Apply introductory quantum machine learning, including variational quantum eigensolvers (VQE) at conceptual level; quantum approximate optimization algorithm (QAOA) at conceptual level; the engineering applications.
- Apply quantum simulation, including the use of quantum computers to simulate quantum systems (Feynman's original motivation for quantum computing); applications to chemistry and materials science.
- Apply quantum computing hardware foundations at introductory level, including superconducting qubits (IBM, Google, Rigetti); trapped ion qubits (IonQ, Quantinuum); photonic qubits (PsiQuantum); the engineering trade-offs.
- Apply principles to specific application domains reflecting program emphasis (cryptography, optimization, machine learning, chemistry simulation).
Major Topics
Required Topics
- Quantum Computing Foundations: The motivation for quantum computing (Feynman's original proposal for simulating quantum systems; Deutsch's universal quantum computer); the engineering value of quantum computing; the current state of the field.
- Mathematical Preliminaries — Complex Linear Algebra: Complex numbers; complex vectors; complex matrices; inner products in complex vector spaces; tensor products; unitary matrices; the engineering use in quantum computing.
- Quantum Mechanics for Computing: The postulates of quantum mechanics (state space, evolution, measurement, composite systems); the relationship to classical computation; the engineering implications.
- Qubits: The qubit as a two-level quantum system; the computational basis (|0⟩ and |1⟩); superposition states; the Bloch sphere representation; physical realizations (overview).
- Multi-Qubit Systems: Multi-qubit systems via tensor products; the exponential dimension of multi-qubit state spaces (n qubits give 2ⁿ-dimensional state space); the engineering implications.
- Single-Qubit Gates: The Pauli gates (X, Y, Z); the Hadamard gate (H, creating superposition); the phase gates (S, T); rotation gates (Rx, Ry, Rz); the matrix representations; the geometric interpretation on the Bloch sphere.
- Two-Qubit Gates: The CNOT (controlled-NOT) gate; the controlled-Z gate; the SWAP gate; the matrix representations; the role of two-qubit gates in creating entanglement.
- Universal Gate Sets: The concept of a universal gate set for quantum computing; common universal sets (CNOT + arbitrary single-qubit gates; Clifford + T); the engineering implications.
- Quantum Circuits: The quantum circuit model; circuit diagrams (drawing conventions); circuit analysis; circuit composition; the depth of quantum circuits; the engineering applications.
- Quantum Measurement: Measurement of single qubits in the computational basis; the Born rule for measurement probabilities; the irreversibility of measurement; measurement in alternative bases (Hadamard basis); the no-cloning theorem at conceptual level; the engineering implications.
- Quantum Entanglement: Entangled vs. separable states; the Bell states (φ+, φ-, ψ+, ψ-); the construction of Bell states using Hadamard and CNOT; the EPR paradox at conceptual level; the violation of Bell inequalities (the experimental confirmation that quantum mechanics is genuinely non-local).
- Quantum Teleportation: The teleportation protocol as a demonstration of entanglement; the role of classical communication; the engineering implications (the impossibility of faster-than-light communication despite teleportation).
- Deutsch's Algorithm and Deutsch-Jozsa: The Deutsch problem; the quantum algorithm for Deutsch's problem; the generalization to Deutsch-Jozsa; the engineering implications (demonstrating quantum advantage in specific problem classes).
- The Bernstein-Vazirani Algorithm: The Bernstein-Vazirani problem; the quantum algorithm; the engineering implications.
- Simon's Algorithm: Simon's problem; the quantum algorithm; the analysis (exponential speedup over classical); the engineering implications and the connection to Shor's algorithm.
- The Quantum Fourier Transform: The QFT at introductory level; the relationship to the classical discrete Fourier transform; the role in Shor's algorithm.
- Shor's Factoring Algorithm: The factoring problem; period-finding as the key subroutine; the quantum approach to period-finding; the analysis (polynomial time vs. classical sub-exponential); the implications for RSA cryptography (Shor's algorithm threatens RSA when sufficiently large quantum computers are built).
- Grover's Search Algorithm: The unstructured search problem; the algorithm structure (oracle queries, diffusion operator); the analysis (O(√N) queries vs. O(N) classical); the engineering implications for search and optimization; the optimality of Grover's algorithm.
- Quantum Software Development: The use of Qiskit (IBM's open-source quantum SDK — Python-based, the most widely adopted educational SDK); Cirq (Google's quantum SDK); the simulation of quantum circuits; (where institutional access permits) the execution on real quantum hardware via IBM Quantum or comparable cloud services.
- Quantum Noise and Decoherence: The challenge of quantum noise (decoherence destroys quantum coherence); the relationship between physical implementation and noise; the impact on quantum algorithm performance.
- Quantum Error Correction — Introduction: The challenge of error correction in quantum computing (the no-cloning theorem prevents simple repetition); the three-qubit bit-flip code; the three-qubit phase-flip code; the nine-qubit Shor code; the threshold theorem at conceptual level.
- Quantum Complexity — Introduction: The class BQP (bounded-error quantum polynomial time); the relationship to classical complexity classes (BQP contains P, BQP is contained in PSPACE); the unknown relationship between BQP and NP; the engineering implications.
Optional Topics
- Quantum Cryptography: BB84 quantum key distribution at introductory level; the security argument; the implications of post-quantum cryptography (the NIST post-quantum cryptography standardization process).
- Quantum Machine Learning: Variational quantum eigensolvers (VQE) at conceptual level; quantum approximate optimization algorithm (QAOA) at conceptual level; quantum kernel methods; the engineering applications and current research state.
- Quantum Simulation: The use of quantum computers to simulate quantum systems; applications to chemistry (drug discovery, materials design); the original Feynman motivation.
- Quantum Computing Hardware: Superconducting qubits (IBM Quantum, Google Quantum AI, Rigetti); trapped ion qubits (IonQ, Quantinuum); photonic qubits (PsiQuantum); neutral atom qubits (QuEra, ColdQuanta); the engineering trade-offs; the current state of hardware development.
- Specific Application Domains: Cryptography applications (post-quantum considerations); optimization applications (combinatorial optimization with quantum methods); machine learning applications; chemistry simulation applications.
Resources & Tools
- Common Texts: Quantum Computation and Quantum Information (Nielsen/Chuang — the standard text in the field, often called "Mike and Ike"); An Introduction to Quantum Computing (Kaye/Laflamme/Mosca); Quantum Computing: An Applied Approach (Hidary — implementation-focused with code examples); Quantum Country (Andy Matuschak and Michael Nielsen — free interactive online course)
- Software: Qiskit (IBM, Python-based, free — the most widely adopted educational SDK); Cirq (Google, Python-based, free); PennyLane (Xanadu, focused on quantum machine learning); Q# (Microsoft, with Azure Quantum); Quantum Development Kit (Microsoft); the IBM Quantum Experience (free cloud access to small quantum computers; common for educational use)
- Online Resources: IBM Quantum Learning (free, comprehensive); Microsoft Quantum Katas (free, interactive); MIT OpenCourseWare 6.845 Quantum Complexity Theory (free); Coursera quantum computing courses; quantum computing YouTube channels (e.g., Qiskit's own educational content)
- Reference Resources: The Quantum Algorithm Zoo (a comprehensive listing of quantum algorithms maintained by Stephen Jordan); arXiv quant-ph section for current research; quantum computing conferences (QIP, TQC)
Career Pathways
COT4601 supports career pathways in the rapidly growing quantum computing field:
- Quantum Software Engineering — Senior software engineering roles at quantum computing companies (IBM Quantum, Google Quantum AI, Rigetti, IonQ, Quantinuum, PsiQuantum, others) and at companies developing quantum applications.
- Quantum Algorithm Engineering — Research and development of quantum algorithms for specific application domains.
- Quantum Cryptography Engineering — Senior cryptography engineering roles addressing post-quantum cryptography; substantial investment from financial services and defense.
- Quantum Hardware Engineering — Hardware engineering roles in quantum hardware companies (typically requires additional physics or electrical engineering background).
- Quantum Computing Research — Foundations for graduate study and academic research in quantum computing.
- Government and National Lab Quantum Programs — NIST, DOE national laboratories (Oak Ridge, Argonne, Lawrence Berkeley, others) have substantial quantum computing programs.
- Defense Quantum Programs — DARPA, Air Force Research Laboratory, and other defense organizations have quantum computing programs; relevant to Florida defense industry.
- Florida Quantum Activity — Florida's National High Magnetic Field Laboratory at FSU has quantum hardware research; emerging Florida quantum activity in academia and industry.
Special Information
The Rapidly Evolving Nature of Quantum Computing
Quantum computing is in a period of rapid evolution. Hardware capabilities continue to grow (current systems offer hundreds of qubits with substantial noise; the long-term research goal is fault-tolerant quantum computing with error-corrected logical qubits). Software ecosystems continue to mature. Application domains continue to be explored. COT4601 content reflects contemporary practice at the time the course is offered — foundational concepts (qubits, gates, basic algorithms, entanglement) remain stable, while specific tools and applications evolve.
The Mathematical Demands
Quantum computing is mathematically demanding for typical computer science students. The course requires substantial linear algebra over complex vector spaces — a level of mathematical sophistication typical for upper-division mathematics or physics rather than typical for computer science. Students with strong mathematical backgrounds (mathematics minors, physics double majors, students who took linear algebra rigorously) typically find the course more accessible.
The Physics-Computing Boundary
Quantum computing sits at the intersection of physics and computer science. The course typically focuses on the computer science side (algorithms, software, applications) but requires sufficient physics for the underlying mathematics to make sense. Students don't need a full physics background, but they should be prepared for content that feels more abstract than typical computer science coursework.
The Relationship to COT5600
Some institutions also offer COT5600 (Quantum Computing) at graduate level. Where COT4601 covers quantum computing fundamentals at undergraduate level, COT5600 extends to graduate-level depth, current research engagement, and more advanced algorithm topics. Students should consult their specific program for the appropriate course in their degree path.
General Education and Transfer
COT4601 is a Florida common course number that transfers as the equivalent course at all Florida public postsecondary institutions per SCNS articulation policy.
Course Format
COT4601 is offered in face-to-face, hybrid, and online formats. The mathematical content and programming work translate to multiple formats; many institutions offer online sections.
Position in the Computer Science Curriculum
COT4601 is typically taken as a senior elective in computer science programs. Students with strong mathematical backgrounds may take it earlier; students with weaker mathematical backgrounds may benefit from completing additional linear algebra coursework first.
Difficulty and Time Commitment
COT4601 is moderately challenging, depending heavily on the student's mathematical background. Students with strong linear algebra and abstract mathematical thinking typically find the course manageable with 6-9 hours per week beyond class time. Students who struggle with the linear algebra often need substantially more time.
Prerequisites
COT4601 typically requires linear algebra (MAS3105 or comparable) with grade of C or better; foundational programming proficiency (typically Python); COT3100C (Discrete Structures) or comparable; junior or senior standing in computer science typical. Some institutions require or recommend additional mathematical preparation.
AI Integration (Optional)
AI tools can serve as study aids in quantum computing but pose substantive considerations.
Where AI Tools Help
- Concept explanation — alternative explanations of quantum mechanical concepts (often quantum is taught with multiple complementary perspectives, and AI tools can provide alternative framings)
- Code generation — initial Qiskit/Cirq implementations as starting points (with substantial verification)
- Mathematical exploration — generating Python code with NumPy for exploring quantum state evolution and gate operations
- Connection to classical CS — helping students connect quantum concepts to familiar classical CS concepts
Where AI Tools Mislead
- Hallucinated quantum algorithms — AI tools sometimes generate plausible-looking quantum algorithm descriptions that are incorrect; students should verify against authoritative sources (Nielsen/Chuang, primary literature)
- Hallucinated complexity claims — AI tools sometimes make claims about quantum speedup that are incorrect or overstated
- Surface-level treatment — quantum computing is mathematically subtle; AI explanations may sound plausible but miss important details
- Confusing classical and quantum concepts — AI tools sometimes confuse classical probability with quantum amplitude, classical superposition with quantum superposition
Academic Integrity
The use of AI tools to generate quantum algorithm implementations or analyses submitted as student work without permission is academic dishonesty under most institutional policies. Quantum computing is a sufficiently specialized field that AI hallucinations are common; students should verify content carefully against authoritative sources. Students should consult their institution's specific policies and recognize that the conceptual quantum thinking developed in this course is genuinely valuable for the rapidly growing quantum computing field — bypassing its development through AI tools provides short-term gain at substantial long-term cost.