ISERN-Meeting, Honolulu, Hawaii 09 October 2000 Slide 0 Using Experiments to Teach Software Engineering Using Experiments to Teach Software Engineering.

Slides:



Advertisements
Similar presentations
1 Copyright © 2010 AQA and its licensors. All rights reserved. Introduction to the new specification GCSE Computer Science Paul Varey.
Advertisements

Learning and Teaching Conference 2012 Skill integration for students through in-class feedback and continuous assessment. Konstantinos Dimopoulos City.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
The Experience Factory May 2004 Leonardo Vaccaro.
Instructional Plan and Presentation Bernard Q Mallada CUR/516 Dr
University of Southern California Center for Software Engineering CSE USC 12/6/01©USC-CSE CeBASE: Opportunities to Collaborate Barry Boehm, USC-CSE Annual.
Integrating the ECE Service Course with the ME Curriculum Richard A. Layton Dept of Mechanical Engineering Rose-Hulman Institute of Technology 29 February.
RIT Software Engineering
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
SE 450 Software Processes & Product Metrics 1 Defect Removal.
Karlstad University Computer Science Design Contracts and Error Management Design Contracts and Errors A Software Development Strategy (anpassad för PUMA)
Fundamentals of Information Systems, Second Edition
CSE USC Fraunhofer USA Center for Experimental Software Engineering, Maryland February Empiricism in Software Engineering Empiricism:
Object-Oriented Enterprise Application Development Course Introduction.
Copyright © 2014 ASTQB Presented by Rex Black, CTAL Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further.
Design Reviews Peer Reviews. Agenda Peer Reviews Participants of Peer Review Preparation for a Peer Review Session The Peer Review Session Post-peer Review.
Experiences in Finland on self- evaluation of Local Action Groups Seminar on Monitoring and Evaluation of the LEADER Approach Brussels, 25 September 2005.
Evaluation and analysis of the application of interactive digital resources in a blended-learning methodology for a computer networks subject F.A. Candelas,
Local Evaluation Overview and Preliminary Findings Diane Schilder, EdD.
(1) Project LEAP: A “Personal Information Environment” for Software Engineers Philip Johnson Cam Moore Collaborative Software Development Laboratory University.
Foundations of Educating Healthcare Providers
What should teachers do in order to maximize learning outcomes for their students?
Symposium 2001June 24, 2001 Curriculum Is Just the Beginning Chris Stephenson University of Waterloo.
Institut Experimentelles Software Engineering Fraunhofe r IESE Andreas Birk Ulrike Becker-Kornstaedt Sauerwiesen 6 D Kaiserslautern Germany Experience.
Institut Experimentelles Software Engineering Fraunhofer IESE Klaus Schmid Relating Product Line Adoption Mode and Transition Process.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
October 3, 2013 Parent Meeting STEM MAGNET LAB School Standards Based Grading.
ISERN Open Issues, Grand Challenges or Have we made any progress and where are going? Vic Basili 2001.
Distributed Agile: Ten Guiding Principles Student: Yu Chang 張鈺 Raja Bavani, Chief Architect, Mindtree 28Dec Department of Computer Science and Information.
Standards For Teacher Preparation. What do you see in the previous slide? Students who are ready to answer the question? Students who are listening and.
 CS 5380 Software Engineering. Course Description  This course will survey software engineering methods and processes, including requirements, architecture,
Career Opportunities in Information Technology There are four main categories of IT jobs, grouped by the main focus of the job: Sales and support Software.
Lessons Learned from Empirical IESE Dieter Rombach ISERN WS 2005 Noosa Heads, 14 November 2005.
Hello World! CSE442. Course Summary A semester long group project – You will develop software from idea to implementation You have full freedom to choose.
What Do We Know about Defect Detection Methods P. Runeson et al.; "What Do We Know about Defect Detection Methods?", IEEE Software, May/June Page(s):
Process Improvement. Improving the Test Process In the Software V&V course, Prof. Uwe asked the question: How to improve the Testing Process?
Institut Experimentelles Software Engineering Fraunhofe r IESE Sauerwiesen 6 D Kaiserslautern Germany The Architecture-centric Inspection Approach.
Incorporating Self Regulated Learning Techniques into Learning by Teaching Environments Biswas, G., Leelawong, K. and Belynne, K. The twenty sixth Annual.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
Enabling Reuse-Based Software Development of Large-Scale Systems IEEE Transactions on Software Engineering, Volume 31, Issue 6, June 2005 Richard W. Selby,
ISERN Survey & Benchmark 10 th anniversary meta-experiment project Session Chair, Stefan Biffl Marcus Ciolkowski, Forrest Shull, and Dieter Rombach 1.Strategy.
Fundamentals of Information Systems, Second Edition 1 Systems Development.
ANKITHA CHOWDARY GARAPATI
Classsourcing: Crowd-Based Validation of Question-Answer Learning Objects Jakub Šimko, Marián Šimko, Mária Bieliková, Jakub Ševcech, Roman Burger
SPRAE A Framework for Teaching Software Testing Edward L. Jones Florida A&M University.
COMP 6620 User Interface Design and Evaluation. Course Introduction Welcome to COMP 6620 Welcome to COMP 6620 Syllabus Syllabus Introduction Introduction.
The Sutton Trust, a foundation set up in 1997 to improve social mobility through education. This report reviews over 200 research papers on developing.
Teaching slides Chapter 1. Chapter 1: Introduction Introduction Components of a computer Building the software products What is software engineering?
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
21 st Century Learning and Instruction Session 2: Balanced Assessment.
Contents 1 Session Goals 1 Session Goals 3 Design Levels 3 Design Levels 2 Design Goals 2 Design Goals 4 Known Issues 4 Known Issues 5 Picking a Specific.
Consistency and Convenience: Use of Canvas in Help Desk Staff Training Jessica Morger Help Desk Supervisor.
Rick Selby Software Products, Northrop Grumman & Adjunct Faculty, University of Southern California Los Angeles, CA Candidate member Main empirical research.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
The Systems Engineering Context
Object oriented system development life cycle
Software Quality Engineering
CSE 331 Software Design & Implementation
For University Use Only
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Project Closure And Termination
Presentation transcript:

ISERN-Meeting, Honolulu, Hawaii 09 October 2000 Slide 0 Using Experiments to Teach Software Engineering Using Experiments to Teach Software Engineering Dieter Rombach Fraunhofer Institute for Experimental Software Engineering (IESE) Kaiserslautern, Germany ( University of Kaiserslautern Dept. of Computer Science Software Engineering Group Kaiserslautern, Germany wwwagse.informatik.uni-kl.de (wwwagse.informatik.uni-kl.de)

ISERN-Meeting, Honolulu, Hawaii 09 October 2000 Slide 1 Contents Challenges (teaching software engineering) Idea(s) Software Engineering Course Design Example Experiments Benefits Lessons Learned

ISERN-Meeting, Honolulu, Hawaii 09 October 2000 Slide 2 Challenges (teaching software engineering) Software development is an engineering activity; benefits of engineering principles need to be experienced actively! Most students in the past did not see relevance of engineering principles to their practical work; after course exam they went back to development business as usual! Students with prior work experience appreciated software engineering principles better

ISERN-Meeting, Honolulu, Hawaii 09 October 2000 Slide 3 Idea(s) Include empirical studies in regular software engineering courses (since 1997) - partial replications of research exp’s! Focus on basic principles such as – information hiding (to improve modifiability) – tractable documentation (to improve modifiability) – reading of programs (to improve effectiveness of defect finding as compared to testing) – reading of hl documents (to improve early defect detection) perform empirical (self experience) studies after initial teaching of techniques/methods - max. 3 x 3h sessions per exp! self-evaluate data and derive ‘good practice’ guidelines

ISERN-Meeting, Honolulu, Hawaii 09 October 2000 Slide 4 Software Engineering Course Design Two software engineering courses – Course SE 1: Systematic software development (& project) – Course SE 2: Software project planning & management (&..) SE 1 – overview – foundations of se – project planning & management – software application development – software system development – software component development – software maintenance & evolution Experiment 1 Experiment 2 Experiment 3

ISERN-Meeting, Honolulu, Hawaii 09 October 2000 Slide 5 Example Experiments Experiment-1: Effectiveness/Efficiency of different requirements reading techniques – goal: to understand that defects can be detected effectively/efficiently, even in informal requirements documents – techniques: ad-hoc, check-lists, pbr – design: each student applies ad-hoc & (check-list or pbr) on 2 different requirements documents (from building automation domain) - about 50 pages each – data collected: number/type of defects found, effort spent – results: more (at least equal # of) defects found (effectiveness increases; efficiency increases) - cap of 3h???

ISERN-Meeting, Honolulu, Hawaii 09 October 2000 Slide 6 Example Experiments Experiment-2: Understandability/Modifiability of differently structured/documented OO-Systems (guidelines!) – goal: to understand the impact of ‘good’ documentation and structuring guidelines on understandability/modification – techniques: vertically/horizontally consistent documentation vs … & high degree of information hiding/low coupling/… vs... – design: half the students use ‘good’, half ‘bad’ system (= requirements, design, code)  step 1: answer questions about system  step 2: perform changes – data collected: # correctly answered questions; # correctly made changes; effort involved – results: more questions answered/changes made correctly (better understandability/modifiability, efficiency?)

ISERN-Meeting, Honolulu, Hawaii 09 October 2000 Slide 7 Example Experiments Experiment-3: Effectiveness/efficiency of different code defect detection techniques – goal: to understand that defects can be found more effectively/efficiently via code reading than testing – techniques: PBR code reading versus structural/functional testing – design: fractional factorial design (see: Selby); each student uses PBR and one testing technique – data collected: number/types of defects found, effort spent – results: more (at least equal # of) defects found (code reading is always more (or at least as) ‘effective’ than (as) other techniques; same is true for ‘efficiency’)

ISERN-Meeting, Honolulu, Hawaii 09 October 2000 Slide 8 Benefits Students UNDERSTAND software engineering principles (‘they derived them themselves!’) Students (in their majority) own principles and continue to apply them naturally Industry appreciates knowledge about key se principles Students appreciate empirical studies as a means of learning Students live ‘empirically-based’ improvement in subsequent project courses (Optimization of PBR across courses leads to high defect detection effectiveness - >80%) It is fun for the teacher (No more ‘trust me, this is important’)

ISERN-Meeting, Honolulu, Hawaii 09 October 2000 Slide 9 Lessons Learned Participation should be voluntary (typically > 80%, i.e graduate students) Certificate of participation appreciated by students (& industry) Students expect experiments (!) Personal data must be owned by individuals Interpretation should be done (on aggregate level) in class feedback sessions (later complemented by other experimental results!) Materials should be packaged in reusable form (lab packages require lots of effort!) Learning effect must over-write research interests (or we pay!) Participation in publication of results could be offered ISERN could host database of pre-packaged experiments