Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/wikka.php on line 315
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/libs/Wakka.class.php on line 176
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/libs/Wakka.class.php on line 463
Deprecated: Function set_magic_quotes_runtime() is deprecated in /home/demetres/public_html/didattica/ae/wikka.php on line 120
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/safehtml.php on line 308
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 159
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 161
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 162
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 163
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 165
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 166
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 167
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 243
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 250
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 259
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 266
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 273
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 280
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 467
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 469
Deprecated: Assigning the return value of new by reference is deprecated in /home/demetres/public_html/didattica/ae/3rdparty/core/safehtml/classes/HTMLSax.php on line 471
Materiale didattico
Gli argomenti svolti a lezione sono trattati in testi e dispense didattiche che verranno indicati mano mano durante il corso in questa pagina.
Pacchetti software
Slide e dispense didattiche
Libri di testo e manuali
- [T1] Brian W. Kernighan, Dennis M. Ritchie: Il Linguaggio C, Pearson Education Italia, ISBN 88-7192-200-X, seconda edizione [sito Web∞]
- [T2] Randal E. Bryant e David R. O'Hallaron: Computer Systems: A Programmer's Perspective, Prentice Hall, 2003, ISBN 0-13-034074-X [sito Web∞]
- [T3] ISO/IEC 9899:1999 Stardard Rationale - The C Programming Language∞
- [T4] Mike Banahan, Declan Brady and Mark Doran: The C Book, seconda edizione, originariamente pubblicato da Addison Wesley, ora disponibile gratuitamente online∞.
- [T5] C/C++ Language Reference∞ - IBM
- [T6] Wen-Mei Hwu, David Kirk: "Programming Massively Parallel Processors: A Hands-on Approach", Morgan Kaufmann [sito Web∞]
- [T7] Jon Louis Bentley: Writing Efficient Programs, Prentice Hall, 1982, ISBN 978-0139702440 [sito Web∞]
- [T8] Ryoji Tsuchiyama, Takashi Nakamura, Takuro Iizuka, Akihiro Asahara, Jeongdo Son, Satoshi Miki. The OpenCL Programming Book. Fixstars, 2012 [Versione OpenCL 1.0 disponibile gratuitamente online∞]
- [T9] Aaftab Munshi, Benedict R. Gaster, Timothy G. Mattson, James Fung, Dan Ginsburg. OpenCL Programming Guide. Addison-Wesley Professional, ISBN 978-0-321-74964-2 (print), 978-0-13-248800-6 (Web) [Sito Web∞]
- [T10] Elenco di manuali sul linguaggio C∞
Articoli scientifici
- [A1] Paul R. Wilson, Mark S. Johnstone, Michael Neely, and David Boles: Dynamic Storage Allocation: A Survey and Critical Review. In Proceedings of the 2nd International Workshop on Memory Management (IWMM 95), Kinross, Scotland, LNCS 986, 1995 [scarica pdf, 740 KB∞]
- [A2] Daniele Cono D'Elia, Camil Demetrescu, Irene Finocchi: Mining Hot Calling Contexts in Small Space. In Proceedings of the 32nd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI 2011), San Jose, California, June 2011 [scarica pdf, 283 KB∞]
- [A3] Emilio Coppa, Camil Demetrescu, Irene Finocchi: Input-Sensitive Profiling. In Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI 2012), Beijing, China, June 2012 [pdf, 462 KB∞]
Seminari tenuti durante il corsi durante gli anni scorsi
Pagine utili
- [P0] Portale Questions & Answers StackOverflow dedicato alla programmazione in C∞
- [P1] Tabella precedenze operatori C∞
- [P2] Interpretare espressioni che definiscono tipi in C∞
- [P3] Errori comuni in C∞
- [P4] Operatori bit a bit in C∞
- [P5] Liste unrolled∞
- [P6] Tool di profiling gprof∞
- [P7] Opzioni riga di comando gcc∞
- [P8] Standard POSIX (IEEE Std 1003.1, 2004 Edition)∞, include tutte le librerie standard C: si veda la sezione System Interfaces volume (XSH).
- [P9] Tutorial su makefile∞
- [P10] Documentazione comando make (IEEE Std 1003.1, 2004 Edition)∞
- [P11] Tutorial sui tool GNU autoconf, automake e autoheader∞
- [P12] Differenze fra C e Java∞
- [P13] The C Preprocessor - GNU manual∞
- [P14] System V Application Binary Interface (AMD64)∞
- [P15] Intel® 64 and IA-32 Architectures Software Developer's Manual∞
- [P16] Articolo IBM developerWorks su data alignment∞
- [P17] Doug Lea: A Memory Allocator. unix/Mail December, 1996. Hanser Verlag [pagina web∞]
- [P18] Versione 1.161 dell'allocatore malloc.c∞ fornito dal sistema operativo FreeBSD∞
- [P19] Jonathan Bartlett: Inside memory management (come rimpiazzare malloc con un proprio allocatore in Linux) [pagina web∞]
- [P20] Valgrind∞ (profiler e debugger di memoria per Linux e MacOS X)
- [P21] aprof∞ (profiler basasto su Valgrind∞ per identificare inefficienze asintotiche per Linux e MacOS X)
- [P22] Documentazione libreria standard C, con esempi di uso∞
- [P23] istruzioni x86 più comuni, 32 bit (sintassi AT&T, pdf)∞
- [P24] intero set istruzioni x86, 32 bit (sintassi Intel, html)∞
- [P25] intero set istruzioni x84-64 (sintassi Intel, html)∞
- [P26] Guida Intel agli intrinsics per programmare le estensioni SIMD∞
- [P27] Documentazione Microsoft MSDN all'uso degli intrinsics per MMX, SSE e SSE2∞
- [P28] Documentazione ufficiale OpenCL
- [P29] Cliff Woolley. Introduction to OpenCL. NVIDIA Tutorial [pdf file 2.5 MB∞]
- [P30] Erik Smistad. Getting started with OpenCL and GPU Computing [Pagina Web∞]
Letture consigliate e materiale di approfondimento
- [C1] Donald Knuth: The Art of Computer Programming, Volumes 1-3, Addison-Wesley, Inc. [sito web∞]
- [C2] Jon Bentley: Programming pearls, Addison-Wesley, Inc., 2000. ISBN 0-201-65788-0 [sito web∞]
Esercitazioni
Testi di esame appelli passati
- Appello giugno 2015: compito A∞, compito B∞, prova al calcolatore∞ [codice e soluzioni, file zip 10 KB∞] (6 cfu)
- Appello giugno 2014: compito A∞, compito B∞, prova al calcolatore∞ [codice e soluzioni, file zip 6.9 MB∞] (6 cfu)
- Appello settembre 2013: compito∞, prova al calcolatore∞ [codice e soluzioni, file zip 167 KB∞] (6 cfu)
- Appello luglio 2013: compito∞, prova al calcolatore∞ [codice e soluzioni, file zip 862 KB∞] (6 cfu)
- Appello giugno 2013: compito A∞, compito B∞, prova al calcolatore∞ [codice e soluzioni, file zip 6.1 MB∞] (6 cfu)
- Appello novembre 2012: compito 5/6 cfu∞
- Appello luglio 2012: compito 5/6 cfu∞
- Appello giugno 2012: compito 5/6 cfu∞
- Appello settembre 2011: compito 5/6 cfu∞, compito 2 cfu∞
- Appello luglio 2011: compito 5/6 cfu∞, compito 2 cfu∞
- Appello giugno 2011: compito A∞, compito B∞
- Appello gennaio 2010: compito A∞, compito B∞
- Appello febbraio 2010: compito A∞, compito B∞ (soluzioni)
- Appello straordinario di aprile 2010: compito∞
- Appello giugno 2010: compito A∞, compito B∞
- Appello luglio 2010: compito∞
- Appello settembre 2010: compito∞
[
A.A. 2009-2010 |
A.A. 2010-2011 |
A.A. 2011-2012 |
A.A. 2013-2014 ]