ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Mechanized formal reasoning about programs and computing machines
Automated reasoning and its applications
QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Computer-Aided Reasoning: An Approach
Computer-Aided Reasoning: An Approach
DrScheme: A Pedagogic Programming Environment for Scheme
PLILP '97 Proceedings of the9th International Symposium on Programming Languages: Implementations, Logics, and Programs: Including a Special Trach on Declarative Programming Languages in Education
Software is discrete mathematics
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
DrScheme: a programming environment for Scheme
Journal of Functional Programming
Engineering software correctness
Proceedings of the 2005 workshop on Functional and declarative programming in education
ACL2 '06 Proceedings of the sixth international workshop on the ACL2 theorem prover and its applications
Electronic Notes in Theoretical Computer Science (ENTCS)
Engineering Software Correctness
Journal of Functional Programming
Crossing state lines: adapting object-oriented frameworks to functional reactive languages
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Embedding dynamic dataflow in a call-by-value language
ESOP'06 Proceedings of the 15th European conference on Programming Languages and Systems
Making induction manifest in modular ACL2
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
Computational logic in the undergraduate curriculum
Proceedings of the Eighth International Workshop on the ACL2 Theorem Prover and its Applications
Proceedings of the Eighth International Workshop on the ACL2 Theorem Prover and its Applications
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Teaching semantics with a proof assistant: no more LSD trip proofs
VMCAI'12 Proceedings of the 13th international conference on Verification, Model Checking, and Abstract Interpretation
Trends in Trends in Functional Programming 1999/2000 versus 2007/2008
Higher-Order and Symbolic Computation
Experience report: applying random testing to a base type environment
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
For the past five years, the University of Oklahoma has used the ACL2 theorem prover for a year-long sequence on software engineering. The goal of the course is to introduce students to functional programming with "Applicative Common Lisp" (ACL) and to expose them to defect recognition at all levels, including unit testing, randomized testing of conjectures, and formal theorem proving in "a Computational Logic" (ACL2). Following Page's example, Northeastern University has experimented with the introduction of ACL2 into the freshman curriculum for the past two years. Northeastern's goal is to supplement an introductory course on functional program design with a course on logic and theorem proving that integrates the topic with programming projects. This paper reports on our joint project's progress. On the technical side, the paper presents the Scheme-based integrated development environment, its run-time environment for functional GUI programming, and its support for different forms of testing. On the experience side, the paper summarizes the introduction of these tools into the courses, the reaction of industrial observers of Oklahoma's software engineering course, and the feedback from a first outreach workshop.