Previous work has described and evaluated a collaboration between a software project management (SPM) course and an introductory software development course. That collaboration has successfully supported the experiential learning of SPM skills as well as skills to effectively interact with a project manager. This paper further evaluates that collaboration framework by reporting its application at a second institution for two semesters. Overall, the learning outcomes and student experiences achieved at the second institution were similarly positive to those achieved at the first institution. The major components of the framework were fully implemented at the second institution with specific aspects customized to meet the institution's educational outcomes and setting. In that customization, three factors were identified for consideration when adapting the collaboration framework: the existence of a course structure to support such collaboration, the ratio between the students in the two courses, and the ability to schedule regular interactions between these students.
The skills to effectively manage software development teams and to productively interact with a project manager are important in the computing professions. Teaching these skills in a traditional academic setting, however, is challenging. To support the experiential learning of these skills, we established a collaboration between two computing courses, a sophomore-level one and a senior-level one, where the seniors serve as managers of teams of sophomores on a semester-long project. This paper describes the collaboration and evaluates it in terms of student learning and experience based on three iterations of that collaboration. The associated course materials and evaluation instruments are made publicly available.
The ability to manage software development teams is an important skill in the computing professions. The Software Engineering Body of Knowledge devotes a separate knowledge area to this skill. It is difficult, however, to effectively teach software project management (SPM) in a traditional undergraduate setting, because it is logistically challenging to find software development teams that students can manage over a sufficiently long period of time. Thus, students often cannot apply in practice the SPM theory they learn in class and, in particular, the soft-skill aspects of SPM. To enhance student learning and experience of SPM, we have established a collaboration between a senior-level SPM course and a sophomore-level introduction to software development (ISD) course. In this collaboration, SPM students serve as managers of teams of ISD students during a semester-long project. We designed a methodology to evaluate the collaboration in terms of student learning and experience. This methodology is based on student surveys, reflections, meetings with students, and analysis of student artifacts (e.g., meeting minutes). We are in the third year of a longitudinal study in which we evaluate the collaboration after each semester it runs and evolve that collaboration based on the collected evidence. This poster describes the collaboration, the evaluation methodology, the continuous improvement process for evolving the collaboration, lessons learned on the educational benefits of the collaboration, and issues, such as the amount of managers/ authority, nature of managers/ tasks, logistics, and scheduling.
This workshop introduces participants to an informal writing process that promotes student engagement and critical thinking with easily-assessed, low-stakes assignments. Unlike the formal writing typically used in software development or capstone courses to demonstrate knowledge, informal writing supports student learning (i.e., writing as thinking). Participants will use the Prioritize, Translate, and Analogize (PTA) Process in a model assignment; discuss how it works; and use it to develop a writing assignment. Participants will receive materials for the workshop assignment, samples of prompts employing the PTA process in a variety of courses, and other support materials. Participants are encouraged to bring an assignment idea to develop at the workshop. The workshop is intended for computer science instructors who want to learn about strategies for integrating writing in their courses to engage students and improve their critical thinking while limiting time for instruction and evaluation. No laptop is required.
Students frequently use a whiteboard to individually demonstrate understanding or interactively develop understanding in groups. The practice is employed to develop content knowledge; however, an opportunity to intentionally develop communication skills is overlooked. On the other hand, instructors carefully integrate instructional organization and communication to maximize student content learning. Taken together, this presents an opportunity for students to intentionally improve their communication skills in the service of content learning. This poster details a "work in progress" project where students follow organizational guidelines for written homework and board-writing to facilitate in-class, problem solution presentation. Problem solution presentations occur during one class period each week. Students are given colored pencils for written homework and colored markers for board-writing. Student work including written homework and board-writing was gathered from the 2013 and 2014 iterations of a sophomore-level computer architecture course. Preliminary analysis of student work shows that students either adopt the guidelines from the start or learn to use them through feedback and practice. On the semester-end survey, students report that adopting guidelines for written homework, board-writing, and color scheme improve presentation, and board-writing improves student learning. Future work includes gathering data from more students including recorded student presentations, developing quantitative scores to analyze student work, and developing measures of student learning.
A recent study of new software developers at Microsoft reveals the significance and integration of communication skills in their daily tasks. While the literature offers a variety of approaches to promote the integration of communication skills into the Computer Science curriculum, a discrepancy remains between what students get and what they need. In this paper, we propose using workplace scenarios that integrate communication skills with technical content situated in and mediating workplace activity. Workplace scenarios are based on an analysis of the workplace as an activity system. Guidelines for implementing workplace scenarios are provided. A case study analyzes the integration of communication skills with technical content using workplace scenarios in a software development course.
The fact that employers regularly list communication skills among their top requirements for graduates of Computer Science programs and that communication skills are specifically included in ABET program outcomes attests to their significance for Computer Science educators. To prepare students, Computer Science programs typically require students to take a course in technical communications or writing intensive courses. A recent trend emerging from the communication specialist suggests that integrating communication skills with content across the Computer Science curriculum is more effective strategy. The three-year NSF-funded CPATH II project (CCF-0939122 and CCF-0939081) "Incorporating Communication Skills into the Computer Science Curriculum" brought together 40 Computer Science educators and communications specialists to develop assignments and communications supports that implement content and communication skills integration. The results are available on the project website (http://cs-comm.lib.muohio.edu/). Computer Science educators who seek to provide graduates of Computer Science programs with excellent communication skills will find this approach relevant and valuable. Those who have developed integrated materials will be encouraged to contribute to the project repository. Those who are interested in increasing the amount of communication taught in their curriculum will be encouraged to adapt assignments from the repository to their needs.
Scrum is one of the many agile approaches to software development that have been widely adopted over the past decade. Agile processes allow developers to embrace under-defined problems in complex environments where change in requirements is inevitable. The key agile features of Scrum are a flexible, adaptive schedule; democratic, collaborative teams; and frequent, iterative project and process reviews [2]. While students may engage with Scrum in the context of software development, the characteristics that suit many software problems to an agile approach also describe the student learning environment: complexity (new and unfamiliar concepts), under-defined problem space (students don't know what they don't know), short timeframe with frequent meetings (terms and class meetings), and inevitable change (apply new knowledge). This makes Scrum not only a software development strategy but a general learning strategy. Scrum facilitates frequent and iterative practice with timely feedback, development of mastery, and self-direction [1]. In this panel, the participants will describe how their students learn and practice Scrum in a software development context, how they use it to manage student projects outside the software development context, and how Scrum provides opportunities to integrate communication skills into the Computer Science (CS) and Software Engineering (SE) curricula. As participants in the NSF-funded CPATH II project (NSF Grants 0939122 and 0939081) "Incorporating Communication Skills Throughout Computer Science and Software Engineering Curricula," each panelist has developed Scrum-based assignments that exercise the skills of reading, writing, speaking, and teaming. The participants will discuss the design of these assignments and their experiences with them to date.
Equipment leasing creates a tax deduction, frees capital for other investments, allows from updates at any time, and increases work efficiency.
One way to improve the communication abilities of new software engineering graduates in the workplace is to integrate communication more effectively in the software engineering curriculum. But faculty typically conceive of communication as outside their realm of expertise. Based on the results of an NSF-funded project, we use theories of situated learning and genre to make the case that communication is integral to software engineering and that faculty are in the best position to guide students in becoming better communicators in the field. We identify software engineering genres and show how those genres may be used to integrate communication in the classroom and throughout the curriculum.
Analyses of the computing education literature reported by Hoffman et al [4] and Dugan and Polanski [1] agree on a taxonomy of writing in Computer Science education where writing can be categorized as Writing to Learn, Academic, or Professional. Writing to Learn (WTL) writing is used to develop or reflect on understanding that is informal and frequently ungraded. Examples of WTL writing include reading response questions or short informal explanations. Academic writing is used to demonstrate knowledge that is formal and typically graded. Examples of academic writing include article summaries, research papers (e.g., CS pioneer biography), and formal explanations. Professional writing is used to apply knowledge in a professional context that is formal and typically graded. Examples of professional writing include technical papers and software development documents.
The importance of writing in computing education is widely agreed upon. In addition to the individual efforts [4], national curricular guidelines for both Computer Science [1] and Computer Engineering [2] further underscore the importance of writing. The former insists that, "computer science students must sharpen their...writing skills in a variety of contexts---both inside and outside of computer science courses" [1]. The latter is less specific, but no less emphatic about writing's importance: "Graduates should be able to communicate...ideas effectively in written form...." "This is necessary to ensure that students have the ability to communicate discipline-specific content." [2]. Furthermore, national professional accrediting bodies such as ABET have emphasized the importance of integrating the teaching of effective written communication into CS curricula. ABET requires that these skills be developed through computer science courses. Clearly the ability to write well is a priority for the profession, yet fulfilling these standards does become very challenging for individual teachers, programs, and institutions, taking into account the technical nature of the discipline.
The participants in this panel all attended the Data-Intensive Scalable Computing in Education (DISC-E) workshop at the University of Washington in July 2008. Data-Intensive Scalable Computing (DISC) focuses on efficient organization, storage, and processing of massive data sets stored in distributed file systems. For organizations like Google, Amazon, Facebook, and Yahoo! where massive data sets are an everyday issue, knowledge of the related issues and the ability to solve related problems is critical when considering new employees. The goal of the workshop was to "inspire the development of new coursework in large-scale data-intensive application design and cluster computing." At the workshop, the participants discussed various strategies for integrating DISC into the computer science curriculum and courses at all levels: from introductory computing to upper-level and capstone courses. The participants in this panel will discuss how they see DISC, and parallelism in general, as part of the computer science curriculum. Participants will discuss how they have used what they learned at the workshop in courses and how they foresee using itin the future.
Recent advances in Internet technology such as broadband access in the home have prompted a reconsideration of what a computer literacy course ought to be. We conducted a course where, similar to a university committee, students considered the question. Student committees reviewed relevant literature and standards, constructed syllabi, and designed and administered assignments. We present results and observations from the course. In addition to recommendations students consider valuable, we provide insights into how a course might be designed to evolve.
Sriram Mohan合作论文数Rose-Hulman institute of Technology2