Export Citations
Save this search
Please login to be able to save your searches and receive alerts for new content matching your search criteria.
- research-articleJuly 2009
Engaging students in specification and reasoning: "hands-on" experimentation and evaluation
- Murali Sitaraman,
- Jason O. Hallstrom,
- Jarred White,
- Svetlana Drachova-Strang,
- Heather K. Harton,
- Dana Leonard,
- Joan Krone,
- Rich Pak
ACM SIGCSE Bulletin (SIGCSE), Volume 41, Issue 3Pages 50–54https://doi.org/10.1145/1595496.1562899We introduce a "hands-on" experimentation approach for teaching mathematical specification and reasoning principles in a software engineering course. The approach is made possible by computer-aided analysis and reasoning tools that help achieve three ...
Also Published in:
ITiCSE '09: Proceedings of the 14th annual ACM SIGCSE conference on Innovation and technology in computer science education: ISBN 9781605583815 - research-articleJune 2009
Formal methods for future interoperability
ACM SIGCSE Bulletin (SIGCSE), Volume 41, Issue 2Pages 60–64https://doi.org/10.1145/1595453.1595463Interoperability is a key challenge in software engineering, whether expressed in terms of the compatibility of different systems and protocols, in terms of compliance to industry standards, or--increasingly--in terms of the ability to share and re-use ...
- research-articleJune 2009
Model checking education for software engineers in Japan
ACM SIGCSE Bulletin (SIGCSE), Volume 41, Issue 2Pages 45–50https://doi.org/10.1145/1595453.1595461This paper is the preliminary report of a joint research project on developing a body of knowledge on model checking. The project is being carried out by four organizations that give model checking courses to software engineers in Japan. The paper ...
- research-articleJune 2009
Evolution of a course on model checking for practical applications
ACM SIGCSE Bulletin (SIGCSE), Volume 41, Issue 2Pages 38–44https://doi.org/10.1145/1595453.1595460Although model checking is expected as a practical formal verification approach for its automatic nature, it still suffers from difficulties in writing the formal descriptions to be verified and applying model checking tools to them effectively. The ...
- research-articleJune 2009
Teaching and practicing computer science at the university level
ACM SIGCSE Bulletin (SIGCSE), Volume 41, Issue 2Pages 24–30https://doi.org/10.1145/1595453.1595458Universities offering Computing Science curricula should do so at the university level. Taking pragmatic shortcuts causes stagnation in professional practice. The essential element is the pervasive presence throughout the curriculum of mathematical ...
-
- research-articleJune 2009
Teaching formal methods in the context of software engineering
ACM SIGCSE Bulletin (SIGCSE), Volume 41, Issue 2Pages 17–23https://doi.org/10.1145/1595453.1595457Formal methods were developed to provide systematic and rigorous techniques for software development, and they must be taught in the context of software engineering. In this paper, we discuss the importance of such a teaching paradigm and describe ...
- review-articleNovember 2008
Functional testing for students: a practical approach
ACM SIGCSE Bulletin (SIGCSE), Volume 40, Issue 4Pages 58–62https://doi.org/10.1145/1473195.1473221Testing is an integral part of software engineering. When teaching this discipline, educators choose testing approaches to be implemented in their classes. But many of these approaches, no matter how well devised or comprehensive, fall short of being ...
- columnNovember 2008
Math counts: software correctness and a SIGCSE 2008 BoF
ACM SIGCSE Bulletin (SIGCSE), Volume 40, Issue 4Pages 27–28https://doi.org/10.1145/1473195.1473211Interesting how the term "software correctness" keeps popping up in this column. What is correct software, and can it be achieved -- if so how? The Math CountS columns strive to provide some insights into answering the latter question. One example I ...
- articleJune 2006
A tool for helping teach a programming method
ACM SIGCSE Bulletin (SIGCSE), Volume 38, Issue 3Pages 212–216https://doi.org/10.1145/1140123.1140181We present and discuss a tool that checks the correctness of simple programs constructed according to the structured programming method. The tool is intended to provide interesting feedback to students learning the programming method: it detects ...
Also Published in:
ITICSE '06: Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education: ISBN 1595930558 - articleMarch 2004
The 2003 model curriculum for a liberal arts degree in computer science: preliminary report
ACM SIGCSE Bulletin (SIGCSE), Volume 36, Issue 1Pages 282–283https://doi.org/10.1145/1028174.971400Also Published in:
SIGCSE '04: Proceedings of the 35th SIGCSE technical symposium on Computer science education: ISBN 1581137982 - articleJune 2003
Studying program correctness by constructing contracts
ACM SIGCSE Bulletin (SIGCSE), Volume 35, Issue 3Pages 129–133https://doi.org/10.1145/961290.961548Because the concept of program correctness is generally taught as an activity independent of the programming process, most introductory computer science (CS) students perceive it as unnecessary and even irrelevant. The concept of contracts, on the other ...
Also Published in:
ITiCSE '03: Proceedings of the 8th annual conference on Innovation and technology in computer science education: ISBN 1581136722 - articleJune 2002
Specific proposals for the use of petri nets in a concurrent programming course
ACM SIGCSE Bulletin (SIGCSE), Volume 34, Issue 3Pages 165–167https://doi.org/10.1145/637610.544463Concurrency is a difficult subject to teach and learn. This paper presents a set of recipes for the use of Petri nets as a teaching aid of some fundamental concurrency concepts, in the context of an introductory concurrent programming course. Classroom ...
Also Published in:
ITiCSE '02: Proceedings of the 7th annual conference on Innovation and technology in computer science education: ISBN 1581134991 - articleFebruary 2001
Integrating testing into the curriculum — arsenic in small doses
ACM SIGCSE Bulletin (SIGCSE), Volume 33, Issue 1Pages 337–341https://doi.org/10.1145/366413.364617Testing accounts for 50% of the cost of software, yet it receives little treatment in most curricula. This paper presents some approaches to giving all students multiple, incremental exposures to software testing throughout the curriculum. A unifying ...
Also Published in:
SIGCSE '01: Proceedings of the thirty-second SIGCSE technical symposium on Computer Science Education: ISBN 1581133294 - articleSeptember 1996
Structure exits, not loops
ACM SIGCSE Bulletin (SIGCSE), Volume 28, Issue 3Page 51https://doi.org/10.1145/234867.234878Until recently, Pascal was the first programming language taught to students. As more schools choose Ada or C++ as a first language, the debate on structured programming has been reopened ([Rob95]). We are no longer restricted to the while-statement: ...
- articleJune 1996
Automatic submission and administration of programming assignments
ACM SIGCSE Bulletin (SIGCSE), Volume 28, Issue 2Pages 40–42https://doi.org/10.1145/228296.228303This paper details a system to assist with the evaluation and administration of student assignments. In order to help with the evaluation of program execution, the system automatically compiles and executes the program while logging a copy of the ...
- articleMarch 1995
Rigorous proofs of program correctness without formal logic
ACM SIGCSE Bulletin (SIGCSE), Volume 27, Issue 1Pages 307–311https://doi.org/10.1145/199691.199834Three fundamental principles of static reasoning used to write imperative program code with built-in proof of its correctness are presented and explained in operational terms. It is argued that, although the traditional use of formal logic in the Hoare-...
Also Published in:
SIGCSE '95: Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education: ISBN 089791693X - articleMarch 1995
Loop invariants and mathematical games
ACM SIGCSE Bulletin (SIGCSE), Volume 27, Issue 1Pages 263–267https://doi.org/10.1145/199691.199812The concept of combining loop invariants with algorithm analysis and design is a significant programming tool. However, teaching this concept is not easy. One way of motivating and supporting the introduction of such a concept, is by illustrating it ...
Also Published in:
SIGCSE '95: Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education: ISBN 089791693X - articleMarch 1995
CAP: an automated self-assessment tool to check Pascal programs for syntax, logic and style errors
ACM SIGCSE Bulletin (SIGCSE), Volume 27, Issue 1Pages 168–172https://doi.org/10.1145/199691.199769Student programmers have difficulty finding and fixing syntax, logic and style errors in their programs. The Code Analyzer for Pascal (CAP) analyzes programs that use a subset of the Pascal language and provides user-friendly feedback on the errors that ...
Also Published in:
SIGCSE '95: Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education: ISBN 089791693X - articleMarch 1991
A framework for program verification in the context of linked structures and pointer variables
ACM SIGCSE Bulletin (SIGCSE), Volume 23, Issue 1Pages 119–123https://doi.org/10.1145/107005.107027Also Published in:
SIGCSE '91: Proceedings of the twenty-second SIGCSE technical symposium on Computer science education: ISBN 0897913779 - articleFebruary 1990
Program verification (tutorial session): techniques and uses
ACM SIGCSE Bulletin (SIGCSE), Volume 22, Issue 1Page 254https://doi.org/10.1145/319059.323414Also Published in:
SIGCSE '90: Proceedings of the twenty-first SIGCSE technical symposium on Computer science education: ISBN 0897913469