Harvey Mudd College
Spring 2009
Computer Science 121

Software Development

What this course is about

This course deals with the processes involved in software development, from requirements specification and analysis, on through design, implementation, and quality assurance. We discuss ways to organize and manage work processes as well as technical design models. Projects will involve specification, design, programming, and testing.

Instructor

Bob Keller, 1253 Olin (office hours 4:15-5:30 MTW, or whenever I'm in), keller@cs.hmc.edu, x 18483
 

Grutors

Meg Campbell

Alice Xu

 

Catalog Description

Rigorous introduction to the technological and managerial discipline concerned with the design and implementation of large software systems. Techniques for software specification, design, verification, and validation. Formal methods for proving the correctness of programs. Students working in teams are required to design, implement, and present a substantial software project.
Prerequisites: Computer Science 70.

 

Requirements and Grading

 

Textbooks

·       Dwayne Phillips, The Software Project Manager's Handbook: Principles That Work at Work  (Paperback) 2nd edition, Publisher: Wiley-IEEE Computer Society Pr (July 1, 2004), ISBN-10: 0471674206, ISBN-13: 978-0471674207

 

 

·       Robert C. Martin, Agile Software Development, Principles, Patterns, and Practices (Hardcover), Prentice Hall (October 25, 2002), ISBN-10: 0135974445, ISBN-13: 978-0135974445

 



 

This Outline is being revised to conform to texts

Lecture Slides and Related Links

(will be posted as lectures are given)


General Links

Useful References:

o   Daryl Kulak, Eamonn Guiney, Use cases: Requirements in context, Addison-Wesley, 2000.

o   Alistair Cockburn, Writing Effective Use Cases, Addison-Wesley, 2001.
 

o   Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design patterns: Elements of reusable object-oriented software, Addison-Wesley, 1995.

o   Dean Leffingwell, Don Widrig, Managing software requirements : a unified approach, Addison-Wesley, 2000.

o   Phillipe Kruchten, The Rational Unified Process, an Introduction, Second Edition Addison-Wesley, 2000, ISBN: 0201707101.

o   James Rumbaugh, Ivar Jacobson, Grady Booch, The unified modeling language reference manual, Addison-Wesley, 1998.

o   Ivar Jacobson, Grady Booch, James Rumbaugh, The unified software development process, Addison-Wesley, 1999.

o   Grady Booch, Ivar Jacobson, James Rumbaugh, The unified modeling language user guide, Addison-Wesley, 1998.

o   Barry W. Boehm, et al. Software Cost Estimation with COCOMO II , Prentice-Hall, 2001.