Learn More
TDD is first and foremost a design practice. The question is, how good are the resulting designs? Empirical studies help clarify the practice and answer this question. S oftware developers are known for adopting new technologies and practices on the basis of their novelty or anecdotal evidence of their promise. Who can blame them? With constant pressure to(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)
Although Object Orientation is emphasised in software engineering education, few have at­ tempted to alleviate the initial learning curve associated with an inexperienced audience in non-computer science disciplines. The authors propose a Problem-Based Learning curricu­ lum centered on game development to deliver basic Object-Oriented programming concepts(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)
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 engi­ neering 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)