1 / 26

Agile CS1 Labs: eXtreme Programming Practices in an Introductory Programming Course

This course at University of South Alabama focuses on eXtreme Programming practices, providing a foundation for relevant skills in programming. The course, part of a 2-semester sequence, integrates hands-on labs with lectures, emphasizing problem-solving, testing, OOP, GUI, and more. With a focus on XP practices such as Planning Game, Pair Programming, Refactoring, and Testing, students learn to work in teams, communicate effectively, and deliver quality software. The course emphasizes adaptability, commitment, and work-ethic, preparing students for real-world challenges. For more details, visit the School of Computer and Information Sciences at the University of South Alabama website.

simpsonc
Download Presentation

Agile CS1 Labs: eXtreme Programming Practices in an Introductory Programming Course

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. University of South Alabama • State university • 13,000 students • Computer and Information Sciences • Not part of a college • Three specializations • 500 students • Masters Program School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

  3. 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 School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

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

  5. Why XP? • Flexibility • Promotes team skills • Communication • Cooperation • Work-ethic • Commitment • Adaptability • Relevance School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

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

  7. Teams • 7 +/- 2 members per team • Same room • Selected names • Shared info • Evaluated each member periodically • Team spirit School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

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

  9. XP Practices • Introduced • Handouts • Web sites • Discussions • Lectures School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

  10. XP Practices • Planning Game • Small Releases • Metaphor • Simple Design • Continuous Integration • Sustainable Pace • Coding Standards School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

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

  12. XP Practices • Metaphor • Instructor was the customer • Constant communication • Simple Design • Small Stories • Focus School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

  13. 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 School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

  14. XP Practices • Coding Standards • Taught in CS1 • Uniform standards for each team’s code School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

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

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

  17. XP Practices • Refactoring • Pairs • … • Collective code ownership • Code on server • Pair programming School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

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

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

  20. 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 School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

  21. Assessment • Quantitative • Affective objectives • Cognitive objectives • Qualitative • Student comments • Observations School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

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

  23. Student Comments Satisfaction +- Real world +- Team work +- Cooperation +- Professional skills +- Observations Communication +- Cooperation +- Adaptability +- Work-ethic +- Commitment +- Qualitative Data School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

  24. 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 School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

  25. 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 School of Computer and Information Sciences University of South Alabama, Mobile, Alabama USA

  26. 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

More Related