Learn More
Support for test-driven development [TDD] is growing in many development contexts beyond its common association with extreme programming. By focusing on how TDD influences design characteristics, we hope to raise awareness of TDD as a design approach and assist others in decisions on whether and how to adopt TDD. Our results indicate that test-first(More)
Many academic and industry professionals have called for more testing in computer science curricula. Test-driven development (TDD) has been proposed as a solution to improve testing in academia. This paper demonstrates how TDD can be integrated into existing course materials without reducing topic coverage. Two controlled experiments were conducted in a(More)
Test-Driven Development (TDD) is an agile development process wherein automated tests are created before production code is designed or constructed in short, rapid iterations. This paper discusses an experiment conducted with undergraduate students in a year-long software engineering capstone course. In this course the students designed, implemented,(More)
Many computer science programs suffer from low student retention rates. At Cal Poly San Luis Obispo, academic performance and retention rates among first-year computer science students are among the lowest on campus. In order to remedy this, we have developed a new CS0 course featuring different "tracks" that students can choose from (e.g. robotics,(More)
Key among the Grand Challenges in Traceability are those that lead to achieving traceability as a by-product of the natural software development life cycle. This position paper profiles test-driven development (TDD), an emerging software development practice, in which automated tests and code satisfying them are developed in rapid succession over multiple(More)
Although Object Orientation is emphasized in software engineering education, few have attempted to alleviate the initial learning curve associated with an inexperienced audience in non-computer science disciplines. The authors propose a Problem-Based Learning curriculum centered on game development to deliver basic Object-Oriented programming concepts in an(More)
WebIDE is a new web-based development environment for entry-level programmers with two primary goals: minimize tool barriers to writing computer programs and introduce software engineering best practices early in a student's educational career. Currently, WebIDE focuses on Test-Driven Learning (TDL) by using small iterative examples and introducing(More)
With increasing interest in evidence-based software engineering (EBSE), software engineering faculty face the challenge of educating future researchers and industry practitioners regarding the generation and use of EBSE results. We propose development and population of a community-driven Web database containing summaries of EBSE studies. We present(More)