Textbooks and other readings

Read about the approach taken in this project course, and about experiences teaching it in  this paper " Teaching an Advanced Design, Team-oriented Software Project Course", published at the18th Conf. on Software Engineering Education and Training.

Dr Damith C. Rajapakse provides his collection of tips for student projects: http://www.comp.nus.edu.sg/~damithch/guide3e//.  Dr Damith has taught CS3215 in alternative terms and has had many contributions to the course. This is excellent reading, great tips you will find them useful in your project.

This is a collection of books introducing programming with C++:

C++ books: (in the Forum Bookstore)

  • C++ How to Program, by (Harvey & Paul) Deitel & Associates, Pearson
  • Data Structures & Other Objects Using C++, Michael Main, Walter Savitch

Additional references:

  • C++ for Java Programmers by T. Budd
  • C++ PRIMER by Stanley Lippman
  • Standard C++ with Object-Oriented Programming by Paul S. Wang
  • Design Patterns: Elements of Reusable Object-Oriented Software by Gamma, E., Helm, R., Johnson, R. and Vlissides, J.

You can also read through wikipedia for a quick impression

There are also plenty of books on C++ that you can borrow from the Central library. The following links points to useful resources on C++:

These books are an easy introduction into UML and to an incremental development process:

  • M. Fowler "UML Distilled", Second Edition, Addison-Wesley, 2000

Links to  C++ coding guidelines followed in software companies, for your reference:

Google C++ Style Guide:
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml

NASA C++ Coding Standard:
http://software.gsfc.nasa.gov/AssetsApproved/PA2.4.1.3.1.doc

Book: C++ Coding Standards by Herb Sutter and Andrei Alexandrescu: This book is available in the library.
http://www.gotw.ca/publications/c++cs.htm

Read about testing and programming with assertions in:

  • Whittaker, J. "What is Software Testing ? And why is it so Hard ?" IEEE Software, January/February 2000, pp. 70-79
  • Jeffrey Voas and Lora Kassab "Using Assertions to Make Untestable Software More Testable" Software Quality Professional, Vol. 1, Issue 4, Sept. 1999
  • Rosenblum, D. "Towards a Method of Programming with Assertions" Proc. 14th Int. Conf. on Software Engineering, ICSE'14, Washington DC, 1992

*** Maintained by YinXing Xue ***