NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract Experiences with Agile Teaching in Project-Based Courses Abstract In this paper we describe an agile teaching methodology as applied to project-based software engineering courses. We take the term “agile” from the popular software development methodology that emphasizes short feedback cycles, flexibility, and direct involvement of the customer. Our software engineering courses are goal-driven, we include structural mechanisms to support feedback, and we design the projects around frequent checkpoints. The course content is adaptable to student needs and changing situations. After giving an overview of agile teaching, we address specific issues of course structure for supporting feedback, how we act on student feedback, and the mechanisms for collecting just-in-time feedback. The paper concludes with a discussion of the impact on instructors and students, as well as of results from polling our colleagues on their teaching practices in similar courses. 1. Introduction Feedback is important for adaptation and learning. Instructors who receive feedback can more effectively tailor their teaching to student needs. Students who receive feedback have an opportunity to see more ways to improve, because there are more open (feedback) channels to offer them guidance. Therefore, more frequent feedback can translate into more opportunities for both sides. Learning is a continuous process, the individual steps of which may often be imperceptibly small to the learner7. Its intensity depends on at least two factors: the student’s engagement (“doing”) and the amount of feedback – positive affirmation or corrective guidance – that the student receives. To provide tailored instruction and relevant advice, instructors in turn need to be aware of student needs and how they evolve over time, so instructors themselves have to seek feedback in order to stay current. The premise of our work is that increased student involvement and relevance of classroom discussions and projects leads to improved learning. As students hit roadblocks, they discover areas where they lack knowledge and skills. If instructors have a mechanism to find out that this is happening, they can take advantage of such teaching moments – when goal-oriented, targeted feedback can be particularly effective, since it would address an existing need. Typically, however, not all students hit the same roadblocks, and certainly not all at the same time. Each individual comes with a unique background and learning style, so there are clear benefits to a personalized approach to teaching. Furthermore, with different challenges faced by different students, a flexible approach that takes into account those differences in the learners’ needs would produce superior results. As Kent Beck put it3, “noticing when a learner doesn’t have a tool they need or isn’t using a tool they already have” is key to effective teaching.
We describe techniques, implemented in a junior software engineering course, for creating an environment of safety and for regulating the amount of conflict so that students can learn how to use conflict to benefit their learning and the project instead of being overwhelmed or discouraged by it.Intra-personal and inter-personal conflict, such as internal uncertainty, dissonance between one's desires and abilities, and perceptions of problems in other people, are inevitable in our lives and jobs.Learning to deal effectively with these conflicts is essential to becoming an effective engineer.This starts with realizing that there can be value in conflict.Conflict motivates learning because people do not like to repeat frustrating, embarrassing, or painful experiences.Conflict inspires innovation by illuminating areas of misunderstanding, invalid assumptions, personality or value differences that, when explored, can result in greater value to everyone involved.To maximize learning, it is important to balance conflict with safety.Too much or the wrong type of conflict can be detrimental to learning.The techniques we used, some of them borrowed from professional leadership training programs, had a positive impact on the students, as revealed by their weekly reflective essays and by individual communication with them during and after the course.Students, perhaps subconsciously, created conflicts that enabled them to learn lessons they needed to learn.One aspect of safety is how to limit the damage of mistakes while encouraging learning from mistakes.To that end, we chose not to have a real-world customer whose dependence on the project success would have increased the damage from a potential project failure.Our focus was on the learning -in the true spirit of academia -in order to prepare students for successful engineering careers.
This paper describes a novel offering of a US- based course in Computer Science at a Chinese university. A senior-level Algorithms course from the University of Washington was offered at Beihang University in Beijing, China through Tutored Video Instruction, whereby lectures recorded in class at the University of Washington were subsequently shown at Beihang and facilitated by local teaching assistants. In this mode of instruction, the Chinese teaching assistants conducted interactive classes using both the video materials and a classroom interaction system (Classroom Presenter) for electronically supported student activities. These activities were done using a system of networked Tablet PCs, which allowed the students to electronically submit their work to the instructor, and enabled the instructor to display student submissions as well as ink on the lecture slides. This work has two main contributions: it demonstrates that Tutored Video Instruction coupled with classroom interaction technology is a viable strategy for offering asynchronous distance versions of courses while maintaining the interactivity of classroom environments. It also shows how language and cultural barriers can be overcome by combining recorded materials with facilitated delivery.
Classroom Presenter is a Tablet PC-based interaction system that supports the sharing of digital ink on slides between instructors and students. Initial deployments show that using the technology can achieve a wide range of educational goals and foster a more participatory classroom environment.
This paper describes an application of classroom technology in support of teaching through the use of examples and active learning techniques. Here we report on using Classroom Presenter, a Tablet PC based classroom interaction syst, in a senior level course in Algorithms -- a domain for which the instructor believes working on sample probls is critical to student learning in the classroom. The role of the technology was to integrate activities into the lecture so that students have the opportunity to work with concrete examples in class, while the instructor can collect and review student work in real time, incorporating selected student answers into the discussion. In this paper, we describe the pedagogical goals of the instructor, the types of activities used to achieve those goals, and the role that technology played in supporting those goals and activities. The contributions of the paper are in showing how classroom technology can be used to support pedagogical choices, as well as in phasizing the value of having clear pedagogical goals when incorporating a new technology in the classroom. We believe the application of technology as illustrated in this work could bring similar benefits to the instruction in other disciplines.
This paper describes the fruits of a partnership between two academic departments: offerings of environmental science and resource management courses technologically enhanced with a classroom interaction system developed in the computer science department. The system allowed the instructors to adopt a style of teaching - by engaging the vast majority of students during lecture - that would have been difficult without the electronic support. The main contributions of this work lie in the novel techniques and teaching philosophy used in creating materials, especially in-class student activities, to take advantage of the system's capabilities, and in the new usage model employed in these courses. Specifically, emphasis was placed upon using the system to encourage all students to directly participate in classroom discussions; in previous deployments it was used to support other pedagogical goals. Feedback data confirms that we were successful in devising classroom activities to engage students, create an atmosphere of participation, and accomplish some additional pedagogical goals of the instructors. In this paper, we describe the technology and pedagogy used in the courses, and evaluate the courses based upon the body of collected data, including in-class observation notes, digital ink artifacts created by students and instructors, instructor analyses, and student surveys.
Valentin Razmov, University of Washington Valentin Razmov is an avid teacher, interested in methods to assess and improve the effectiveness of teaching and learning. He is a Ph.D. candidate in Computer Science and Engineering at the University of Washington (Seattle), expected to graduate in 2007. Valentin received his M.Sc. in Computer Science from UW in 2001 and, prior to that, a B.Sc. with honors in Computer Science from Sofia University (Bulgaria) in 1998.
Active Learning in the classroom domain presents an interesting case for integrating physical and digital affordances. Traditional physical handouts and transparencies are giving way to new digital slides and PCs, but the fully digital systems still lag behind the physical artifacts in many aspects such as readability and tangibility. To better understand the interplay between physical and digital affordances in this domain, we developed PaperCP, a paper-based interface for a Tablet PC-based classroom interaction system (Classroom Presenter), and deployed it in an actual university course. This paper reports on an exploratory experiment studying the use of the system in a real-world scenario. The experiment confirms the feasibility of the paper interface in supporting student-instructor communication for Active Learning. We also discuss the challenges associated with creating a physical interface such as print layout, the use of pen gestures, and logistical issues.
This paper distills time-tested pedagogical principles and a package of corresponding practices from our experience teaching a project-based course in software engineering to Computer Science undergraduate majors, and from refining the course based upon extensive feedback by students and instructors. Our main contributions are the documentation of key principles that have successfully guided us in structuring, navigating, and evolving the course over the years; the introduction of several novel supporting practices (while adapting others from the literature); and the discovery of the synergistic effect that the proposed package of pedagogical practices creates. The discussion is grounded with data from a large body of comprehensive end-of-term student surveys, post- course instructor retrospectives, and direct instructor observations - all assembled over multiple terms. We hope to offer pragmatic ideas and tools to instructors of software engineering and of similar project-based courses.
This paper studies digital ink artifacts students produced in the classroom and how instructors could use these artifacts in support of classroom instruction. Currently, instructor use of student-produced artifacts is limited by the cognitive load of real-time review and analysis during class. The goal of the study is to evaluate, in the context of a TabletPC-based classroom interaction system, whether clustering techniques have the potential to assist instructors in this task. We examine student ink artifacts to determine whether they could be naturally grouped into categories that instructors find useful when discussing student work. We establish that grouping student artifacts plays a major role in how instructors use them in class, and that the artifacts often have an underlying grouping structure. This paper looks at the complexity of algorithms for grouping and also identifies several challenges that arise in analyzing student artifacts.
This paper describes our experiences in promoting a learning environment where active student involvement and interaction, as well as openness to diversity of ideas are supported through innovative uses of technology in the classroom. In the context of an undergraduate course in software engineering, for two consecutive terms we have experimented with an existing software system for Tablet PCs that supports a set of classroom interaction styles. Our goal has been to determine if the use of the technology can increase the effectiveness of pedagogical techniques that naturally fit our instructional needs.We have found that student submissions -- a style of interaction whereby the instructor poses a question written on a slide and displayed on a tablet in front of each student, then students write their answers in digital ink and submit back to the instructor -- are a powerful tool for supporting the learning environment we aim to create in the classroom. We show that student submissions can help the instructor to engage all students, not merely the vocal ones, and to emphasize the value of diversity of opinions. They also enable immediate feedback from students to instructor -- something difficult in an environment without technological enhancements but which contributes to an improved understanding of everyone's needs and expectations.The discussion of how we used student submissions to support these pedagogical techniques may be relevant to educators interested in fostering student learning through creative uses of technology, as well as to instructors looking to expand their repertoires of teaching methods in software engineering and in other similar subjects.
We are interested in understanding how mobile devices can enhance lecture based pedagogy by allowing the instructor and students to interact electronically and in real time by exchanging lecture materials and in-class student work. We have deployed a Tablet PC based classroom interaction system in undergraduate courses, and developed a pedagogy which incorporates mediated student contributions into the classroom discussion. We found that the classroom interaction system helped instructors to engage the students and maintain high participation. The public display appears to be a critical aspect of the system by motivating students to be involved.
This paper studies digital ink artifacts students produced in the classroom and how instructors could use these artifacts in support of classroom instruction. Currently, instructor use of student-produced artifacts is limited by the cognitive load of real-time review and analysis during class. The goal of the study is to evaluate, in the context of a TabletPC-based classroom interaction system, whether clustering techniques have the potential to assist instructors in this task. We examine student ink artifacts to determine whether they could be naturally grouped into categories that instructors find useful when discussing student work. We establish that grouping student artifacts plays a major role in how instructors use them in class, and that the artifacts often have an underlying grouping structure. This paper looks at the complexity of algorithms for grouping and also identifies several challenges that arise in analyzing student artifacts.
NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract Session 3475 Teaching Reflective Skills in an Engineering Course David Socha†§, Valentin Razmov§, Elizabeth Davis † Center for Urban Simulation and Policy Analysis § Department of Computer Science & Engineering University of Washington Abstract One of the most effective tools for lifelong learning is the ability to reflect and learn from experience. Reflection helps to clarify our understanding of the world and to create new distinctions and possibilities for the future. It is a way of creating intention. By putting attention on the perception of what has happened and what one wants to achieve, solutions to problems emerge more easily. We believe reflective skills are among the main characteristics that distinguish excellent engineers from merely good ones. This makes these skills important to teach. This paper describes a set of reflective practices that we implemented in a 9-week course in software engineering at the junior undergraduate level. These techniques, many of them borrowed from professional leadership training programs, include individual, team, and project practices such as retrospectives (e.g., “What went well and what didn’t?”), informal chats with guest experts (e.g., “Do they really do it that way in industry?”), workshop simulations (e.g., “How do we decide when to ship a product?”), journaling, and some unusual activities (e.g., “Draw a picture of your team”). To gauge student progress we also used weekly reflective writing assignments as well as reflective questions on the take-home final exam. All of these techniques were well received by the students, as evidenced by anonymous, detailed end-of- course evaluations, as well as by feedback many students voluntarily provided four months after the course. Many have continued using several of the techniques after the course. The experience of applying reflective practices appears to have influenced a number of the students into viewing their project, careers, social interactions, and life choices in a different, more positive light. We believe the practices worked particularly well because we set up the course with ample opportunities for students to make mistakes – a fodder for reflection – and learn from them in a non-threatening (academic) environment. While we recommend the approach to engineering educators interested in teaching “soft skills,” we caution that to successfully apply it, one needs to be comfortable identifying and handling conflict that may emerge. 1. Introduction This paper describes a set of reflective practices that formed the backbone of a 9-week software engineering course at the junior undergraduate level. We report on our, and our students’, assessments of the effectiveness of these practices. The data were collected during the course, at the end of the course, and four months after the course. Proceedings of the 2003 American Society for Engineering Education Annual Conference & Exposition Copyright © 2003, American Society for Engineering Education
Security enforcement mechanisms for controlling the execution of untrusted component code have evolved away from the strict sandbox confinement toward more flexible code access security. Although the added flexibility has enabled richer functionality and support for more fine-grained policies, component-based security architectures such as Java and .NET still fail to provide several essential features such as restricted delegation of authority, separation of access control from functionality (Java only) and more flexible security policies. We examine the stack inspection mechanism central to policy enforcement on end systems running Java 2 and the .NET Common Language Runtime. Here we reveal that the mechanism has a number of undesirable implications for developers of code components, and may lead to behavior entirely unexpected to users of mobile code. In the context of the evolving web-based computing environment we discuss a set of open challenges before mobile code security architectures, and suggest approaches to address the emerging needs.
This paper aims at exploring the tradeoffs between paced and non-paced network traffic. The motivation is that these two approaches span a spectrum – from sending arbitrarily bursty traffic (in the case of nonpaced TCP) to sending traffic at a controlled steady rate (for paced TCP). Yet preliminary results [ASA00] have not demonstrated improvement in the latter in terms of either latency or throughput. In fact, despite the initial steady sending rate and relative smoothness on a fine-grained time scale, the resulting traffic proved to be no less bursty on a coarser time scale. The purpose of this study is to look into some of the important implications behind pacing as an approach. It explores the interrelationships between various pacing and non-pacing mechanisms and performs simulations to quantitatively compare and evaluate them in experiments where traffic is first homogeneous and then mixed.
This paper is a survey on the problem of denial-of-service (DoS) attacks and proposed ways to deal with it. We describe the nature of the problem and look for its root causes, further presenting brief insights and suggested approaches for defending against DoS. We point out both the positive and negative sides of each potential solution. Future work identifies and justifies open research issues. In conclusion we give a brief summary of what has realistically been achieved so far, as well as what the key missing components still are.
NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract An Analysis of Multi-Year Student Questionnaire Data from a Software Engineering Course 1. Introduction Improving student learning has been a long-standing goal of educators across all disciplines. To improve effectively and methodically, one needs to know what works well (and needs to be sustained) and what does not work well (and may benefit from changing). In a classroom environment, the two direct stakeholders, instructors and students, can both provide valuable perspectives on how things are going. This paper presents an analysis of an extensive set of feedback data provided by students across 8 academic terms for an undergraduate introductory course in software engineering, taught at a large US public university. The feedback was gathered via end-of-term course-specific questionnaires, separate from and much more detailed than the typical university-sponsored course evaluations. In total, 162 students gave feedback, while 5 different instructors were involved with the course, one of whom – the author of this paper – was actively engaged in all 8 offerings. To give the reader a sense of scale, the end-of-term student questionnaires featured 60-150 questions – mostly multiple choice questions, as well as some free-form short-answer questions. The subject of the questions were the course structure, the instructors’ teaching approach, class sessions, readings, writing assignments, project experiences, tools, the feedback that students received from instructors and peers, as well as questions aimed at capturing student perceptions of what had worked well and what had not. Among the encouraging results are that students almost unanimously report feeling better prepared for industry careers after taking the course. They also increasingly come out with a heightened appreciation for the value of incremental project development and of many of the “softer” (non-technical, human) issues in engineering. In contrast, the main aspects that our analysis identifies as needing further improvement are the choice of course readings, as well as a stronger emphasis on quality assurance practices and techniques for dealing with ambiguity – both aspects that students tend to find unfamiliar and unnatural. We also share a few surprises found in the data. Our main contributions are the analysis of the rich body of collected data, as well as distilling groups of questions that have yielded particularly useful results, and categorizing those by target outcome: questions for evolving the course, for “reading” students’ moods, and for getting students to reflect on their experiences. Many of these questions may be broadly applicable. The remainder of the paper is structured as follows. Section 2 elaborates on relevant aspects of the course structure and describes our mechanism for collecting feedback data. Section 3 discusses what we have learned from our data analysis – first about the course, and then about the process of doing student surveys. We conclude in Section 4. To give the reader a concrete view into the nature of our questionnaires, the Appendix contains the full list of questions from the most recent end-of-term student questionnaire.
NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract Session 3475 Order Out Of Chaos: A Table to Help the Design of Project-Based Courses David Socha§†, Valentin Razmov§ § Department of Computer Science & Engineering † Center for Urban Simulation and Policy Analysis University of Washington, Seattle { socha, valentin } @ cs.washington.edu Abstract The project-based software engineering course that we teach uses several different teaching methods to instruct students in a large number of reflective and analytical techniques. These techniques help the students learn how to work in teams and on projects. As we, instructors, were preparing to teach the course for a third time, we had to sort out a confusion in the course design, brought about by the presence of many techniques taught in many ways. We devised a method to organize these techniques by scope (for individuals, teams, projects, systems) on one axis, and by how they were taught (as mini-lectures, homework assignments, project experience, coaching sessions, experiential sessions, etc.) on another axis. This enabled us to see “holes” in our course design that were not obvious before. As a result, we adjusted our priorities accordingly and focused our efforts. This paper shows how we evolved the course structure, discusses how this process helped and surprised us, and speculates about how the structure may be applied to other courses that wish to create a multi-faceted learning environment. 1. Introduction and Context Our goal when teaching software engineering is to educate the students to appreciate the importance of the human aspects of software development. In particular, our industry experience indicates that software engineering is characterized by people working together under pressure to deliver value to their customers. Our tactic for teaching this is to create an environment that simulates an industrial experience, but where the success metric is how much students learn, not whether the project they deliver is “successful.” In particular, we have students organize into large project teams (of 15 or more). These large teams usually lead to the students adopting a hierarchical organization, with leadership roles and component sub-teams within the project team. As a result, students encounter many of the inter-personal issues that exist in all workplaces, and are forced to deal with the gamut of team and project coordination issues that determine the success or failure of virtually all projects. An important aspect for the success of this type of course is to make sure that the students realize how much they have learned despite the frustrations of dealing with the complexities and emotional issues of large teams. Thus, our course emphasizes teaching a variety of reflective techniques6,4 so that students (and instructors) can identify what they have learned, including Proceedings of the 2004 American Society for Engineering Education Annual Conference & Exposition Copyright © 2004, American Society for Engineering Education