Material for my C/C++ course at the University of Bologna might still be found on its original location.
Course contents
Part 1: Structured programming
| Part 2: Object oriented programming
|
Part 3: Software development. Introduction to UML
| Part 4: Introduction to algorithms and data structures
|
Part 5: The Standard Template Library
| Appendices
|
Bibliography
The suggested references are labelled with the target level, scoring from beginner (*) to advanced (***).
Programming
| * | C. Horstmann, Computing Concepts with C++ Essentials, 3rd ed. (web site). Trad. it. Fondamenti di C++, McGraw-Hill, 2003 (web.it). |
| ** | S. Lippman, J. Lajole, C++ Primer, 3rd ed. , Addison Wesley, 1998 (web site). Trad. it.: C++ - Corso di programmazione, Terza edizione (web.it). |
| ** | B.W. Kernighan, D.M. Ritchie, The C Programming Language, Prentice-Hall 1988 (web site). Trad. it.: Linguaggio C, Jackson. |
| *** | B. Eckel, Thinking in C++, 2nd ed. http://www.bruceeckel.com, http://www.planetpdf.com. |
| *** | S. Meyers, Effective C++, 2nd ed. (1997) and More Effective C++ (1996), Addison Wesley. Both in Effective C++ CD. |
| ** | W.H. Press et al., Numerical Recipes in C, 2nd ed. (2002), Cambridge University Press, http://www.library.cornell.edu/nr/bookcpdf.html. There is also a C++ version. |
| ** | Grady Booch, Object-Oriented Analysis and Design with Applications, 2nd edition, Addison-Wesley, 1994 (web site). |
| ** | M. Fowler, UML distilled, 3rd ed., Addison-Wesley, 2004 (web site, web.it). |
| ** | E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns, Elements of Reusable Object-Oriented Software, Addison-Wesley, 1995 (CD web site, web.it). |
| ** | C. Demetrescu, I. Finocchi, G. Italiano, Algoritmi e strutture dati, McGraw-Hill, 2004 (web.it). |
| ** | C. Ghezzi, M. Jazayeri, and D. Mandrioli, Fundamentals of Software Engineering, 2nd ed., Pearson Prentice-Hall, 2003 (web site). Trad. it. Ingegneria del software, 2004 (web.it). |
| ** | D.R. Musser, G.J. Derge, A. Saini, STL Tutorial and Reference Guide, 2nd ed., Addison-Wesley, 2001 (web site). |
| *** | Scott Meyers, Effective STL. 50 Specific Ways to Improve Your Use of the Standard Template Library, Addison-Wesley, 2001 (web site). |
| * | P. Tosoratti, Introduzione all'informatica, Casa Editrice Ambrosiana, 1998 (web.it). |
| ** | P. Ancilotti, M. Boari, A. Ciampolini, G. Lipari, Sistemi operativi, McGraw-Hill, 2004 (web.it). |
Data analysis
| Level | References |
| ** | F. James, Monte Carlo theory and practice, Rep. Prog. Phys., Vol. 43 (1980), 1145 (PDF). |
| *** | G. Cowan, Statistical data anasysis, Clarendon Press, Oxford, 1998 (Glen's course). |
| *** | G. D'Agostini, Bayesian reasoning in data anasysis. A critical introduction, World Scientific, 2003. |
| *** | C.P. Robert, The Bayesian Choice, 2nd ed., Springer, 2001. |
| *** | G. Casella, C.P. Robert, Monte Carlo Statistical Methods, 2nd ed., Springer, 2005. |
Links
Programming courses
- This web page is http://cern.ch/casadei/cxx/index.html
- The exercises page is http://cern.ch/casadei/cxx/exercises.html
- C++ course by Miller, Clark, Knottebelt: http://www.doc.ic.ac.uk/~wjk/C++Intro/
- A list of Italian courses on the C language can be found here
- A list of Italian courses on the C++ language can be found here
Data analysis courses
- Statistical and data analysis course by Giulio D'Agostini (in Italian): http://www.roma1.infn.it/~dagos/teaching.html
- Statistical and data analysis course by Glen Cowan: http://www.pp.rhul.ac.uk/~cowan/stat_course.html
- Statistics courses on http://www.statistics.com/
Misc
- The DJGPP page is http://www.delorie.com/djgpp/
- The Allegro home page is http://alleg.sourceforge.net/
- The GNU C compiler documentation is in http://www.gnu.org/software/gcc/onlinedocs/
- B. Stroustrup's C++ page is http://www.research.att.com/~bs/C++.html
- A list of computer science journals is http://www.vldb.org/dblp/db/journals/index.html
- A list of Italian pages on the make utility can be found here (English tutorials here, here or here)
- An Italian article on the use of the GNU debugger (gdb) can be found here
- The CVS documentation is in http://www.cvshome.org/docs/manual/ (see also my Italian introduction)
- Sorting algorithms can be found here, here, or here
- The UML specification and tutorials can be found in http://www.omg.org/uml/ (an Italian page is here)
- Giorgio Meini's articles on programming: http://www.giorgiomeini.it/download.html
- Carlo Pescio's articles on programming: http://www.eptacom.net/pubblicazioni/pub_it/all.html