Dawn McKinney, Julie Froeseth, Jason Robertson, Leo F

Slides:



Advertisements
Similar presentations
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Advertisements

ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
NAUG NAUG Knowledge Evening – th February 2007.
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
NAME, Sheffield 2002 Ivan Moore Connextra, London
Production Programming in the Classroom Eric Allen, Robert Cartwright, and Charles Reis Rice University {eallen, cork,
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
COMP4710 Senior Design Software Development Process.
Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.
Transitioning to XP or The Fanciful Opinions of Don Wells.
SE-2800 Dr. Mark L. Hornick 1 SE-2800 Software Engineering Process Dr. Mark L. Hornick web: faculty-web.msoe.edu/hornick SE2800.
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
Software Engineering Modern Approaches
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **
Diverse Use of Surveys Contribute to Understanding Students and Improving Courses Leo F. Denton and Dawn McKinney
Course Introduction Software Engineering
Presenter: 陳秋玉 1.  Extreme programming Extreme programming  On-site customer On-site customer  Benefit Benefit  Characteristics of a good customer.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
XP – Extreme Programming
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
DAVID STOTTS DEPT. OF COMPUTER SCIENCE UNIV. OF NORTH CAROLINA AT CHAPEL HILL Extreme Programming.
Using Alice in an introductory programming course for non-CS majors Adelaida A. Medlock Department of Computer Science Drexel University
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Agile Methods Presentation By: Jason Abbett. Definition A process to rapidly develop software Many kinds of agile methods but few are practiced.
SIGCSE 2004 School of Computer and Information Sciences Norfolk, VA University of South Alabama Houston, we have a problem: There’s a leak in the CS1 affective.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
Toward Maturity Model for eXtreme Programming Copyright, 2001 © J. Nawrocki, B. Walter, A.. Wojciechowski
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
CS223: Software Engineering
Agile Project Management and the yin & yang of
Keywords: Laboratories, Open-Ended Problems, Teamwork, Communication, Professional Development Students to Engineers: Scaffolding from Cookbook Labs to.
Employability Skills Foundation Standard 4: Employability Skills
Multiple Paths to Success
Appendix B Agile Methodologies
Planning User stories are written.
Initial Findings about Graduate Teaching Assistants’ Training Needs to Foster Active Learning in Statistics Kristen E. Roland and Jennifer J. Kaplan.
Alexander Kanavin Lappeenranta University of Technology
EXtreme Programming BY R.V.Ramesh MCA II Semester.
Extreme Programming.
Waterfall and Agile Quality Techniques
The School Mentor 9/19/2018.
Solanco High School STEP Academy
What do you need to know about XP?
Employability Skills Foundation Standard 4: Employability Skills
4.21 Apply employability skills in healthcare.
Dawn McKinney and Leo F. Denton
eXtreme Programming (XP) and eXtreme Modeling (XM)
Five-Year Undergraduate Enrollments
4.21 Apply employability skills in healthcare.
Andrew Begel, Nachiappan Nagappan Microsoft Research
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Chapter 3 – Agile Software Development
4.21 Apply employability skills in healthcare.
Extreme Programming Extreme programming is "a lightweight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly.
Chapter 3: Agile Software Processes
Coming up: What is Agile?
Refactoring.
The Heart of Student Success
Hybrid Courses a blueprint for success
Introduction to XP.
“We Go Together”: Discipline-Based Linked Course Learning Community Leads to Positive Developments for Students Dawn McKinney and Karen Peterson University.
Appendix B Agile Methodologies
Extreme Programming.
Agile software development
Information Literacy: What is it and Why Should I Care?
Extreme Programming (and Pair Programming)
Chapter 5: New and Emerging Process Methodologies
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

Agile CS1 Labs: eXtreme Programming Practices in an Introductory Programming Course Dawn McKinney, Julie Froeseth, Jason Robertson, Leo F. Denton, David Ensminger School of Computer and Information Sciences, University of South Alabama, Mobile, AL 36688 Our presentation is about our experience with XP practices in a freshman computer science foundation programming course. This course is the second semester of a 2-semester introductory problem-solving and programming course using Java. The paper published in the proceedings is about our Fall 2003 experience. We implemented some changes in the Spring and will talk about both Fall and Spring including what we learned and will plan to do differently this coming Fall. I’m Dawn McKinney, these are my two graduate students who have graduate research and teaching assistantships and had the responsibilities of acting as my lab assistants in the lab portion of this course. This is Julie Froseth and this is Jason Robertson. The other two authors are Leo Denton, a colleage of mine with whom I have written papers about affective objectives and David Ensminger, who has left our school for Chicago. David’s role was to assist with the qualitative assessment of our study.

University of South Alabama State university 13,000 students Computer and Information Sciences Not part of a college Three specializations 500 students Masters Program Computer Science Information Systems Information Technology XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

The Course Second semester of a 2-semester programming sequence Introductory Foundation for all three specializations Closed Lab Hands-on Integrated with lecture Taught by same instructor as lecture XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

Course Objectives Problem-solving Testing OOP GUI File I/O Dynamic data structures Communication Commitment Work-ethic Adaptability Honesty/integrity http://www.cis.usouthal.edu/~mckinney/McKinneySyl121Sp2004.htm XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

Why XP? Flexibility Promotes team skills Relevance Communication Cooperation Work-ethic Commitment Adaptability Relevance One of our authors, Leo Denton, was introduced to XP at OOPSLA. I then started reading one of the early books on XP and the two of us comentored a team of senior women, the Datababes, exposing them to some of the XP practices. Last summer, I then attended the XP conference in New Orleans where I became convinced that I would introduce XP to my Fall 2003 students. I was fortunate to get these two grad students for my assistants and they became interested in XP and agreed to coauthor a paper about the experience. Our focus was on team skills and using a real cutting edge methodology. XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

CS1 Agile Labs Weekly 75-minute closed lab Hands-on Laptop policy Synergy of teams in same room XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

Teams 7 +/- 2 members per team Same room Selected names Shared info Evaluated each member periodically Team spirit Jason, who along with Julie participated in both the Fall and Spring semesters and played the role of a project manager during the second semester experience, will now tell you some details about how these Agile labs were conducted. XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

Project Semester-long Same project all teams Same room Shared info between First semester – Nutrition Management Second semester – Survey Builder Customer driven XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

XP Practices Introduced Handouts Web sites Discussions Lectures XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

XP Practices Planning Game Small Releases Metaphor Simple Design Continuous Integration Sustainable Pace Coding Standards XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

XP Practices Planning Game Small Releases User Stories Estimated tasks on cards in minutes Small Releases 2-3 lab period schedule Demonstration after iteration cycle XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

XP Practices Metaphor Simple Design Instructor was the customer Constant communication Simple Design Small Stories Focus XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

XP Practices: Building Code Continuous Integration Team code stored on server Sustainable Pace No overtime Enthusiasm to continue working Too long of break between labs XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

XP Practices Coding Standards Taught in CS1 Uniform standards for each team’s code XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

XP Practices Pair programming Refactoring Collective code ownership On-site customer Stand-up meetings Testing XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

XP Practices Pair Programming Highly emphasized Task cards Estimates vs. actual times Non-matching pairs XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

XP Practices Refactoring Collective code ownership Pairs … Code on server Pair programming Testing Focus on testing and quality Highly valued in industry, often overlooked in classes Student resistance on testing first; tested after coding 2nd semester: JUnit Refactoring Some (rotating of pairs and collective code ownership) Not a focus: Time limitations Student inexperience; only try to get program working Pair programming Highly emphasized Task cards Driver/co-pilot Times Benefit: Estimates vs. actual times Disadvantage: one quiet/inexperienced, other good programmer Collective code ownership Code on server On-site customer Focus on customer Instructor = customer and project manager Benefit: customer always present Disadvantage: hard to play two roles 2nd semester: grad students project managers Stand-up meetings Very efficient Couldn’t access laptop Had to make contribution Everybody had to speak Beginning/end of class XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

XP Practices On-site Customer Customer presence emphasized Fall: Instructor = customer + project manager Spring: Instructor = customer Grad assistants = project manager XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

XP Practices Stand-up Meetings Beginning/end of class Each student had to speak Very efficient XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

XP Practices Testing Emphasized because is important Fall: test plan Spring: JUnit & test-driven development Some problems Tested after coding Didn’t realize value of JUnit Didn’t realize value of JUnit due to small programs XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

Assessment Quantitative Qualitative Affective objectives Cognitive objectives Qualitative Student comments Observations Affective objectives involve the promotion of professional practices, value, belonging, internalization of concepts, interest, perceived relevance…Intrinsic Motivation Inventory – validated instrument used to measure affect levels Leo Denton and I have done research on integrating affective objectives into our CIS curriculum and in that research we have measured the affective factors of interests, value, effort, perceived competence, lack of pressure, and belonging. We measured these affective levels using a validated instrument as a pretest and a posttest and also correlated these factors with course grade. We have found that the factors positively correlate with grades. Correlation does not necessarily mean causation. Our other papers that have details of these statistics are on my web page. For this study we wanted to also promote team skills and so we used XP practices to create a real world programming team environment and asked to students to evaluate each other on team skills such as communication, cooperation, work-ethic, commitment, and adaptability. We also asked for student comments and had observers (Leo Denton and David Ensminger) come on the last day of the lab to record their observations on these categories. XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

Quantitative Results: Affective Factors Correlated with Course Grade Student interest Belonging Value Perceived competence Lack of pressure Effort XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

Qualitative Data Student Comments Satisfaction + - Real world + - Team work + - Cooperation + - Professional skills + - Observations Communication + - Cooperation + - Adaptability + - Work-ethic + - Commitment + - We used both student comments and observation in order to collect qualitative data. XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

Reflections: Benefits Confidence building, “pair pressure” A sense of belonging Shared euphoria Working code Higher course relevance Self-regulated learning Cooperative learning A sense of satisfaction Promoted the development of professional skills XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

Reflections: Improvements Needed Instructor role of customer Lab assistants as project manager Student journals Stricter adherence to the iteration schedule Test-driven development needs to be automated XPAU 2004 Calgary, Canada School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

Julie Froeseth jf301@jaguar1.usouthal.edu Dawn McKinney dmckinney@usouthal.edu Julie Froeseth jf301@jaguar1.usouthal.edu Jason Robertson jrobertson@usouthal.edu http://www.cis.usouthal.edu/~mckinney/McKinneySyl121Sp2004.htm http://www.cis.usouthal.edu/~mckinney/XPAU2004Alabama.ppt