Daniel N. Steinberghas taught at Case Western Reserve University, Oberlin College, and John Carroll University where he introduced courses in Java, Design Patterns, and XP. He is the director of Java Offerings at Dim Sum Thinking. A developer, trainer, and consultant, he has been teaching and writing about Java since 1996. Daniel has covered Java on the Macintosh®for the O'Reilly Network'sMacDevCenter and
more >>
Daniel N. Steinberghas taught at Case Western Reserve University, Oberlin College, and John Carroll University where he introduced courses in Java, Design Patterns, and XP. He is the director of Java Offerings at Dim Sum Thinking. A developer, trainer, and consultant, he has been teaching and writing about Java since 1996. Daniel has covered Java on the Macintosh®for the O'Reilly Network'sMacDevCenter and forJavaWorldmagazine. In addition to contributing to four previous computer science books, Daniel has also written articles and tutorials for the developer sites at Sun, IBM, BEA, and Apple.
Daniel W. Palmeris an associate professor at John Carroll University where he has been teaching Software Engineering and Computer Science for eight years. He worked at NASA as a software engineer on many satellite missions including as project leader for Cosmic Background Explorer (COBE) satellite telemetry software development at Goddard Space Flight Center. Currently, he is the director of the Swarm Research Laboratory at John Carroll University, investigating swarm intelligence and emergent behavior.
Extreme Software Engineering. A Hands-On Approachbridges the gap between academic and professional software practices by providing the format to incorporate a hands-on project into a are engineering course. This is the first textbook designed to teach XP methods in a traditional software engineering course. Students learn real world communication skids by working together in teams to test, code and create real-life XP software products for clients. With Extreme Programming, the client becomes the central part of the development team, creating a bottom-up design in which only necessary features are added to the system on an as-needed basis. This book is also ideal for professionals who want a concise, hands-on introduction to XP.
Significant Features- Provides guidelines for setting up and presenting an XP component in a traditional software engineering course including a collection of short tutorials on the core aspects of XP and a course-long project
- Describes in detail the activities, expectations and responsibilities of participants in the XP software development process
- Immerses students or professionals very quickly in the programming experience
- Creates an opportunity for students to learn the necessary communication tools used in successful professional software development projects
- Features an associated Website with suggested topical readings and example project materials
At some point in the process of learning the craft of software development, you need to work on a real project for a real client. The project must be large enough that you can't hold all of the details in your head. The duration of the project must be long enough that you don't remember what you were intending when you wrote the code that you later are trying to understand. The project must be complex enough that you need to clarify requirements that you thought you once understood.
Many colleges and universities offer a one- or two-term course in which the students learn about software engineering by working on a significant project for a real client. We don't claim to have invented this idea.
Our version of a hands-on software engineering class is derived from the course created by Fred Brooks at Chapel Hill. Students work on a real project for a real client while spending class time discussing readings on various software methodologies and on issues that can arise during the students' practical experience.
eXtreme Programming (XP) is well suited to the academic setting. Initially, and for several years, software teams in our course used the traditional approach. They worked their way from requirements' analysis to final delivery over the course of a semester. One semester
<< less