Quantum computing is an emerging field that can revolutionize our ability to solve problems and enable breakthroughs in many areas including optimization, machine learning, chemistry, and drug design. With the increasing computational power of quantum computers and the proliferation of quantum development kits, the demand for a skilled workforce in quantum computing increases significantly. The theory of quantum computing lies at the crossroads of quantum physics, mathematics, and computer science. The field of quantum computing has matured and can now be explored by all students. While today, quantum computers and simulators are readily accessible and programmable over the internet, quantum computing education is just ramping up. This paper describes our experiences in organizing and delivering quantum computing workshops for high-school students with little or no experience in the abovementioned fields. We introduce students to the world of quantum computing in innovative ways, such as newly designed “unplugged” activities for teaching basic quantum computing concepts. Overall, we take a programmatic approach and introduce students to the IBM Q Experience using Qiskit and Jupyter notebooks. Our experiences and findings suggest that basic quantum computing concepts are palatable for high-school students, and-due to significant differences between classical and quantum computing-early exposure to quantum computing is a valuable addition to the set of problem-solving and computing skills that high-schoolers obtain before entering university.
String distance problems typically ask for a minimum number of permitted operations to transform one string into another. Such problems find application in a wide variety of areas, including error-correcting codes, parsing theory, speech recognition, and computational biology, to name a few. Here we consider a classic string distance problem, the NP-complete String-to-String Correction problem, first studied by Wagner some 35 years ago. In this problem, we are asked whether it is possible to transform string x into string y with at most k operations on x, where permitted operations are single-character deletions and adjacent character exchanges. We prove that String-to-String Correction is fixed-parameter tractable, for parameter k, and present a simple fixed-parameter algorithm that solves the problem in O(2kn) time. We also devise a bounded search tree algorithm, and introduce a bookkeeping technique that we call charge and reduce. This leads to an algorithm whose running time is O(1.6181kn).