1 PSP in CS1: not so wise after all Briana Morrison Southern Polytechnic State University Marietta, GA.

Slides:



Advertisements
Similar presentations
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
Advertisements

Software Engineering Lab Session Session 4 – Feedback on Assignment 1 © Jorge Aranda, 2005.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 7.
CS 3500 SE - 1 Software Engineering: It’s Much More Than Programming! Sources: “Software Engineering: A Practitioner’s Approach - Fourth Edition” Pressman,
The Software Process Strategy The Software Process Strategy Part III.
CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Assignment 1 CMSC 714 September 11, Data Collection For this assignment, you will be asked to provide the following: –Effort spent on various.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Programming Fundamentals (750113) Ch1. Problem Solving
12 Steps to Useful Software Metrics
Personal Software Process Overview CIS 376 Bruce R. Maxim UM-Dearborn.
Your Interactive Guide to the Digital World Discovering Computers 2012.
1 L07SoftwareDevelopmentMethod.pptCMSC 104, Version 8/06 Software Development Method Topics l Software Development Life Cycle Reading l Section 1.4 – 1.5.
Invitation to Computer Science 5th Edition
Course Introduction CS 2302 SPRING Course Introduction In this part we'll discuss course mechanics. Most of this will apply to all sections of the.
Unit B065 – Coding a solution PREP WORK 1)Make sure you keep a work log / diary. Use the table on page 16 of the hand book as a template 2)Keep a bibliography.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 8.
Lecture No.01 Data Structures Dr. Sohail Aslam
INFO 637Lecture #41 Software Engineering Process II Development Plan INFO 637 Glenn Booker.
How to Learn in This Course CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.1 © Mitchell Wand, This work is licensed under a Creative Commons.
Prof. Matthew Hertz SH 1029F /
Computer Programming TCP1224 Chapter 2 Beginning the Problem-Solving Process.
CS 350, slide set 6 M. Overstreet Old Dominion University Spring 2005.
Prof. Matthew Hertz WTC 207D /
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 6 – Estimating Resources and Schedule 1INFO636 Week 6.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Common Activities Activities and Tasks in the WBS.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Question of the Day  On a game show you’re given the choice of three doors: Behind one door is a car; behind the others, goats. After you pick a door,
Lecture 4 Software Metrics
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
Team Software Process (TSPi) CS4320 Fall TSP Strategy Provide a simple process framework based on the PSP. Use modest, well-defined problems. Develop.
CS 350, slide set 5 M. Overstreet Old Dominion University Spring 2005.
CMSC 1041 Algorithms II Software Development Life-Cycle.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
1 PSP4a Introduction to the Personal Software Process Watts Humphrey Addison Wesley Longman c1997.
1 PSP4a Introduction to the Personal Software Process Watts Humphrey Addison Wesley Longman c1997.
How to Learn in This Course CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.1 © Mitchell Wand, This work is licensed under a Creative Commons.
Program Development Cycle Modern software developers base many of their techniques on traditional approaches to mathematical problem solving. One such.
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #2 Software Engineering.
Chapter 3: Software Project Management Metrics
Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Mistakes, Errors and Defects. 12/7/2015Mistakes, Errors, Defects, Copyright M. Smith, ECE, University of Calgary, Canada 2 Basic Concepts  You are building.
Introduction to Methods Shirley Moore CS 1401 Spring 2013 cs1401spring2013.pbworks.com April 1, 2013.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
MARCH 1 Project Management Problem statement l no hurdles, no problem just a goal l open-ended … no single correct answer l closed-ended … single answer.
Lecture 1CS 380C 1 CS 380C Advanced Compiler Techniques Kathryn S McKinley The University of Texas at Austin.
CSC 480 Software Engineering PSP Project 1 August 20, 2004.
CSC 205 Programming II Lecture 1 PSP. The Importance of High-Quality Work Three aspects to doing an effective software engineering job producing quality.
1 Structured Programming Arab Academy for Science and Technology CC112 Dr. Sherif Mohamed Tawfik The Course.
MANAGEMENT INFORMATION SYSTEM
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Key Ideas from day 1 slides
Software Engineering Lab Session
CS1010: Programming Methodology Preparing for Practical Exam (PE)
9/18/2018 Department of Software Engineering and IT Engineering
A possible solution: Personal Software Process (PSP)
Janet has used PSP for the last 6 months
Introduction to Computer Programming
Presentation and project
Mistakes, Errors and Defects
Presentation and project
Software Engineering Lab Session
Presentation transcript:

1 PSP in CS1: not so wise after all Briana Morrison Southern Polytechnic State University Marietta, GA

2 The Experiment Timeframe: late 1990s Personal Software Process Improve time estimates Improve software quality Improve programmer productivity Introduce simplified version in CS1 Collect data in closed labs Students work in pairs

3 Nitty Gritty Details 2 hour closed lab Students read pre-lab problem statement and attempt design Entire class discusses problem solution Students work in pairs to implement solution Students given second (related) problem to solve and implement solution

4 Nitty Gritty continued… On 4 th (out of 11) labs, students asked to collect PSP data PSP had been introduced during lecture (along with software lifecycle) One student should record times and errors, 2 nd student works on solution To validate data, question given on final to assess their ability to record data correctly

5 Student(s): ________________________________Date: __________________ Class: _______________ Section: ______________Program/Lab: #__________ Phase Start Time Stop Time MinutesComments Time Log Summary: PhaseMinutesPercentActivities 1 PlanningReading & reviewing pgm spec’s, book, and notes 2 DesignCreating a design model and algorithm 3 CodingWriting code 4 ReviewReviewing design and coding 5 CompileFixing compile errors to 1 st clean compile only 6 TestFixing run-time errors & recompile errors 7 Wrap-upCompleting log & preparing package to hand in Total100% Time Log:

6 NumberPhaseDescriptionFixed (Y/N) Record Defects Here

7 Defect Summary: Phase NumberPercentActivities 3 CodingWriting code 4 ReviewReviewing design and coding 5 CompileFixing compile errors to 1 st clean compile only 6 TestFixing run-time errors & recompile errors Total100% LOC Summary: Lines of Code (LOC) Base (B)Beginning (Reused) Code Deleted (D)Lines Deleted Modified (M)Lines Changed Added (A)New Lines Added Total(B - D + A) New LOC(A + M) LOC / Hour(NewLOC / (Total minutes / 60))

8 Anticipated Results Students could calculate productivity and given approximate size of “open” assignments, determine amount of time to allocate for assignment Students could see where they spent their time (design, compile, debugging, etc.) and plan accordingly

9 What Really Happened Students didn’t record design data from pre- lab Data inaccurate: Pair programming – no one recording Scribe so busy problem never solved Didn’t reduce number of late assignments

10 act Actual Time by Phase LOCtimeplandesigncodereviewcomptestpost min max avg std dev Lab 9 Data

11 Defects RemovedtotalDefLOC designcodereviewcomptestDefKLOChour Min Max Avg Std dev

12 Actual Data Actual time: 0 – 335 minutes Actual LOC: 1 – 85 Errors found during design: 0 – 5 Errors found during coding: 0 – 11 Errors found during compile: 0 – 10 Errors found during testing: 0 – 5 Less than 50% got full credit on final exam question

13 Lessons Learned Experiment design flawed Should have done pilot first (mid-semester adjustment to data collection) Determine validity of data at the beginning Provide automation where possible No “buy-in” from students to benefits

14 More Lessons Learned Use caution when asking students to learn more than one task at a time (programming, recording errors) Industry techniques and tools don’t always translate into academia