James E. Tomayko
Carnegie Mellon University
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by James E. Tomayko.
sei conference on software engineering education | 1991
Mary Shaw; James E. Tomayko
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.
Proceedings of 9th Conference on Software Engineering Education | 1996
James E. Tomayko
The Software Development Studio is the centerpiece of Carnegie Mellons Master of Software Engineering Curriculum. It represents 40 per cent of the course units students spend in the program. The Studio has continuously evolved since its prototype in the spring and summer of 1990. The lessons learned about organization, projects, and other issues are the subject of the paper. The use of a well established development process, a matrix organization, and one on one mentoring give the highest return on investment. This is being written as the seventh class of students prepare to enter the Carnegie Mellon University (CMU) Master of Software Engineering (MSE) Program. The program is a joint effort of the School of Computer Science and the Software Engineering Institute at CMU. The curriculum for the MSE has continuously evolved since its inception, though there have been no major changes for two years. The concept based core curriculum, representing 30 per cent of the units required for the degree, is documented by D. Garlan et al. (1995). The prototype offering of the Studio course, 40 per cent of the units students take, is described by J.E. Tomayko (1991). The paper presents the lessons learned in the five 16 month Studio offerings since then. Twelve projects, some of which were continuations of previous projects, staffed by just under 70 students, form the database from which the information presented is drawn.
IEEE Computer | 1997
David Garlan; David P. Gluch; James E. Tomayko
Most professional degree programs for software engineering focus on solving todays problems with todays technologies. Carnegie Mellons Master of Software Engineering program takes a different approach, preparing engineers to work with new science and technology throughout their careers and helping them become agents of change in the industry. The approach aims to cultivate future leaders in software engineering. It combines a long-term, mentored software development project with an unusual core curriculum that stresses broad-based models and problem-solving skills.
Computer Science Education | 2002
James E. Tomayko
Even though convinced of their efficacy, software development managers are looking for ways to reduce the cost of inspections. Recent work shows that inspections by two engineers have as good results as by using a larger team of five. This indicates that pair programming might be effective as an inspection technique, as other research shows that a meeting is not necessarily better than not meeting. An experiment was conducted to see if pair programming reduces defects more than formal inspections. Results indicate that pair programming is more effective. A defect rate of 9.6 per thousand lines of code, much lower than that of a heavier method, were achieved. The implications for teaching are explored.
Annals of Software Engineering | 1999
James E. Tomayko
Software engineering education has a 30-year history. It is a story of academics struggling to fulfill industry needs with almost no support from computer science curriculum designers. It is a story of industry finally winning over some of academia to teach software engineering rather than vanilla computer science. It is a story of a discipline still incomplete, but having made great strides in the last decade. This paper discusses the succeeding eras of software engineering education, from lone teachers to masters curricula to undergraduate degree programs. Even though the maturity of the discipline is as yet unattained, it will achieve adult status through practice, not by waiting for academia to glacially catch up.
Lecture Notes in Computer Science | 2003
Orit Hazzan; James E. Tomayko
This paper examines ways by which a reflective mode of thinking may improve eXtreme Programming (XP) practices. It describes the reflective practitioner perspective and suggests specific ways in which such an approach may be interwoven into XP practices. Specifically, the focus is placed on the construction of ladders of reflection. These ladders illustrate how one may increase the level of abstraction of his/her thinking when reflection is interwoven in the process of software development, and how such an experience may promote one’s comprehension of the relevant development process.
technical symposium on computer science education | 1998
Lily Hou; James E. Tomayko
The authors conducted an experiment in applying components of the Personal Software Processsm (PSP) described in Humphrey[2,3] to a large group of CS1 students. Half of the students were taught selected PSP principles and the other half were asked only to keep track of total time spent on programming assignments. Results indicate that PSP is of value not only to software professionals involved in large projects, or to students in a software engineering school, but also to novices at the CS1 level, regardless of their background.
Archive | 1987
Gary Ford; Norman E. Gibbs; James E. Tomayko
Abstract : The Software Engineering Institute is a federally funded research and development center operated by Carnegie-Mellon University. Its principal responsibility is to accelerate the reduction to practice of modern software engineering techniques and methods. Included in this responsibility are the identification, assessment, development, dissemination, and insertion of promising methods, techniques, and tools to support software engineering. Keywords: Teachers, Students, Computer Program Documentation, Computer Communications, Syntax, Analysis, Batch Processing, Maintainability.
international conference on software engineering | 2004
Orit Hazzan; James E. Tomayko
As with to other agile methods, which value ”Individuals and interactions over processes and tools” (http://agilemanifesto.org/), Extreme Programming (XP) cares about the interaction among the people involved in software development processes. The four XP values and its twelve practices inspire this feeling as well. Accordingly, and not surprisingly, in a course that we teach about human aspects of software engineering and in a book that we are writing about the topic [7], we find it illuminating to highlight human aspects of software engineering incorporated in XP. This article gathers these illuminations into one place.
conference on software engineering education and training | 2000
James E. Tomayko
Software engineers suffer from excessive introspection and self-doubt about the existence of the field. This paper takes a look at the history of engineering to find examples consistent with the practice of software engineering. We find that: software engineering does not have to wait until there is a mature underlying science, as engineering practice has generally led science; software engineering has characteristics of design practice that closely match what is normally considered to be engineering design; and software engineering has many attributes of any other new branch of engineering. Finally we consider the reasons why software engineering is not recognized, mostly due to inconsistencies in practice.