{"id":1618,"date":"2025-05-29T17:50:38","date_gmt":"2025-05-29T17:50:38","guid":{"rendered":"https:\/\/qce.quantum.ieee.org\/2026\/?page_id=1618"},"modified":"2026-07-07T18:30:13","modified_gmt":"2026-07-07T18:30:13","slug":"tutorial-schedule","status":"publish","type":"page","link":"https:\/\/qce.quantum.ieee.org\/2026\/qce26-schedule\/tutorial-schedule\/","title":{"rendered":"Schedule &#8211; Tutorials"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1618\" class=\"elementor elementor-1618\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-section elementor-top-section elementor-element elementor-element-9769e57 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"9769e57\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2398b19\" data-id=\"2398b19\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-cfedfaf elementor-widget elementor-widget-breadcrumbs\" data-id=\"cfedfaf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"breadcrumbs.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p id=\"breadcrumbs\"><span><span><a href=\"https:\/\/qce.quantum.ieee.org\/2026\/\">Home<\/a><\/span><\/span><\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4ccb274 elementor-widget elementor-widget-heading\" data-id=\"4ccb274\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Program 2026 - Tutorials<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-4d04ea7 e-flex e-con-boxed e-con e-parent\" data-id=\"4d04ea7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8c66230 elementor-widget elementor-widget-shortcode\" data-id=\"8c66230\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t<div data-elementor-type=\"container\" data-elementor-id=\"2012\" class=\"elementor elementor-2012\" data-elementor-post-type=\"elementor_library\">\n\t\t\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-1f354b9f e-flex e-con-boxed e-con e-parent\" data-id=\"1f354b9f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-ad4c2ac e-con-full e-flex e-con e-child\" data-id=\"ad4c2ac\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-890f644 elementor-widget elementor-widget-text-editor\" data-id=\"890f644\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<h5 style=\"text-align: center\">As we confirm sessions for IEEE Quantum Week, this schedule will reflect the most current information.<\/h5><h5 style=\"text-align: center\">Note that details are subject to change, so be sure to check back.<\/h5>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-457984f5 e-grid e-con-full e-con e-child\" data-id=\"457984f5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-42844243 elementor-widget elementor-widget-text-editor\" data-id=\"42844243\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center\">Filter by Day: \u00a0\u00a0<a href=\"\/2026\/program\/qce26-schedule\/\"><strong>All Days<\/strong><\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/sunday-schedule\/\"><strong>Sunday<\/strong><\/a> | <a href=\"\/2026\/program\/monday-schedule\/\"><strong>Monday<\/strong><\/a> | <a href=\"\/2026\/program\/tuesday-schedule\/\"><strong>Tuesday<\/strong><\/a> | <a href=\"\/2026\/program\/wednesday-schedule\/\"><strong>Wednesday<\/strong><\/a> | <a href=\"\/2026\/program\/thursday-schedule\/\"><strong>Thursday<\/strong><\/a> | <a href=\"\/2026\/program\/friday-schedule\/\"><strong>Friday<\/strong><\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-19081451 elementor-widget elementor-widget-text-editor\" data-id=\"19081451\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center\">Filter by Track: \u00a0 <strong><a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/keynote-schedule\/\">Keynotes<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/paper-schedule\/\">Papers<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/tutorial-schedule\/\">Tutorials<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/workshop-schedule\/\">Workshops<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/panel-schedule\/\">Panels<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/poster-schedule\/\">Posters<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/bof-schedule\/\">BoFs<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qseec-schedule\/\">QSEEC<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qet-schedule\/\">Exhibit Theater<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/special-schedule\/\">Special Sessions<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/awards-schedule\/\">Awards<\/a><\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-60abaad6 elementor-widget elementor-widget-text-editor\" data-id=\"60abaad6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: center\">Filter by Topic:\u00a0 <strong><a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qalg-schedule\/\">QALG<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qapp-schedule\/\">QAPP<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qcapx-schedule\/\">QCAPX<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qcpr-schedule\/\">QCPR<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qdc-schedule\/\">QDC<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qec-schedule\/\">QEC<\/a> |\u00a0 <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qecs-schedule\/\">QECS<\/a> |\u00a0<a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qai-schedule\/\">QGenAI<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qgdd-schedule\/\">QGDD<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qhpc-schedule\/\">QHPC<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qml-schedule\/\">QML<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qnatsci-schedule\/\">QNATSCI<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qnet-schedule\/\">QNET<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qpho-schedule\/\">QPHO<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qpoly-schedule\/\">QPOLY<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qrest-schedule\/\">QREST<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qsec-schedule\/\">QSEC<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qseec-schedule\/\">QSEEC<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qsimu-schedule\/\">QSIMU<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qstart-schedule\/\">QSTART<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qswe-schedule\/\">QSWE<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qsys-schedule\/\">QSYS<\/a> | <a href=\"https:\/\/qce.quantum.ieee.org\/2026\/program\/qtem-schedule\/\">QTEM<\/a><\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-5336ca9 e-flex e-con-boxed e-con e-parent\" data-id=\"5336ca9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-2671361 elementor-widget elementor-widget-shortcode\" data-id=\"2671361\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><style>\n  .rd-filter {\n    margin-bottom: 1em;\n  }\n  .rd-filter-header {\n    display: flex;\n    justify-content: space-between;\n  }\n  .rd-filter-title, .rd-filter-group-title {\n    font-weight: bold;\n  }\n  button#rd-filter-submit {\n    padding: 4px 10px;\n    color: white;\n    background-color: #5b114c;\n    border-radius: 8px;\n  }\n  button#rd-filter-clear {\n    padding: 4px 10px;\n    border: solid 1px #5b114c;\n    color: #5b114c;\n    background-color: white;\n    border-radius: 8px;\n  }\n  .rd-filter-group-tags {\n    display: flex;\n    flex-wrap: wrap;\n    margin: 0.5em 0;\n  }\n  .rd-filter-tag {\n    margin-right: 1.5em;\n  }\n  .tag-filter-checkbox {\n    display: inline-block;\n    margin-right: 0.5em;\n  }\n  div.rd-sessions ul.rd-sessions-list {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n  }\n  div.rd-sessions li.rd-date-divider {\n    color: white;\n    font-weight: bold;\n    display: block;\n    padding: 0.5em;\n    background-color: #5b114c;\n    border-radius: 6px;\n  }\n  div.rd-sessions li.rd-session-item {\n    display: block;\n    margin: 24px 3px;\n    border: 1px solid #d7dfec;\n    padding: 1em 0.5em;\n    border-radius: 6px;\n    box-shadow: 0 1px 2px rgba(8, 27, 56, 0.3);\n  }\n    div.rd-sessions li.rd-session-item.rd-child-item {\n      margin: 18px 3px 18px 27px;\n    }\n    div.rd-sessions li.rd-session-item.rd-hide {\n      margin: 0;\n      padding: 0;\n    }\n  div.rd-sessions div.rd-session-date {\n    font-weight: bold;\n    font-size: 0.85em;\n    color: #ff7700;\n  }\n  div.rd-sessions div.rd-session-title {\n    font-weight: bold;\n    cursor: pointer;\n  }\n  div.rd-sessions div.rd-session-subheading {\n    font-weight: bold;\n    font-size: 1.11em;\n    margin: 12px 0 6px 0;\n  }\n  div.rd-sessions div.rd-session-detail,\n  div.rd-sessions div.rd-session-description,\n  div.rd-sessions div.rd-session-children,\n  div.rd-sessions div.rd-session-parent {\n    font-size: 0.9em;\n  }\n  div.rd-sessions li.rd-session-item a {\n    text-decoration: none;\n  }\n  div.rd-sessions li.rd-session-item a:link,\n  div.rd-sessions li.rd-session-item a:visited,\n  div.rd-sessions li.rd-session-item a:active,\n  div.rd-sessions li.rd-session-item a:hover {\n    color: inherit;\n  }\n\n  \/* --- make the auto-detected links in descriptions look clickable --- *\/\n  div.rd-sessions .rd-session-description a,\n  div.rd-sessions .rd-session-description a:link,\n  div.rd-sessions .rd-session-description a:visited,\n  div.rd-sessions .rd-session-description a:active,\n  div.rd-sessions .rd-session-description a:hover {\n    color: #5b114c !important;\n    text-decoration: underline !important;\n  }\n\n  \/* --- NEW: anchor \/ copy-link affordance + scroll offset --- *\/\n  div.rd-sessions li.rd-session-item {\n    \/* Keeps the linked workshop clear of a sticky site header when scrolled to.\n       Tune this number to match your theme's fixed header height. *\/\n    scroll-margin-top: 120px;\n  }\n  div.rd-sessions a.rd-anchor-link {\n    display: inline-block;\n    margin-left: 0.5em;\n    font-size: 0.85em;\n    opacity: 0.55;\n    cursor: pointer;\n    text-decoration: none !important;\n  }\n  div.rd-sessions a.rd-anchor-link:hover {\n    opacity: 1;\n  }\n  div.rd-sessions span.rd-anchor-note {\n    margin-left: 0.5em;\n    font-size: 0.8em;\n    font-weight: normal;\n    color: #5b114c;\n  }\n  \/* Optional: briefly highlight the workshop a shared link points to. *\/\n  div.rd-sessions li.rd-session-item.rd-anchor-target {\n    box-shadow: 0 0 0 2px #5b114c, 0 1px 2px rgba(8, 27, 56, 0.3);\n    transition: box-shadow 400ms;\n  }\n  \/* --- END NEW --- *\/\n\n  div.rd-sessions div.rd-session-tag {\n    display: inline-block;\n    font-size: 0.85em;\n    padding: 4px 12px;\n    margin-top: 0.5em;\n    margin-right: 0.5em;\n    color: #616e88;\n    border: solid 1px #d7dfec;\n    border-radius: 12px;\n  }\n  div.rd-sessions div.rd-session-featured-tag {\n    color: #5b114c;\n    border: solid 1px #5b114c;\n    background-color: #5b114c;\n    background-image: linear-gradient(to right, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.9));\n  }\n  div.rd-sessions span.rd-session-locked-item-label {\n    font-weight: normal;\n    font-style: italic;\n  }\n  div.rd-sessions .rd-toggle {\n    cursor: pointer;\n  }\n  div.rd-sessions .rd-show {\n    opacity: 1;\n    max-height: auto;\n    transition: opacity 300ms, max-height 300ms;\n  }\n  div.rd-sessions .rd-hide {\n    opacity: 0;\n    max-height: 0;\n    transition: opacity 300ms, max-height 300ms;\n    overflow: hidden;\n  }\n\n  div.rd-sessions ul.rd-session-speaker-list {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n  }\n  div.rd-sessions li.rd-session-speaker-item {\n    margin: 12px 0;\n    padding: 0;\n    min-height: 60px;\n    clear: both;\n  }\n  div.rd-sessions div.rd-speaker-name {\n    font-weight: bold;\n  }\n  div.rd-sessions div.rd-speaker-details {\n    margin-left: 72px;\n  }\n  div.rd-sessions img.rd-speaker-photo {\n    float: left;\n    position: relative;\n    width: 60px;\n    height: 60px;\n    border-radius: 50% !important;\n  }\n  div.rd-sessions img.rd-speaker-photo::before {\n    content: \"\";\n    display: block;\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    border-radius: 50%;\n    box-shadow: inset 0 0 0 1px rgba(8, 27, 56, 0.1);\n    z-index: 2;\n  }\n\n\n  div.rd-sessions ul.rd-session-sponsor-list {\n    list-style: none;\n    margin: 0;\n    padding: 0;\n  }\n  div.rd-sessions li.rd-session-sponsor-item {\n    display: inline-block;\n    margin: 12px 36px 0 0;\n    vertical-align: middle;\n  }\n  div.rd-sessions img.rd-sponsor-logo {\n    max-width: 25vw;\n    max-height: 48px;\n  }\n\n<\/style>\n<div id=\"rd-sessions\" class=\"rd-sessions\"><\/div>\n<script type=\"text\/javascript\" async>\n  (function (id, baseUrl) {\n    \/\/ --- turn plain-text URLs inside descriptions into clickable links ---\n    function linkify(root) {\n      var blocks = root.querySelectorAll('.rd-session-description');\n      var urlRe = \/(https?:\\\/\\\/[^\\s<>\"')]+[^\\s<>\"').,;:!?])\/g;\n      Array.prototype.forEach.call(blocks, function (block) {\n        var walker = document.createTreeWalker(block, NodeFilter.SHOW_TEXT, null, false);\n        var nodes = [];\n        while (walker.nextNode()) nodes.push(walker.currentNode);\n        nodes.forEach(function (node) {\n          if (node.parentNode && node.parentNode.nodeName === 'A') return; \/\/ skip existing links\n          urlRe.lastIndex = 0;\n          if (!urlRe.test(node.nodeValue)) return;\n          urlRe.lastIndex = 0;\n          var frag = document.createDocumentFragment();\n          var last = 0, m;\n          while ((m = urlRe.exec(node.nodeValue)) !== null) {\n            if (m.index > last) {\n              frag.appendChild(document.createTextNode(node.nodeValue.slice(last, m.index)));\n            }\n            var a = document.createElement('a');\n            a.href = m[0];\n            a.textContent = m[0];\n            a.target = '_blank';\n            a.rel = 'noopener noreferrer';\n            frag.appendChild(a);\n            last = m.index + m[0].length;\n          }\n          if (last < node.nodeValue.length) {\n            frag.appendChild(document.createTextNode(node.nodeValue.slice(last)));\n          }\n          node.parentNode.replaceChild(frag, node);\n        });\n      });\n    }\n\n    \/\/ ===================== NEW: shareable per-workshop anchors =====================\n\n    \/\/ Find the RDMobile session id for an item, checked from most to least reliable.\n    function sessionIdFor(item) {\n      \/\/ 1) The toggle's target selector embeds the session id (toggling relies on it).\n      var toggleEl = item.querySelector('[data-rd-target]');\n      if (toggleEl) {\n        var m = (toggleEl.getAttribute('data-rd-target') || '').match(\/\\d{3,}\/);\n        if (m) return m[0];\n      }\n      \/\/ 2) The detail \/ child \/ parent panels often carry an id with the session id.\n      var panel = item.querySelector('.rd-session-detail, .rd-session-children, .rd-session-parent');\n      if (panel && panel.id) {\n        var m2 = panel.id.match(\/\\d{3,}\/);\n        if (m2) return m2[0];\n      }\n      \/\/ 3) Any element inside the item whose id embeds a long number.\n      var withId = item.querySelector('[id]');\n      if (withId) {\n        var m3 = withId.id.match(\/\\d{3,}\/);\n        if (m3) return m3[0];\n      }\n      \/\/ 4) A session detail link, if one exists.\n      var link = item.querySelector('a[href*=\"ession\"]');\n      if (link) {\n        var m4 = (link.getAttribute('href') || '').match(\/\\d{3,}\/);\n        if (m4) return m4[0];\n      }\n      return null;\n    }\n\n    \/\/ Build the compact \"{Number}-{SessionNumber}\" anchor from a tutorial title,\n    \/\/ e.g. \"TUT::QALG::QAPP::217 - ... | Session 1\"  ->  \"217-1\".\n    \/\/ Workshop number = last \"::\"-separated segment before \" - \";\n    \/\/ session number = the digits after \"Session\". Returns '' if it doesn't match.\n    function workshopAnchor(title) {\n      title = (title || '').toString();\n      var num = '', sess = '';\n      var dashIdx = title.indexOf(' - ');\n      if (dashIdx !== -1) {\n        var segs = title.slice(0, dashIdx).split('::'); \/\/ e.g. [\"WKS\",\"QHPC\",\"QAPP\",\"68\"]\n        var lastDigits = segs[segs.length - 1].match(\/\\d+\/);\n        if (lastDigits) num = lastDigits[0];\n      }\n      var sessMatch = title.match(\/Session\\s*(\\d+)\/i);\n      if (sessMatch) sess = sessMatch[1];\n      if (num && sess) return num + '-' + sess;\n      return num || '';                                 \/\/ session-less fallback\n    }\n\n    \/\/ Give every workshop a stable id and a \"copy link\" control.\n    \/\/ Runs after every load (initial load AND filter reloads).\n    function addAnchors(root) {\n      var items = root.querySelectorAll('.rd-session-item');\n      var used = {};\n      Array.prototype.forEach.call(items, function (item, idx) {\n        var titleEl = item.querySelector('.rd-session-title');\n        if (!titleEl) return;\n\n        \/\/ Anchor priority:\n        \/\/   1) compact title anchor, e.g. #68-3      (preferred \u2014 short & shareable)\n        \/\/   2) RDMobile session id, e.g. #session-12345  (if the title doesn't match)\n        \/\/   3) positional fallback + console warning  (last resort)\n        var slug = workshopAnchor(titleEl.textContent);\n        if (!slug) {\n          var sessionId = sessionIdFor(item);\n          if (sessionId) {\n            slug = 'session-' + sessionId;\n          } else {\n            slug = 'session-item-' + (idx + 1);\n            if (window.console && console.warn) {\n              console.warn('[rd-anchors] Could not derive an anchor for this item:', item);\n            }\n          }\n        }\n\n        \/\/ Guarantee uniqueness on the page.\n        var base = slug, n = 2;\n        while (used[slug]) { slug = base + '-' + n; n++; }\n        used[slug] = true;\n\n        item.id = slug;\n\n        \/\/ 4) Add the \ud83d\udd17 copy-link control next to the title (once).\n        if (!titleEl.querySelector('.rd-anchor-link')) {\n          var a = document.createElement('a');\n          a.className = 'rd-anchor-link';\n          a.href = '#' + slug;\n          a.title = 'Copy link to this workshop';\n          a.setAttribute('aria-label', 'Copy link to this workshop');\n          a.innerHTML = '\\uD83D\\uDD17'; \/\/ \ud83d\udd17\n          a.addEventListener('click', function (e) {\n            e.preventDefault();\n            e.stopPropagation(); \/\/ don't trigger the expand\/collapse toggle on the title\n            var shareUrl = location.origin + location.pathname + location.search + '#' + slug;\n            history.replaceState(null, '', '#' + slug);\n            if (navigator.clipboard && navigator.clipboard.writeText) {\n              navigator.clipboard.writeText(shareUrl).then(\n                function () { flash(titleEl, 'Link copied!'); },\n                function () { flash(titleEl, shareUrl); }\n              );\n            } else {\n              flash(titleEl, shareUrl);\n            }\n          });\n          titleEl.appendChild(a);\n        }\n      });\n    }\n\n    \/\/ Small transient confirmation message next to a title.\n    function flash(titleEl, msg) {\n      var existing = titleEl.querySelector('.rd-anchor-note');\n      if (existing) existing.parentNode.removeChild(existing);\n      var note = document.createElement('span');\n      note.className = 'rd-anchor-note';\n      note.textContent = msg;\n      titleEl.appendChild(note);\n      setTimeout(function () {\n        if (note.parentNode) note.parentNode.removeChild(note);\n      }, 1800);\n    }\n\n    \/\/ Make sure a target workshop's detail panel is expanded (it loads collapsed).\n    function ensureOpen(item, tries) {\n      tries = tries || 0;\n      var detail = item.querySelector('.rd-session-detail');\n      var toggleEl = item.querySelector('.rd-toggle') || item.querySelector('.rd-session-title');\n      if (!detail || !toggleEl) return;\n      var cs = window.getComputedStyle(detail);\n      var visible = detail.getClientRects().length > 0 &&\n                    cs.opacity !== '0' &&\n                    cs.maxHeight !== '0px' &&\n                    cs.display !== 'none';\n      if (!visible && tries < 2) {\n        toggleEl.click();\n        setTimeout(function () { ensureOpen(item, tries + 1); }, 60);\n      }\n    }\n\n    \/\/ Expand + scroll to whatever the current #hash points at.\n    function openTarget() {\n      var hash = location.hash.slice(1);\n      if (!hash) return;\n      var item = document.getElementById(hash);\n      if (!item) return;\n      ensureOpen(item, 0);\n      item.classList.add('rd-anchor-target');\n      setTimeout(function () {\n        item.scrollIntoView({ behavior: 'smooth', block: 'start' });\n      }, 380); \/\/ let the expand transition settle first\n      setTimeout(function () {\n        item.classList.remove('rd-anchor-target');\n      }, 2600);\n    }\n\n    \/\/ Handle a hash that was present in the URL when the page first loaded,\n    \/\/ but only once, and only after the content has actually been injected.\n    var initialHashHandled = false;\n    function maybeHandleInitialHash() {\n      if (initialHashHandled || !location.hash) return;\n      if (!document.getElementById(location.hash.slice(1))) return;\n      initialHashHandled = true;\n      openTarget();\n    }\n    \/\/ =================== END NEW: shareable per-workshop anchors ===================\n\n    function load(id, url) {\n      var container = document.getElementById(id);\n      var xhttp = new XMLHttpRequest();\n      xhttp.onreadystatechange = function () {\n        if (this.readyState == 4 && this.status == 200) {\n          container.innerHTML = this.responseText;\n          linkify(container);            \/\/ run after content loads\n          addAnchors(container);         \/\/ NEW: add ids + copy-link controls\n          maybeHandleInitialHash();      \/\/ NEW: honor an incoming #hash on first load\n        }\n      };\n      xhttp.open(\"GET\", url, true);\n      xhttp.send();\n    };\n    function toggle(el) {\n      if (el.style.display === 'none') {\n        el.classList.add('rd-hide');\n        el.style.display = '';\n        setTimeout(toggleHidden, 0, el);\n      }\n      else {\n        toggleHidden(el);\n        setTimeout(function () {\n          el.style.display = 'none';\n        }, 300);\n      }\n    };\n    function toggleHidden(el) {\n      if (el.classList.contains('rd-hide')) {\n        el.classList.add('rd-show');\n        el.classList.remove('rd-hide');\n      } else {\n        el.classList.add('rd-hide');\n        el.classList.remove('rd-show');\n      }\n    }\n    function listenForToggle(id) {\n      var container = document.getElementById(id);\n      container.addEventListener('click', function (e) {\n        for (var target = e.target; target && target != container; target = target.parentNode) {\n          if (target.matches('.rd-toggle')) {\n            if (target.dataset.rdTarget) {\n              var els = container.querySelectorAll(target.dataset.rdTarget);\n              Array.prototype.forEach.call(els, toggle);\n            }\n            break;\n          }\n        }\n      }, false);\n    }\n    \/\/ Filter the list of items\n    function initFilter() {\n      \/\/ Initialize the filter button\n      var filterButton = document.getElementById('rd-filter-submit');\n      if (filterButton) {\n        filterButton.addEventListener('click', function () {\n          \/\/ 1. Collect checked tag IDs\n          var checked = Array.from(\n            document.querySelectorAll('.tag-filter-checkbox:checked')\n          ).map(function (cb) {\n            return cb.value;\n          });\n          \/\/ 2. Build URL\n          var url = baseUrl;\n          if (checked.length) {\n            var params = new URLSearchParams();\n            params.set('tags', checked.join(','));\n            url = baseUrl + (baseUrl.includes('?') ? '&' : '?') + params.toString();\n          }\n          \/\/ 3. Reload the list\n          load(id, url);\n        });\n      }\n      \/\/ Initialize the clear button\n      var clearButton = document.getElementById('rd-filter-clear');\n      if (clearButton) {\n        clearButton.addEventListener('click', function () {\n          \/\/ Clear all checked checkboxes (pure JS)\n          document.querySelectorAll('.tag-filter-checkbox:checked').forEach(function (cb) {\n            cb.checked = false;\n          });\n          \/\/ Reload the list using just the base URL\n          load(id, baseUrl);\n        });\n      }\n    }\n    \/\/ Initialize everything when the DOM is ready\n    function ready(fn) {\n      if (document.readyState !== 'loading') fn();\n      else document.addEventListener('DOMContentLoaded', fn);\n    }\n    ready(function () {\n      listenForToggle(id);\n      load(id, baseUrl);      \/\/ initial load (no tags)\n      initFilter();           \/\/ hook up the filter buttons\n      \/\/ NEW: respond to later in-page hash changes (e.g. someone pastes a link\n      \/\/ into the address bar while already on the page).\n      window.addEventListener('hashchange', openTarget);\n    });\n  })('rd-sessions', 'https:\/\/events.rdmobile.com\/Sessions\/Remote\/20412?tags=113460&detail=Description&included=Tags%2cSpeakers%2cSponsors%2cSubsessions&speakerdetails=Title%2cCompany%2cPhoto%2cDescription&speakerclickoption=None&version=2&token=nT%2fR8SqVMFq74LqZ%2bFz2H8OQc3hm8yVMPYTJ6510wWU%3d');\n<\/script><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Program 2026 &#8211; Tutorials<\/p>\n","protected":false},"author":13,"featured_media":0,"parent":1305,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1618","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Schedule - Tutorials - IEEE Quantum Week<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/qce.quantum.ieee.org\/2026\/qce26-schedule\/tutorial-schedule\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Schedule - Tutorials - IEEE Quantum Week\" \/>\n<meta property=\"og:description\" content=\"Program 2026 &#8211; Tutorials\" \/>\n<meta property=\"og:url\" content=\"https:\/\/qce.quantum.ieee.org\/2026\/qce26-schedule\/tutorial-schedule\/\" \/>\n<meta property=\"og:site_name\" content=\"IEEE Quantum Week\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-07T18:30:13+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/qce26-schedule\\\/tutorial-schedule\\\/\",\"url\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/qce26-schedule\\\/tutorial-schedule\\\/\",\"name\":\"Schedule - Tutorials - IEEE Quantum Week\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/#website\"},\"datePublished\":\"2025-05-29T17:50:38+00:00\",\"dateModified\":\"2026-07-07T18:30:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/qce26-schedule\\\/tutorial-schedule\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/qce26-schedule\\\/tutorial-schedule\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/qce26-schedule\\\/tutorial-schedule\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Schedule &#8211; All Days\",\"item\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/qce26-schedule\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Schedule &#8211; Tutorials\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/#website\",\"url\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/\",\"name\":\"IEEE Quantum Week\",\"description\":\"IEEE Quantum Week 2025\",\"publisher\":{\"@id\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/#organization\",\"name\":\"IEEE Quantum Week\",\"url\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/wp-content\\\/uploads\\\/sites\\\/13\\\/2026\\\/01\\\/QCE26-banner-2627x208-1-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/wp-content\\\/uploads\\\/sites\\\/13\\\/2026\\\/01\\\/QCE26-banner-2627x208-1-scaled.jpg\",\"width\":2560,\"height\":203,\"caption\":\"IEEE Quantum Week\"},\"image\":{\"@id\":\"https:\\\/\\\/qce.quantum.ieee.org\\\/2026\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Schedule - Tutorials - IEEE Quantum Week","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/qce.quantum.ieee.org\/2026\/qce26-schedule\/tutorial-schedule\/","og_locale":"en_US","og_type":"article","og_title":"Schedule - Tutorials - IEEE Quantum Week","og_description":"Program 2026 &#8211; Tutorials","og_url":"https:\/\/qce.quantum.ieee.org\/2026\/qce26-schedule\/tutorial-schedule\/","og_site_name":"IEEE Quantum Week","article_modified_time":"2026-07-07T18:30:13+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/qce.quantum.ieee.org\/2026\/qce26-schedule\/tutorial-schedule\/","url":"https:\/\/qce.quantum.ieee.org\/2026\/qce26-schedule\/tutorial-schedule\/","name":"Schedule - Tutorials - IEEE Quantum Week","isPartOf":{"@id":"https:\/\/qce.quantum.ieee.org\/2026\/#website"},"datePublished":"2025-05-29T17:50:38+00:00","dateModified":"2026-07-07T18:30:13+00:00","breadcrumb":{"@id":"https:\/\/qce.quantum.ieee.org\/2026\/qce26-schedule\/tutorial-schedule\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/qce.quantum.ieee.org\/2026\/qce26-schedule\/tutorial-schedule\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/qce.quantum.ieee.org\/2026\/qce26-schedule\/tutorial-schedule\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/qce.quantum.ieee.org\/2026\/"},{"@type":"ListItem","position":2,"name":"Schedule &#8211; All Days","item":"https:\/\/qce.quantum.ieee.org\/2026\/qce26-schedule\/"},{"@type":"ListItem","position":3,"name":"Schedule &#8211; Tutorials"}]},{"@type":"WebSite","@id":"https:\/\/qce.quantum.ieee.org\/2026\/#website","url":"https:\/\/qce.quantum.ieee.org\/2026\/","name":"IEEE Quantum Week","description":"IEEE Quantum Week 2025","publisher":{"@id":"https:\/\/qce.quantum.ieee.org\/2026\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/qce.quantum.ieee.org\/2026\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/qce.quantum.ieee.org\/2026\/#organization","name":"IEEE Quantum Week","url":"https:\/\/qce.quantum.ieee.org\/2026\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/qce.quantum.ieee.org\/2026\/#\/schema\/logo\/image\/","url":"https:\/\/qce.quantum.ieee.org\/2026\/wp-content\/uploads\/sites\/13\/2026\/01\/QCE26-banner-2627x208-1-scaled.jpg","contentUrl":"https:\/\/qce.quantum.ieee.org\/2026\/wp-content\/uploads\/sites\/13\/2026\/01\/QCE26-banner-2627x208-1-scaled.jpg","width":2560,"height":203,"caption":"IEEE Quantum Week"},"image":{"@id":"https:\/\/qce.quantum.ieee.org\/2026\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/qce.quantum.ieee.org\/2026\/wp-json\/wp\/v2\/pages\/1618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qce.quantum.ieee.org\/2026\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/qce.quantum.ieee.org\/2026\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/qce.quantum.ieee.org\/2026\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/qce.quantum.ieee.org\/2026\/wp-json\/wp\/v2\/comments?post=1618"}],"version-history":[{"count":1,"href":"https:\/\/qce.quantum.ieee.org\/2026\/wp-json\/wp\/v2\/pages\/1618\/revisions"}],"predecessor-version":[{"id":2583,"href":"https:\/\/qce.quantum.ieee.org\/2026\/wp-json\/wp\/v2\/pages\/1618\/revisions\/2583"}],"up":[{"embeddable":true,"href":"https:\/\/qce.quantum.ieee.org\/2026\/wp-json\/wp\/v2\/pages\/1305"}],"wp:attachment":[{"href":"https:\/\/qce.quantum.ieee.org\/2026\/wp-json\/wp\/v2\/media?parent=1618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}