Algorithmics: theory & practice
Algorithmics: theory & practice
Algorithms
Noise strategies for improving local search
AAAI '94 Proceedings of the twelfth national conference on Artificial intelligence (vol. 1)
Randomized algorithms
Experimental results on the crossover point in random 3-SAT
Artificial Intelligence - Special volume on frontiers in problem solving: phase transitions and complexity
A CS1 maze lab, using joysticks and MIPPETs
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
Do we teach the right algorithm design techniques?
SIGCSE '99 The proceedings of the thirtieth SIGCSE technical symposium on Computer science education
Using real-world objects to motivate OOP in a CS1 lab
CCSC '00 Proceedings of the fifth annual CCSC northeastern conference on The journal of computing in small colleges
A machine program for theorem-proving
Communications of the ACM
Finding motifs using random projections
RECOMB '01 Proceedings of the fifth annual international conference on Computational biology
Chaff: engineering an efficient SAT solver
Proceedings of the 38th annual Design Automation Conference
Introduction to Algorithms: A Creative Approach
Introduction to Algorithms: A Creative Approach
Computer Algorithms: C++
Modern Cryptography, Probabilistic Proofs, and Pseudorandomness
Modern Cryptography, Probabilistic Proofs, and Pseudorandomness
Computer Algorithms: Introduction to Design and Analysis
Computer Algorithms: Introduction to Design and Analysis
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
Introduction to Algorithms
Efficient conflict driven learning in a boolean satisfiability solver
Proceedings of the 2001 IEEE/ACM international conference on Computer-aided design
Propositional Satisfiability in Answer-Set Programming
KI '01 Proceedings of the Joint German/Austrian Conference on AI: Advances in Artificial Intelligence
The complexity of theorem-proving procedures
STOC '71 Proceedings of the third annual ACM symposium on Theory of computing
BerkMin: A Fast and Robust Sat-Solver
Proceedings of the conference on Design, automation and test in Europe
Algorithm Design: Foundations, Analysis and Internet Examples
Algorithm Design: Foundations, Analysis and Internet Examples
Using CSP look-back techniques to solve real-world SAT instances
AAAI'97/IAAI'97 Proceedings of the fourteenth national conference on artificial intelligence and ninth conference on Innovative applications of artificial intelligence
From theory to practice: NP-completeness for every CS student
Proceedings of the 18th ACM conference on Innovation and technology in computer science education
Hi-index | 0.00 |
It is widely recognized that there are some aspects of intractability and computational complexity that every CS professional should understand and be able to apply. NP-completeness is one of these fundamental concepts. This paper describes a novel project-based curriculum for teaching NP-completeness, classic algorithm design techniques, and techniques for solving intractable problems. The proposed set of projects aims to help all Computer Science undergraduate students learn more about basic computability and NP-completeness, apply the scientific method, apply classic algorithm design techniques, implement algorithms for intractable problems using more advanced techniques, gain exposure to state of the art research, implement sophisticated algorithms and data structures, and apply algorithm design techniques that they have understood to a new domain. The curriculum also seeks to motivate a few undergraduates to pursue research. The set of projects is based on the well-known, NP-complete 3-Satisfiability problem (3SAT). We have used these projects in three offerings of our undergraduate Algorithm Design and Analysis course, while continuing to address the traditional course content. The informal assessment conducted during these course offerings indicates that typical undergraduate students achieve the targeted learning outcomes after completing the proposed curriculum.