<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
<channel>
<title>Mary Shaw</title>
<copyright>Copyright (c) 2012  All rights reserved.</copyright>
<link>http://works.bepress.com/mary_shaw</link>
<description>Recent documents in Mary Shaw</description>
<language>en-us</language>
<lastBuildDate>Sun, 25 Nov 2012 16:28:47 PST</lastBuildDate>
<ttl>3600</ttl>








<item>
<title>Models for Undergraduate Project Courses in Software Engineering</title>
<link>http://works.bepress.com/mary_shaw/20</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/20</guid>
<pubDate>Fri, 25 Mar 2011 09:20:34 PDT</pubDate>
<description>
	<![CDATA[
	<p>The software engineering course provides undergraduates with an opportunity to learn something about real-world software development. Since software engineering is far from being a mature engineering discipline, it is not possible to define a completely satisfactory syllabus. Content with a sound basis is in short supply, and the material most often taught is at high risk of becoming obsolete within a few years. Undergraduate software engineering courses are now offered in more than a hundred universities. Although three textbooks dominate the market, there is not yet consensus on the scope and form of the course. The two major decisions an instructor faces are the balance between technical and management topics and the relation between the lecture and project components. We discuss these two decisions, with support from sample syllabi and survey data on course offerings in the United States and Canada. We also offer some advice on the management of a project-oriented course.</p>

	]]>
</description>

<author>Mary Shaw et al.</author>


<category>Computer Science Education - Specific Courses</category>

</item>






<item>
<title>Software Engineering for the 21st Century: A basis for rethinking the curriculum</title>
<link>http://works.bepress.com/mary_shaw/19</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/19</guid>
<pubDate>Fri, 25 Mar 2011 09:08:56 PDT</pubDate>
<description>
	<![CDATA[
	<p>With contributions from discussions with Jonathan Aldrich, Ray Bareiss, Shawn Butler, Lynn Carter, Owen Cheng, Steve Cross, Jamie Dinkelacker, Dave Farber, David Garlan, John Grasso, Martin Griss, Tim Halloran, Jim Herbsleb, Carol Hoover, Lisa Jacinto, Mark Klein, Deniz Lanyi, Beth Latronico, Jim Morris, Priya Narasimhan, Joe Newcomer, Linda Northrup, Ipek Ozkaya, Mark Paulk, David Root, Mel Rosso-Llopart, Walt Shearer, Bill Scherlis, Todd Sedano, Gil Taran, Jim Tomayko, and Tony Wasserman.  Progress in both software and hardware technology over the past decade make it timely to re-examine our curriculum in software engineering and related topics. This manifesto describes the Carnegie Mellon approach to software engineering, the essential capabilities of a software engineer, and the pedagogical principles that guide our curriculum design. Our objective here is to articulate Carnegie Mellon"s core academic values for the discipline of software engineering. This characterization of software engineering covers undergraduate, professional, and research curricula. It is informed by other software engineering curriculum designs, but it is independent of them. Curriculum design must reconcile the objectives of numerous stakeholders; this document states the case of the academic-values stakeholder.</p>

	]]>
</description>

<author>Mary Shaw</author>


<category>Computer Science Education - Curriculum Design</category>

</item>






<item>
<title>Software Engineering 2009(GSwE2009): Curriculum Guidelines for Graduate Degree Programs in Software Engineering</title>
<link>http://works.bepress.com/mary_shaw/18</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/18</guid>
<pubDate>Thu, 24 Mar 2011 13:16:09 PDT</pubDate>
<description>
	<![CDATA[
	<p>Software engineering (SwE) is ―the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software.‖1 SwE principles and practices are essential for the development of large, complex, or trustworthy systems. In 1989 the Software Engineering Institute (SEI) published a set of recommendations for creating curricula for master‘s programs in SwE.2 Those recommendations were highly regarded and used by many universities in shaping their graduate SwE programs. Since 1989 the way software is developed has changed dramatically. Software‘s scale, complexity, and criticality have mushroomed, yet no significant effort has been made to revisit and update the original SEI recommendations. (An updated report was published in 1991, but the curriculum recommendations were virtually unchanged.) In 2007, a coalition from academia, industry, government, and professional societies formed the Integrated Software and Systems Engineering Curriculum (iSSEc) project to create a reference curriculum3 that reflects current development practices and the greater role of software in today‘s systems. The U.S. Department of Defense‘s (DoD) Office of the Secretary of Defense (OSD) is the principal iSSEc sponsor, motivated by the many challenges in acquiring, operating, and maintaining defense systems whose functionality and performance depend heavily on tractable and cost-effective software.</p>

	]]>
</description>

<author>Art Pyster</author>


<category>Computer Science Education - Curriculum Design</category>

</item>






<item>
<title>We Can Teach Software Better</title>
<link>http://works.bepress.com/mary_shaw/17</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/17</guid>
<pubDate>Thu, 24 Mar 2011 12:40:48 PDT</pubDate>
<description>
	<![CDATA[
	<p>In recent issues of CRN, Bill Wulf and Dave Patterson ask some questions about undergraduate computer science programs: Are we teaching the best content in the best way? Can we do so without fragmenting the discipline or creating administrative obstacles? [Wulf 91, Patterson 92] As they observe, the last two decades have seen radical changes in hardware technology, networking, system interconnection, and sophisticated applications, but our curricula generally ignore these changes. Further, software production problems lead the list of problems in developing computer applications. Wulf and Patterson ask why our current programs don"t teach these improved technologies to the students who will need to apply them</p>

	]]>
</description>

<author>Mary Shaw</author>


<category>Computer Science Education - General</category>

</item>






<item>
<title>Candidate Model Problems in Software Architecture</title>
<link>http://works.bepress.com/mary_shaw/16</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/16</guid>
<pubDate>Thu, 24 Mar 2011 12:27:33 PDT</pubDate>
<description>
	<![CDATA[
	<p>The software architecture community would benefit from sharing a set of standard example problems. These would improve our ability to work out ideas, exhibit techniques, and compare results. The Software Architecture group at Carnegie Mellon has been assembling such a collection of problems. With this draft report we would like to open a discussion about suitable problems: what characteristics they should have, what specific problems would serve us well. To start that discussion, we present ten candidate problems and sketches of several distinct architectural approaches to two of them. We invite refinements and discussion of the problem list, the solution sets, and the criteria for choosing problems.</p>

	]]>
</description>

<author>Mary Shaw et al.</author>


<category>Computer Science Education - Specific Courses</category>

</item>






<item>
<title>Putting Engineering into Software Engineering Education</title>
<link>http://works.bepress.com/mary_shaw/15</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/15</guid>
<pubDate>Wed, 23 Mar 2011 12:33:50 PDT</pubDate>
<description>
	<![CDATA[
	<p>The current practice of software engineering bears only slight resemblance to the usual standards of engineering practice. This is in part a consequence of the immaturity of the field, but it also results from the failure of software engineering education to instill an engineering mindset in students. This position paper discusses the character of engineering practice with special emphasis on the routine use of reference materials; based on this characterization, it suggests ways software engineering education could better support good engineering practice.</p>

	]]>
</description>

<author>Mary Shaw</author>


<category>Computer Science Education - General</category>

</item>






<item>
<title>The General and the Turkey: a Participatory Introduction to Large-Scale Software</title>
<link>http://works.bepress.com/mary_shaw/14</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/14</guid>
<pubDate>Wed, 23 Mar 2011 11:31:26 PDT</pubDate>
<description>
	<![CDATA[
	<p>Software engineering education includes not only the education of software engineers but also the education of others about software engineering. From time to time we are called upon to explain "software engineering" to audiences that have never considered the organization or construction of large software systems or dealt with programs larger than a few pages. With little audience experience to build on, this can be a daunting task. This educational item engages the audience in simulated operation of a large system. A dozen volutneers play the parts of databases, communication protocals, and human users in a series of transactions that lead quite innocently to a surprising transaction that actually took place in real life. I have used it with university freshmen; it can potentially be used with groups of hogh-school students or adults who are not computer professionals (and who are uninhibited enough to participate). The preferred group size is 15 to 40. The activity addresses the problems of explaining how large-scale software is constructed from components and what sorts of things can go wrong. It also touches on system integration and evolution, requirements analysis, the software development process, and discrepencies between the users" and the designers" model of a system.</p>

	]]>
</description>

<author>Mary Shaw</author>


<category>Computer Science Education - Specific Courses</category>

</item>






<item>
<title>Software Engineering Education: A Roadmap</title>
<link>http://works.bepress.com/mary_shaw/13</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/13</guid>
<pubDate>Wed, 23 Mar 2011 11:15:15 PDT</pubDate>
<description>
	<![CDATA[
	<p>Software"s increasingly critical role in systems of widespread significance presents new challenges for the education of software engineers. Not only is our dependence on software increasing, but the character of software production is itself changing -- and with it the demands on the software developers. Four challenges for educators of software developers help identify aspirations for software engineering education.</p>

	]]>
</description>

<author>Mary Shaw</author>


<category>Computer Science Education - General</category>

</item>






<item>
<title>Deciding What to Design: Closing a Gap in Software Engineering Education</title>
<link>http://works.bepress.com/mary_shaw/12</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/12</guid>
<pubDate>Wed, 23 Mar 2011 10:57:51 PDT</pubDate>
<description>
	<![CDATA[
	<p>Software has jumped “out of the box” – it controls critical systems; it pervades business and commerce; it is embedded in myriad mechanisms; it infuses entertainment, communication, and other activities of everyday life. Designs for these applications are constrained not only by traditional considerations of capability and performance but also by economic, business, market, and policy issues and the context of intended use. The diversity of applications requires adaptability in responding to client needs, and the diversity of clients and contexts requires the ability to discriminate among criteria for success. As a result, software designers must also get out of their boxes: in addition to mastering traditional software development skills, they must understand the contextual issues that discriminate good solutions from merely competent ones. Current software engineering education, however, remains largely “in the box”: it neglects the rich fabric of issues that lie between the client’s problem and actual software development. At Carnegie Mellon we have addressed this major shortcoming with a course that teaches students to understand both the capabilities required by the client and the constraints imposed by the client’s context. This paper presents our view of the engineering character of software engineering, describes the content and organization of our new course, reports on our experience from the first three offerings of our course, and suggests ways to adapt our course for other educational settings.</p>

	]]>
</description>

<author>Mary Shaw et al.</author>


<category>Computer Science Education - Specific Courses</category>

</item>






<item>
<title>Software Architecture Education Session Report</title>
<link>http://works.bepress.com/mary_shaw/11</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/11</guid>
<pubDate>Wed, 23 Mar 2011 10:46:47 PDT</pubDate>
<description>
	<![CDATA[
	<p>In the software architecture education session, we discussed four main issues: how to make a software architecture course sufficiently realistic, how to teach non-technical competencies of software architects, the place of such a course in a university curriculum, and how to grow software architects beyond the university. The session resulted in a first sketch of software architecture knowledge areas, and the extent to which these are deemed required for certain classes of software professionals.</p>

	]]>
</description>

<author>Mary Shaw et al.</author>


<category>Computer Science Education - General</category>

</item>






<item>
<title>CourseForges: Open Source Curriculum Design for Value-Based Software Engineering</title>
<link>http://works.bepress.com/mary_shaw/10</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/10</guid>
<pubDate>Wed, 23 Mar 2011 10:38:41 PDT</pubDate>
<description>
	<![CDATA[
	<p>As a relatively young discipline within software engineering, value-based software engineering does not yet have an established curriculum. The area draws on models and techniques in so many other disciplines that it is likely to be some time before a single individual is ready to prepare a course or a textbook. Several of the EDSER-4 participants expressed interest and enthusiasm for sharing the effort of developing curriculum and course materials. Inspired by the success of open source software development, especially the distributed collaboration, the free public access to the results, and the lack of administrative overhead; we decided to try to establish a similar community for curriculum development. This report describes progress to date, with emphasis on the community standards for cooperation and sharing.</p>

	]]>
</description>

<author>Mary Shaw et al.</author>


<category>Computer Science Education - Curriculum Design</category>

</item>






<item>
<title>Cheating in Computer Science Courses: Problems and Some Solutions</title>
<link>http://works.bepress.com/mary_shaw/9</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/9</guid>
<pubDate>Wed, 23 Mar 2011 10:05:49 PDT</pubDate>
<description>
	<![CDATA[
	<p>Many Computer Science Departments report problems with cheating in their courses. Some of these problems can occur in any university course, but others arise from the technilogical nature of computing courses and computing equipment. These special problems require special techniques for prevention and detection. This paper review the general cheating problem and the problems peculiar to computing courses, discuss techniques for preventing cheating ingredients and for dealing with incidents that do occur, and presents a policy statement previously distributed to students in courses at Carnegie Mellon.</p>

	]]>
</description>

<author>Mary Shaw</author>


<category>Computer Science Education - General</category>

</item>






<item>
<title>Education for the Future of Software Engineering</title>
<link>http://works.bepress.com/mary_shaw/8</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/8</guid>
<pubDate>Wed, 23 Mar 2011 09:39:59 PDT</pubDate>
<description>
	<![CDATA[
	<p>The discipline of software engineering is developing rapidly. Its practitioners must deal with an evolving collection of problems and new technologies for dealing with those problems. Software engineering education must anticipate new problems and technologies, providing education in the enduring principles of the field n the context of the best current practice. Since changes in the discipline cannot be comletely anticipated, software engineers must be able to assume responsibility for their own continuting professional development. This paper describes significant changes now taking place in the field of software engineering and proposes some golas and objectives for the professional education of software engineers.</p>

	]]>
</description>

<author>Mary Shaw</author>


<category>Computer Science Education - General</category>

</item>






<item>
<title>Informatics for a New Century: Computing Education for the 1990s and Beyond</title>
<link>http://works.bepress.com/mary_shaw/7</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/7</guid>
<pubDate>Fri, 18 Mar 2011 12:29:37 PDT</pubDate>
<description>
	<![CDATA[
	<p>Information technology and computer scinece have not only reshaped computation, communication and commerce; they have expanded the basic models and paradigms of many disciplines. Informatics education has obligations to all the communities that rely on information technology, not just the computing professionals. Serving this extended audience well requires changes in the content and presentation of computing curricula. This paper sketches the coming needs for information processing and analyzes the populations that will require informatics education. It considers curriculum requirements trhough two examples, one outside the tradional boundary of computer scinece and one inside.</p>

	]]>
</description>

<author>Mary Shaw</author>


<category>Computer Science Education - General</category>

</item>






<item>
<title>Models for Undergraduate Project Courses in Software Engineering</title>
<link>http://works.bepress.com/mary_shaw/6</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/6</guid>
<pubDate>Fri, 18 Mar 2011 12:19:54 PDT</pubDate>
<description>
	<![CDATA[
	<p>The software engineering course provides undergraduates with an opportunity to learn something about real-world software development. Since software engineering is far from being a mature engineering discipline, it is not possible to define a completely satisfactory syllabus. Content with a sound basis is in short supply, and the material most often taught is at high risk of becoming obsolete within a few years. Undergraduate software engineering courses are now offered in more than a hundred universities. Although three textbooks dominate the market, there is not yet consensus on the scope and form of the course. The two major decisions an instructor faces are the balance between technical and management topics and the relation between the lecture and project components. We discuss these two decisions, with support from sample syllabi and survey data on course offerings in the United States and Canada. We also offer some advice on the management of a project-oriented course.</p>

	]]>
</description>

<author>Mary Shaw et al.</author>


<category>Computer Science Education - Specific Courses</category>

</item>






<item>
<title>Experience with a Course on Architectures for Software Systems</title>
<link>http://works.bepress.com/mary_shaw/5</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/5</guid>
<pubDate>Fri, 18 Mar 2011 11:52:23 PDT</pubDate>
<description>
	<![CDATA[
	<p>As software systems grow in size and complexity their design problem extends beyond algorithms and data structures to issues of system design. This area receives little or no treatment in existing computer science curricula. Although courses about specific systems are usually available, there is no systematic treatment of the organizations and used to assemble components into systems. These issues - the software architecture level of software design - are the subject of a new course that we taught for the first time in Spring 1992. This paper describes the motivation for the course, the content and structure of the current version, and our plans for improving the next version.</p>

	]]>
</description>

<author>Mary Shaw et al.</author>


<category>Computer Science Education - Specific Courses</category>

</item>






<item>
<title>Writing Good Software Engineering Research Papers</title>
<link>http://works.bepress.com/mary_shaw/4</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/4</guid>
<pubDate>Fri, 18 Mar 2011 11:42:47 PDT</pubDate>
<description>
	<![CDATA[
	<p>Software engineering researchers solve problems of several different kinds. To do so, they produce several different kinds of results, and they should develop appropriate evidence to validate these results. They often report their research in conference papers. I analyzed the abstracts of research papers submitted to ICSE 2002 in order to identify the types of research reported in the submitted and accepted papers, and I observed the program committee discussions about which papers to accept. This report presents the research paradigms of the papers, common concerns of the program committee, and statistics on success rates. This information should help researchers design better research projects and write papers that present their results to best advantage.</p>

	]]>
</description>

<author>Mary Shaw</author>


<category>Computer Science Education - Specific Courses</category>

</item>






<item>
<title>The CMU Master of Software Engineering Specialization Tracks</title>
<link>http://works.bepress.com/mary_shaw/3</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/3</guid>
<pubDate>Fri, 18 Mar 2011 11:30:40 PDT</pubDate>
<description>
	<![CDATA[
	<p>There is an increasing demand for domain-specific softward. For example, the software to control a machine on a factory floor is different in significant ways from the software to manipulate large databases. The software engineer buidling real-time systems software to control a moto that powers a piece of machinery needs some understanding of the mototr"s servo system; Space Station needs specific knowledge about database models as well as the types of data handled on a long-term space vehicle. Specilization tracks within the Master of Software Engineering (MSE) Program at Carnegie Mellon University enable students to gain application domain knowledge while developing fundamental software engineering skills. The MSE Program offers specializatioon tracks in real-time computing, human-computer interation (HCI), and business. This paper overviews these tracks.</p>

	]]>
</description>

<author>Mary Shaw et al.</author>


<category>Computer Science Education - Curriculum Design</category>

</item>






<item>
<title>Strategies for Research About Design: a multidisciplinary graduate workshop</title>
<link>http://works.bepress.com/mary_shaw/1</link>
<guid isPermaLink="true">http://works.bepress.com/mary_shaw/1</guid>
<pubDate>Thu, 09 Dec 2010 12:45:31 PST</pubDate>
<description>
	<![CDATA[
	<p>We are developing a graduate curriculum and summer workshop on design research intended to prepare graduate students to do research about the nature of design or research about a class of designs, including concepts, models, and methods for that class. We expect our workshop to advance the science of design of softwareintensive systems by creating a open community of design researchers, both in software design and in related disciplines, who are knowledgeable about design and design research methods and who are interested in advancing the field. The curriculum will create a common basis for discussion and identify core material to master, while the flexible format of the workshop will encourage the introduction of new ideas and new methods. The goals of our course and workshop are to (1) develop an open community of graduate students, faculty, and industry researchers who are actively engaged in the advancement of software design research and (2) to associate this community with the larger community of researchers from related areas of design research who can contribute to the software design community and who can take ideas from software design back to their own research communities. We will offer a week-long summer workshop in May 2007, in which PhD students who are just beginning to develop their research proposals will have the opportunity to work closely with faculty and researchers who are on the forefront of software design research and related design fields.</p>

	]]>
</description>

<author>Mary Shaw et al.</author>


<category>Computer Science Education - Specific Courses</category>

</item>





</channel>
</rss>
