Teacher: Giuseppe Attardi Question Time: Wednesday, 11:00 AM
Assistant: Antonio Valerio Miceli Barone
Master (Laurea Magistrale): Informatics and Networking and Informatics.
| Schedule | ||
|---|---|---|
| Day | Hour | Room |
| Tuesday | 11-13 | C, Polo Fibonacci |
| Wednesday | 14-16 | B1, Polo Fibonacci |
| Friday | 9-11 | A, Polo Fibonacci |
Midterm Test: Mid Term, deadline 21/11/2011.
Final Test: Final Term, deadline 12/02/2012.
The evolution of software systems towards Web Computing involves a variety of complex techniques and tools, from object-oriented programming, to component-based programming, to Web Service programming. A deep understanding of these techniques and their capabilities is required in order to fully exploit their potential.
The objectives of this course are:
This course will provide a deep understanding of modern software technologies, so that the students will be able to evaluate the effects of each design choice through all levels of a software architecture, in terms of performance, reliability, adaptability and integrability into larger systems.
The course is a required course for the Laurea Magistrale in Informatica as well of the Laurea Magistrale in Informatica e Networking, and contributes to prepare professionals for the role of software architect.
| Date | Lecture | Notes |
|---|---|---|
| 13/9/2011 | Programming Preliminaries | |
| 14/9/2011 | Programming Preliminaries | |
| 16/9/2011 | Programming Preliminaries | |
| 20/9/2011 | Programming Preliminaries | |
| 21/9/2011 | Programming Preliminaries | |
| 23/9/2011 | Programming Preliminaries | |
| 27/9/2011 | Introduction to the course | Intro.ppt |
| 28/9/2011 | Parsing | Parsing.ppt |
| 30/9/2011 | LL(1) Languages | |
| 4/10/2011 | Recursive Descent Parsing | |
| 5/10/2011 | Regular Languages and Expressions | |
| 7/10/2011 | Names, Scopes, Binding | name-scopes-binding.ppt |
| 11/10/2011 | Memory management | malloc.pdf |
| 11/10/2011 | Garbage Collection | gcoverview.ppt |
| 12/10/2011 | Scoping: static, lexical, dynamic | |
| 14/10/2011 | Parameter Passing | parameterpassing.pdf |
| Static and Dynamic Linking | buildingrunnableprogram.pdf | |
| 19/10/2011 | Introduction to COM | COM Fundamentals |
| Types | types.ppt | |
| 21/10/2011 | Web Services | Web Services |
| 25/10/2011 | The Java Virtual Machine | JVM |
| 26/10/2011 | CLI and the Common Language Runtime | CLR |
| 28/10/2011 | Delegates, Lambdas and Closures in CLR | |
| 8/11/2011 | Generic Programming | polymorphism.ppt |
| 9/11/2011 | Parametric Polymorphism | |
| 11/11/2011 | Bounded Parametric Polymorphism | Generative Programming |
| 15/11/2011 | C++ Template Metaprogramming | templatemetaprogramming.pdf |
| 16/11/2011 | Generators | Generators |
| 18/11/2011 | Apect Oriented Programming | AspectJ Tutorial |
| 22/11/2011 | Correction to Mid Term | |
| 23/11/2011 | Introduction to C# | Introduction to C# |
| 29/11/2011 | LINQ | Introduction to LINQ |
| 30/11/2011 | Dynamic Web Pages | ASP .NET |
| 2/12/2011 | AJAX, Json | Ajax Overview Json |
| 6/12/2011 | jQuery | Introduction to jQuery |
| 7/12/2011 | HTML 5 | HTML 5 |
Programming Language Pragmatics, third ed., Michael L. Scott, Morgan-Kaufmann, 2009. Google Books preview.
Generative Programming: Methods, Tools, and Applications, Krzysztof Czarnecki, Ulrich Eisenecker, Addison-Wesley, 2000.
Object Thinking, David West, Microsoft Press, 2004.