SE Genres - Carter et al


Published on

CSEET 2011

Published in: Education, Business, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

SE Genres - Carter et al

  1. 1. Communication Genres:Integrating Communication into theSoftware Engineering Curriculum<br />Michael Carter<br />MladenVouk<br />NCSU<br />Gerald C. Gannod<br />Janet E. Burge<br />Paul V. Anderson<br />Miami University<br />Mark E. Hoffmann<br />Quinnipiac University<br />This work was funded by NSF CPATH-II Award CCF-0939122. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.<br />
  2. 2. “I have people skills”<br />2<br />
  3. 3. Overheard at the watercooler<br />“Teaching communication skills is important, but what am I going to take out of the curriculum to fit this in?”<br />“I am not trained to teach communication”<br />3<br />
  4. 4. Introduction and Motivation<br />Gap between expectations of employers and communication abilities of new graduates<br />Socials norms within the organization<br />Patterns consistent with the tasks associated with the community of practice<br />4<br />
  5. 5. Our Claim<br />No such thing as effective communication in general, only effective communication in particular situations<br />5<br />
  6. 6. Contributions<br />Application of genre as a way of teaching apprenticeship tasks (situated) to increase ability to communicate effectively <br />6<br />
  7. 7. Project<br />Developing communication course outcomes and assignments for 6 courses:<br />CS1, CS2, Data Structures, Software Engineering, Databases, Capstone/Senior Design<br />Participants from 14 institutions with Miami and NCSU as lead<br />7<br /><br />
  8. 8. Apprenticeship<br />Legitimate Peripheral Participation<br />Lave and Wegner describe learners as participants of a community of practice<br />Students move from the periphery toward the center by engaging in situated learning<br />We use genre to identify apprenticeship tasks that increase students ability to communicate effectively in technical (SE) careers<br />8<br />
  9. 9. Genre<br />Genre is derived from a French word for category or type<br />Typically used for types of art<br />Literature<br />Movies<br />Music<br />In communication<br />Categories of communication that have developed in response to often-repeated situations<br />9<br />
  10. 10. Genre and Patterns<br />Similar to the notion of a design pattern<br />Reusable form or template that can be applied to commonly recurring situations<br />Patterns and Genre share two foundational assumptions:<br />Situations recur in recognizable ways<br />With experience we learn certain reusable types of behaviors to solve problems or communicate appropriately<br />10<br />
  11. 11. Example<br />Client has a problem to be solved, software engineer must learn about the problem or domain<br />Response: software requirements or specification (the genre)<br />Set of expectations and norms have been developed that define conventions a communicator calls upon to create requirements<br />Activities: writing, reading, speaking, teaming<br />11<br />
  12. 12. Common Genre in SE<br />Definition of an SE problem<br />Program Requirements<br />Design Document<br />Code and comments for software<br />Developer Guide<br />User Guide<br />Test Plan<br />Test Report<br />Technical Report<br />Bug Report<br />Installation and Maintenance Document<br />12<br />
  13. 13. Genres of SE<br />SE Communication Genre different from Communication Media<br />Media = Email, PowerPoint, etc.<br />13<br />
  14. 14. SE Genres Analyzed by Writing/Speaking<br />Writing and/or Speaking Modes<br />Definition of a SE problem<br />Test plan<br />Test report<br />Technical report<br />Writing-only mode<br />Program requirements<br />Design document<br />Code and comments for software<br />Developer guide<br />User guide<br />14<br />
  15. 15. SE Genres analyzed by Reading<br />Read program requirements<br />To determine what is known and what needs to be known to generate a design<br />To inspect and correct requirements<br />To validate requirements and meeting user needs<br />To revise requirements so that they better meet the user’s needs<br />To translate them into a design<br />15<br />
  16. 16. SE Genres analyzed by Reading<br />Read a design<br />To ensure the design accomplishes the requirements<br />To revise the design so that it better accomplishes the requirements<br />To translate the design into code<br />16<br />
  17. 17. SE Genres analyzed by Reading<br />Read code and comments<br />To find errors in syntax and semantics<br />To correct errors in syntax and semantics<br />To determine what a program is supposed to do<br />To revise a program so that it better accomplishes its goals<br />To modify a program for different uses<br />To ensure the program conforms to system requirements and design<br />To continue writing a program begun by someone else<br />17<br />
  18. 18. Applying Genre in the Classroom<br />Show instructors what genres to include in a syllabus<br />Begin with technical outcomes and identify relevant genre<br />Begin with technical assignments and embed them in workplace scenarios<br />18<br />
  19. 19. Applying Genre in the Classroom<br />Genre can also be used create coherent sequences of learning activities<br />Students given a problem definition (reading) and asked to create program requirements (writing)<br />Requirements revised to better meet user needs (reading and writing)<br />Create design document<br />19<br />
  20. 20. Applying Genre to the SE Curriculum<br />Two guiding principles:<br />Legitimate peripheral participation should occur at all levels in the curriculum <br />Growth not defined by the genres, but by complexity of the tasks and the level of expectations of performance<br />Capstone is the culminating experience in the legitimate peripheral participation model<br />Lower division courses should aim to incorporate genres of capstone to move students from the periphery<br />20<br />
  21. 21. Applying Genre to the SE Curriculum <br />Complexity typically requires…<br />…longer responses<br />…more complicated responses<br />…multiple responses<br />…greater degree of independence on the part of students<br />…more students to contribute to the completion of a project<br />…multiple modes of communication (speaking, reading, writing)<br />21<br />
  22. 22. Conclusions<br />Legitimate peripheral participation as the way of moving students from novice toward expertise<br />Communication genres provide recurring situations and typical responses within the SE community of practice<br />Technical assignments provide the link between communication and technology in the SE curriculum<br />22<br />