Marco Piccioni
Address
Marco PiccioniSoftware Engineering, Meyer
Clausiusstrasse 59
RZ J9
8092 Zurich
Introduction
I am a research assistant at the Chair of Software Engineering, ETH Zurich, where I got a PhD in Computer Science under the supervision of Prof. Bertrand Meyer. Before I worked for Sistemi Informativi S.p.A. (an IBM company) for ten years as a technical trainer and software developer. I have a Laurea degree in Mathematics from Università La Sapienza, Roma, and a Master degree in Economics from Università L. Bocconi, Milano.
Research interests
- Computer Science education: Challenges and joys of developing a MOOC (Massive Open Online Course) for an Introduction to Programming course.
- API usability: designing and conducting usability studies on software APIs.
- Seamless object-oriented persistence: dealing with the issues raised by class schema evolution.
Here is the list of my ongoing and completed projects:
- An introduction to programming MOOC on edX: Computing: Art, Magic, Science.
- An introduction to programming MOOC at ETH.
- Abel: An Eiffel library for uniform object-oriented persistence.
- Escher: A framework for schema evolution of object-oriented applications.
- Ebbro: A GUI tool to browse and modify serialized objects from within EiffelStudio.
- Defcon: An Eiffel to .NET connector library for the db4o object-oriented database.
- Mews: A web library for Eiffel.
Publications
-
Paolo Antonucci, H.-Christian Estler, Durica Nikolic, Marco Piccioni, and Bertrand Meyer:
A Progressive Hint System For Automated Programming Assignments
ITiCSE 2015
(To appear)
-
Marco Piccioni, H.-Christian Estler, and Bertrand Meyer:
SPOC-supported Introduction to Programming
ITiCSE 2014
pdf
-
H.-Christian Estler, Carlo A. Furia, Martin Nordio, Marco Piccioni, and Bertrand Meyer:
Contracts in Practice
In Proceedings of the 19th International Symposium on Formal Methods (FM).
Lecture Notes in Computer Science, 8442:230--246, Springer, May 2014.
Supplementary material is available on the COAT project page.
pdf
- Marco Piccioni, Carlo A. Furia, Bertrand Meyer An Empirical Study of API Usability. ESEM (International Symposium on Empirical Software Engineering and Measurement); Baltimore, Maryland (USA); October 2013 pdf
- Marco Piccioni A Seamless Framework for Object-Oriented Persistence in Presence of Class Schema Evolution. PhD Thesis, ETH, 2012.
- Bertrand Meyer Touch of Class Springer 2009-2013. Co-authored book chapter: "An introduction to Java".
- Marco Piccioni, Manuel Oriol, Bertrand Meyer Class Schema Evolution for Persistent Object-Oriented Software: Model, Empirical Study, and Automated Support. Accepted for publication by IEEE journal: Transactions on Software Engineering (TSE), November 2011. Published on February 2013, Vol. 39, Issue 2. [arxiv]
- Marco Piccioni, Manuel Oriol, Bertrand Meyer, Teseo Schneider An IDE-based, integrated solution to Schema Evolution of Object-Oriented Software. ASE 2009: 24th IEEE/ACM International Conference on Automatic Software Engineering, (Auckland, New Zealand), November 2009 [pdf]
- Ruihua Jin, Marco Piccioni: Eiffel for .NET Binding for db4o ICOODB 2008: First International Conference on Object Databases, (Berlin, Germany), March 2008 [pdf]
- Marco Piccioni, Bertrand Meyer: The Allure and Risks of a Deployable Software Engineering Project: Experiences with Both Local and Distributed Development. CSSE&T 2008: 21st IEEE-CS Conference on Software Engineering Education and Training 2008, (Charleston, South Carolina, USA), April 2008 [pdf]
- Marco Piccioni, Manuel Oriol, Bertrand Meyer: IDE-integrated Support for Schema Evolution in Object-Oriented Applications. RAM-SE 2007: 4th ECOOP'2007 Workshop on Reflection, AOP and Meta-Data for Software Evolution, (Berlin, Germany), August 2007 [pdf]
Teaching
- Fall 2014: teaching assistant for Introduction to Programming (Prof. Bertrand Meyer)
- Spring 2014: lecturer (together with Dr. Carlo A. Furia and Prof. Bertrand Meyer for Java and C# in depth
- Fall 2013: assistant for Introduction to Programming (Prof. Bertrand Meyer)
- Spring 2013: lecturer (together with Dr. Carlo A. Furia and Prof. Bertrand Meyer for Java and C# in depth
- Fall 2012: teaching assistant for Introduction to Programming (Prof. Bertrand Meyer)
- Fall 2011: teaching assistant for Introduction to Programming (Prof. Bertrand Meyer)
- Spring 2011: assistant for Software Architecture (Prof. Bertrand Meyer)
- Fall 2010: teaching assistant for Introduction to Programming (Prof. Bertrand Meyer)
- Spring 2010: head assistant for Java and C# in depth (Prof. Bertrand Meyer, Dr. Carlo A. Furia)
- Fall 2009: assistant for Introduction to Programming (Prof. Bertrand Meyer)
- Fall 2008: head assistant for Introduction to Programming (Prof. Bertrand Meyer)
- Spring 2008: lecturer and head assistant for Java in depth (Prof. Bertrand Meyer)
- Fall 2007: teaching assistant Introduction to Programming (Prof. Bertrand Meyer)
- Summer 2007: head assistant for Software Engineering (Prof. Bertrand Meyer)
- Winter 2006: teaching assistant Introduction to Programming (Prof. Bertrand Meyer)
Available projects
I am happy to supervise Semester/Master Theses or shorter scope projects.
Students' projects supervised
- Paolo Antonucci: AutoTeach: Incremental Hints For Programming Exercises. Master Thesis SS2014.
- Thomas Betschart: ABEL (A Better EiffelStore Library: Redis database plugin). Bachelor Thesis SS2014.
- Severin Münger and Yassin Nasir Hassan: Adding HTML 5 widgets to the Eiffel Web Framework. Software Engineering Laboratory: Open-Source EiffelStudio SS2014 - 252-2601-00.
- Pascal Roos: ABEL (A Better EiffelStore Library: integrating CoachDB). Software Engineering Laboratory: Open-Source EiffelStudio SS2013 - 252-2601-00.
- Jan Marti: ABEL (A Better EiffelStore Library: improving integration with ESCHER). Software Engineering Laboratory: Open-Source EiffelStudio AS2012 - 252-2601-00.
- Roman Schmocker: ABEL (A Better EiffelStore Library: ORM). Bachelor Thesis SS2012.
- Alexandra Hochuli: ABEL (A Better EiffelStore Library: Serialization component). Software Engineering Laboratory: Open-Source EiffelStudio SS2012 - 252-2601-00.
- Roman Schmocker: ABEL (A Better EiffelStore Library: ORM). Software Engineering Laboratory: Open-Source EiffelStudio AS2011 - 252-2601-00.
- Adrian Schmidmeister: ABEL (A Better EiffelStore Library: Binary serializer). Software Engineering Laboratory: Open-Source EiffelStudio AS2011 - 252-2601-00.
- Matthias Loeu: ETHIRE A system to support the faculty hiring process. Master Thesis: November 2008 - May 2009.
- Lucien Hansen: EBBRO (Eiffel oBject BROwser). Master Thesis: November 2008 - May 2009.
- Teseo Schneider: ESCHER (Eiffel SCHema Evolution suppoRt). Semester Thesis AS2008.
- Pascal Dufour: EBBRO (Eiffel oBject BROwser). Software Engineering Laboratory: Open-Source EiffelStudio AS2008 - 252-2601-00.
- Teseo Schneider: ESCHER (Eiffel SCHema Evolution suppoRt). Software Engineering Laboratory: Open-Source EiffelStudio SS2008 - 252-2601-00.
- Ruihua Jin: DEFCON Db4o EiFfel CONnector. Master Thesis: October 2007 - April 2008
- Matthias Loeu and Philipp Mahler: MEWS (More Eiffel Web Support). Software Engineering Laboratory: Open-Source EiffelStudio SS2007 - 252-2601-00.
- Luc Hansen: EBBRO (Eiffel oBject BROwser). Software Engineering Laboratory: Open-Source EiffelStudio AS2007 - 252-2601-00.
- Adrian Helfestein: Implementing an algorithm for schema evolution. Software Engineering Laboratory: Open-Source EiffelStudio AS2007 - 252-2601-00.
- Peizhu Li: MEWS (More Eiffel Web Support). Semester thesis AS2007.
- Matthias Loeu: ESCHER (Eiffel SCHema Evolution suppoRt). Research in Computer Science II AS2007 -263-0600-00L.
Events
- ECSS (European Computer Science Summit) October 7-9, 2009, Paris, France
member of the organizing committee. - TOOLS (Technology of Object-Oriented Languages and Systems) June 29 - July 3, 2009, ETH Zurich, Switzerland
member of the organizing committee. - ECSS (European Computer Science Summit) October 8-10, 2008, ETH Zurich, Switzerland
member of the organizing committee. - TOOLS (Technology of Object-Oriented Languages and Systems) June 30 - July 4, 2008, ETH Zurich, Switzerland
member of the organizing committee. - TOOLS (Technology of Object-Oriented Languages and Systems) June 24-28, 2007, ETH Zurich, Switzerland
member of the organizing committee.