Monday, December 27, 2010

How I prepared for CSDP ?

After I became an IEEE Certified Software Development Professional, many of my friends asked me about it and how to prepare for it. As a CSDP holder, let me introduce CSDP for you and how I prepared for it.

The CSDP credential is intended for mid-career software development professionals that want to confirm their proficiency of standard software development practices and advance in their careers.

Who is eligible to take the CSDP?

Licensed SW Engineers and IEEE Senior Members are already qualified for the CSDP. All others must meet the following:

  • Education: (need at least one)
    • Bachelor's degree
    • CSDA certificate holder
    • Educator at the post-baccalaureate level
    • Full member of the IEEE
  • Experience: (need at least one)
    • Advanced degree in software engineering and at least two years (about 3,500 hrs) of experience in software engineering/development
    • At least four years (about 7,000 hrs) experience in software engineering/development

Preparing for CSDP

Unfortunately, IEEE Computer Society didn’t provide or recommend a specific training material for CSDP. All what they provided is:

  1. CSDP Exam specification: lists the knowledge area, its weight in the exam, and the competency level you should possess.
  2. Recommend list of references.

Of course preparation depends on your knowledge level and experience you have. Below the materials that I used:

  1. Guide to the Software Engineering Body of Knowledge | CS Press
  2. Software Engineering, 8th Edition | Ian Sommerville | Addison Wesley
  3. Code Complete, 2nd Edition | Steve McConnell | Microsoft Press
  4. Software Engineering | IIT Bombay NPTEL Online Course , Prof. Rushikesh K Joshi
    1. 40 Lecture, almost 1 hour each
    2. Almost covers all topics in the Ian Sommerville’s book: Software Engineering
    3. http://freevideolectures.com/Course/2318/Software-Engineering
  5. Software Engineering | UC Berkeley Online Course, Fall 2010 , Prof. Armando Fox
    1. 17 Lectures
    2. http://freevideolectures.com/Course/2729/Software-Engineering
  6. Principles of Software Engineering | University of Washington Online Course, Autumn 2007 , Prof. David Notkin
    1. 9 Lectures
    2. http://freevideolectures.com/Course/2831/CSEP-503-Principles-of-Software-Engineering
  7. For software process only, the podcast series “IEEE Talks Software Process”
    1. 9 Podcasts, Avg 20 min each
    2. http://www.computer.org/portal/web/ieee-talks-software-process/home
  8. For software architecture, the podcast series “IEEE Software on architecture with Grady Booch”
    1. 26 Podcasts, Avg 15 min each
    2. http://www.computer.org/portal/web/computingnow/onarchitecture

Although these resources looks comprehensive, questions in the exam may not be completely covered by these resource. So, try to enrich your knowledge and experience in software engineering as much as you can and Good Luck.