What is Extreme Programming?

16-Jan-05

Extreme Programming (XP) is a new (about eight years old) and disciplined approach to software development. The XP methodology is designed to deliver the software your customer needs when it is needed. It stresses customer satisfaction, and empowers software developers to confidently respond to changing customer requirements.

The website extremeprogramming.org has a a guided overview of Extreme Programming as a software development process. It is extremely good for one to start learning this new and hot topic in the field of software engineering. Enjoy.


Five Highly-rated Software Development Books

05-Jan-05

I came across this topic when I navigated Focus on Java of About.com. The author, Kevin Taylor, suggested top five must-read software development books for all professional software developers. The URL of this article is here. That list of software development books also revealed the recent hot topics in the field of software engineering.

Refactoring: Improving the Design of Existing Code

Author: Don Roberts, Martin Fowler, Kent Beck, John Brant, William Opdyke,
Publisher: Addison-Wesley,
ISBN: 0201485672

Refactoring is the process of improving the internal structure of code without changing the published interface. This book is the definitive text on the subject (and is just a plain good read). Experienced programmers can usually smell bad code but this book will finally clarify why it is bad and what must be done to improve it.

Design Patterns Explained: A New Perspective On Object-Oriented Design

Author: Alan Shalloway, James Trott, James R. Trott,
Publisher: Addison-Wesley,
ISBN: 0201715945

Design Patterns Explained provides that essential knowledge of object-oriented concepts. Then, it goes on to cover ten important design patterns. Throughout, the book melds OO concepts into design patterns, showing how they interrelate.

UML Distilled: A Brief Guide to the Standard Object Modeling Language

Author: Martin Fowler,
Publisher: Addison-Wesley,
ISBN: 0321193687

This may be the only book you’ll ever need to read on UML–and it is only 192 pages. This concise guide on using the Unified Modeling Language is chock full of useful examples (and of course diagrams).


Test-Driven Development: By Example

Author: Kent Beck,
Publisher: Addison-Wesley,
ISBN: 0321146530

Test Driven Development (TDD) is radically altering software development shops. This is the definitive tutorial on the subject. In the book, Beck implements two applications using TDD, a multi-currency calculator and an xUnit testing framework. Through the process of implementing these applications, the reader will learn how to design classes and methods by writing tests first. This leads to code that is simple, loosely-coupled, and highly-cohesive.


The Pragmatic Programmer: From Journeyman to Master

Author: David Thomas, Andrew Hunt,
Publisher: Addison-Wesley,
ISBN: 020161622X

This book has spawned a series of "Pragmatic" programming books. This one discusses how to become a master code craftsman. Subjects include preventing software rot, fixing broken windows, writing flexible code, exploiting tools effectively, and more. This book is a practical but, also, inspiring read.

Three Principles of Effective Online Pedagogy

04-Jan-05

This article was written by Bill Pelz, a professor of Psychology at Herkimer County Community College, USA. It is about effective online pedagogy. I find it a good read. It contains some good examples of practice that I might follow in some day. Here is the brief summary about this article. The full article can be view at this URL .

Applied Online Padagogy

Principle #1: Let the students do (most of) the work.

Examples of practice include:

* Student Led Discussions
* Students Find and Discuss Web Resourses
* Students Help Each Other Learn (Peer Assistance)
* Students Grade Their Own Homework Assignments
* Case Study Analysis

Principle #2: Interactivity is the heart and soul of effective asynchronous learning.

Examples of practice include collaborative research paper and research proposal team project.

Principle #3: Strive for presence. This include social presence, cognitive presence, and teaching presence.

Please read the full article from the JALN (Journal of Asynchronous Learning Networks) Volume 8, Issue 3, June 2004.