Professional C__ - Marc Gregoire [510]
SourceForge at www.sourceforge.net.
This website hosts many open-source projects. It’s a great resource for finding useful open-source software.
www.codeguru.com and www.codeproject.com.
Excellent resources to find free libraries and code for reuse in your own projects.
SOFTWARE ENGINEERING METHODOLOGY
Barry W. Boehm, TRW Defense Systems Group, A Spiral Model of Software Development and Enhancement, IEEE Computer, 21(5): 61–72, 1988.
This landmark paper described the state of software development at the time and proposed the Spiral Model.
Kent Beck and Cynthia Andres, Extreme Programming Explained: Embrace Change (Second Edition), Addison-Wesley, 2004, ISBN: 0-321-27865-8.
One of several books in a series that promote Extreme Programming as a new approach to software development.
Robert T. Futrell, Donald F. Shafer, and Linda Isabell Shafer, Quality Software Project Management, Prentice Hall, 2002, ISBN: 0-130-91297-2.
A guidebook for anybody who is responsible for the management of software development processes.
Robert L. Glass, Facts and Fallacies of Software Engineering, Addison-Wesley, 2002, ISBN: 0-321-11742-5.
This book discusses various aspects of the software development process and exposes hidden truisms along the way.
Philippe Kruchten, The Rational Unified Process: An Introduction (Third Edition), Addison-Wesley, 2003, ISBN: 0-321-19770-4.
Provides an overview of RUP, including its mission and processes.
Edward Yourdon, Death March (Second Edition), Prentice Hall, 2003, ISBN: 0-131-43635-X.
A wonderfully enlightening book about the politics and realities of software development.
Rational Unified Process from IBM, www3.software.ibm.com/ibmdl/pub/software/rational/web/demos/viewlets/rup/runtime/index.html.
The IBM website contains a wealth of information about RUP, including the interactive presentation at the preceding URL.
Mike Cohn, Succeeding with Agile: Software Development Using Scrum, Addison-Wesley, 2009, ISBN: 0-321-57936-4.
An excellent guide to start with the Scrum methodology.
Wikipedia Scrum, http://en.wikipedia.org/wiki/Scrum_(development).
A detailed discussion of the Scrum methodology.
Manifesto for Agile Software Development, http://agilemanifesto.org/.
The complete agile software development manifesto.
Wikipedia Revision control, http://en.wikipedia.org/wiki/Revision_control.
Explains the concepts behind revision control systems, and what kinds of solutions there are available.
PROGRAMMING STYLE
Martin Fowler, Kent Beck, John Brant, William Opdyke, and Don Roberts, Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999, ISBN: 0-201-48567-2.
This classic book espouses the practice of recognizing and improving bad code.
James Foxall, Practical Standards for Microsoft Visual Basic .NET, Microsoft Press, 2002, ISBN: 0-735-61356-7.
Exhibits the tenets of Microsoft Windows coding style, using Visual Basic .NET.
Diomidis Spinellis, Code Reading: The Open Source Perspective, Addison-Wesley, 2003, ISBN: 0-201-79940-5.
This unique book turns the issue of programming style upside down by challenging the reader to learn to read code properly in order to become a better programmer.
Dimitri van Heesch, Doxygen, www.stack.nl/~dimitri/doxygen/index.html.
A highly configurable program that generates documentation from source code and comments.
John Aycock, Reading and Modifying Code, John Aycock, 2008, ISBN 0-980-95550-5.
A nice little book with advice about how to perform the most common operations on code: reading, modifying, testing, debugging, and writing.
Wikipedia Code Refactoring, http://en.wikipedia.org/wiki/Refactoring.
A discussion on what code refactoring means, including a number of techniques for refactoring.
COMPUTER ARCHITECTURE
David A. Patterson and John L. Hennessy, Computer Organization and Design: The Hardware/Software Interface (Fourth Edition), Morgan Kaufmann, 2008, ISBN: 0-123-74493-8.