Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3649217.3653544acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Redux: An Interactive, Dynamic Knowledge Base for Teaching NP-completeness

Published: 03 July 2024 Publication History

Abstract

Whereas interactive dynamic visualization tools have been successfully developed and used for teaching some topics in computational theory (CT), there remains a noticeable lack of such tools for teaching NP-completeness which continues to be widely taught using paper-and-pencil methods. Despite its important theoretical and practical value, NP-completeness-and mapping reductions in NP-completeness in particular-tends to be a challenging concept for CT students to understand. We present an open-source web app called Redux that provides a dynamic interactive user interface atop a practical knowledge base of NP-complete problems, reductions, and solution algorithms. A key feature of the interface is the visualization of arbitrary problem instances, mapping reductions, solutions, and gadgets-including those reachable via transitivity. The web app is designed to make the knowledge base extensible, allowing students to contribute and compare their reductions and solutions to those already available. Two surveys were administered, with respondents overwhelmingly indicating that Redux helped them to better understand mapping reductions; that they would prefer using Redux to solve similar problems manually; and that Redux makes learning NP-complete reductions more enjoyable. Redux is accessible online via https://redux.portneuf.cose.isu.edu/.

References

[1]
André Almeida, José Alves, Nelma Moreira, and Rogério Reis. 2008. CGM: A context-free grammar manipulator. CoRTA'2008 (2008), 44.
[2]
Michael Bostock, Vadim Ogievetsky, and Jeffrey Heer. 2011. D$^3$ data-driven documents. IEEE transactions on visualization and computer graphics, Vol. 17, 12 (2011), 2301--2309.
[3]
Daniel Brélaz. 1979. New methods to color the vertices of a graph. Commun. ACM, Vol. 22, 4 (1979), 251--256.
[4]
Coen Bron and Joep Kerbosch. 1973. Algorithm 457: finding all cliques of an undirected graph. Commun. ACM, Vol. 16, 9 (1973), 575--577.
[5]
WC Brookes. 2004. Computing theory with relevance. In Australasian Conference on Computer Science Education. Australian Computer Society Inc.
[6]
Joshua Joseph Cogliati et al. 2004. Visualizing the pumping lemma for regular languages. Ph.,D. Dissertation. Montana State University-Bozeman, College of Engineering.
[7]
TH Cormen, EC Leiserson, LR Rivest, and C Stein. 2001. Section 35.1: The vertex-cover problem. Introduction to Algorithms (2nd ed.) MIT Press and McGraw-Hill (2001), 10241027.
[8]
Pierluigi Crescenzi. 2010. Using AVs to explain NP-completeness. In Proceedings of the fifteenth annual conference on Innovation and technology in computer science education. 299--299.
[9]
Pierluigi Crescenzi, Emma Enström, and Viggo Kann. 2013. From theory to practice: NP-completeness for every CS student. In Proceedings of the 18th ACM conference on Innovation and technology in computer science education. 16--21.
[10]
Edsger W Dijkstra et al. 1959. A note on two problems in connexion with graphs. Numerische mathematik, Vol. 1, 1 (1959), 269--271.
[11]
Felix Erlacher et al. 2009. Pushdown automata simulator. PhD, Institut für Informatik, Universität Innsbruck (2009).
[12]
Guy Even, Joseph Naor, Baruch Schieber, and Madhu Sudan. 1998. Approximating minimum feedback sets and multicuts in directed graphs. Algorithmica, Vol. 20 (1998), 151--174.
[13]
Barry Fagin and Dino Schweitzer. 2012. MyTuringTable: a teaching tool to accompany Turing's original paper on computability. In Proceedings of the 17th ACM annual conference on Innovation and technology in computer science education. 333--338.
[14]
Cor A. J. Hurkens and Alexander Schrijver. 1989. On the size of systems of sets every t of which have an SDR, with an application to the worst-case ratio of heuristics for packing problems. SIAM Journal on Discrete Mathematics, Vol. 2, 1 (1989), 68--72.
[15]
Seungyon Kim and Seongbin Park. 2013. Teaching NP completeness in secondary schools. In Informatics in Schools: Local Proceedings of the 6th International Conference ISSEP 2013--Selected Papers. 35.
[16]
Donald E Knuth. 2000. Dancing links. arXiv preprint cs/0011047 (2000).
[17]
Michael Luu, Matthew Ferland, Varun Nagaraj Rao, Arushi Arora, Randy Huynh, Frederick Reiber, Jennifer Wong-Ma, and Michael Shindler. 2023. What is an algorithms course? Survey results of introductory undergraduate algorithms courses in the US. In Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1. 284--290.
[18]
Nabanita Maji. 2015. An interactive tutorial for NP-completeness. Ph.,D. Dissertation. Virginia Tech.
[19]
Kaden Marchetti. 2023. Redux: An Interactive, Dynamic Tool for Learning NP-Completeness and Mapping Reductions. Ph.,D. Dissertation. Idaho State University.
[20]
Georgiana Mihaela NiÈ et al. 2017. FASharpSim: A Software Simulator for Deterministic and Nondeterministic Finite Automata. Journal of Electrical Engineering, Electronics, Control and Computer Science, Vol. 2, 2 (2017), 13--20.
[21]
Joint Task Force on Computing Curricula. 2023. ACM Computer Science Curricula 2023. Technical Report. Association for Computing Machinery. https://www.acm.org/binaries/content/assets/education/cs2023-final-report.pdf
[22]
Susan H Rodger and Thomas W Finley. 2006. JFLAP: an interactive formal languages and automata package. Jones & Bartlett Learning.
[23]
Susan H Rodger, Eric Wiebe, Kyung Min Lee, Chris Morgan, Kareem Omar, and Jonathan Su. 2009. Increasing engagement in automata theory with JFLAP. In Proceedings of the 40th ACM technical symposium on Computer science education. 403--407.
[24]
Tuhina Singh, Simra Afreen, Pinaki Chakraborty, Rashmi Raj, Savita Yadav, and Dipika Jain. 2019. Automata Simulator: A mobile app to teach theory of computation. Computer Applications in Engineering Education, Vol. 27, 5 (2019), 1064--1072.
[25]
Michael Sipser. 1996. Introduction to the Theory of Computation. ACM Sigact News, Vol. 27, 1 (1996), 27--29.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ITiCSE 2024: Proceedings of the 2024 on Innovation and Technology in Computer Science Education V. 1
July 2024
776 pages
ISBN:9798400706004
DOI:10.1145/3649217
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 03 July 2024

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. computational theory
  2. computer science education

Qualifiers

  • Research-article

Funding Sources

  • State of Idaho appropriated funding for the Center for Advanced Energy Studies (CAES)

Conference

ITiCSE 2024
Sponsor:

Acceptance Rates

Overall Acceptance Rate 552 of 1,613 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 36
    Total Downloads
  • Downloads (Last 12 months)36
  • Downloads (Last 6 weeks)9
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media