SlideShare a Scribd company logo
1 of 12
Download to read offline
Teaching Experiences
                     	


  The Jump in Water approach	


Stéphane Ducasse, Michele Lanza,
         and Roel Wuyts
Jump in Water to Learn
              Swimming  	

•  Final year (they all believe they know 00)	

•  Active, Wiki based, choose the dialect (VW or
   Squeak)	

•  Not one teacher talking, students sleeping	

•  Project-based	

   –  Code what you want approach 	

   –  But do it well	

•  Clearly difficult	

   –  Identify good students	

   –  Sloopy have bad grades, good have good grades
Projects List
                                    	

•    Constraint solver - Andreas Hosbach, Thomas Staub
•    HTML link checkers - Oliver Aeberhard, Michel Neuhaus
•    HTML scriptor - Beat Halter, Vivian Kilchherr
•    LegoMindstorm - Christian Käser, Daniel Kilchhofer
•    Net Robot - Stefan Reichhart, Lukas Renggli, Adrian Lienhard
•    Prosa Generator - Mauricio Seeberger, Susanne Wenger
•    Breakout - Andreas Dannecker
•    Tools for Instance Analysis - Florian Brunner, Adrian Kuhn
•    Enhancing Swiki Project - Tobias Aebi
•    A ftp client - Ruedi Blattner, Patrik Schnellmann
•    Programmable Robot Environment - Dave Wick, Nik Lutz
Wiki Based Communication	

•  Students should	

   –  Register	

   –  Follow milestone or they are dropped	

•  All communication is wiki based except
   lectures
Schedule
                                  	

1    05/04/2002   Introduction (Squeak Demo)
2    12/04/2002   Fundamentals of Smalltalk (part I)
3    19/04/2002   Fundamentals of Smalltalk (part II)
4    26/04/2002   Labs
5    03/05/2002   Labs
6    10/05/2002   Check Point of the Projects
7    17/05/2002   Labs
8    24/05/2002   Labs
9    31/05/2002   Labs and Demo
10   07/06/2002   Advanced Design Part
11   14/06/2002   Labs
12   21/06/2002   Project Evaluation and Demo
Milestone 1 19/4/2002	

•  Everybody should register in the List of Participants on
   this Wiki
•  Everybody must have chosen a project from the list of
   Possible Project Subjects
•  Everybody should have decided on which kind of
   hardware and software (i.e., which Smalltalk dialect) (s)he
   will do the project.
•  Everybody who does not fulfill these requirements by
   20:00 of the 19-04-2002 is out of the course
Milestone 2 3/5/2002	

•  Every project should be described in detail on the
   project's wiki page. The description should include
   the project's
•  name
•  its participants
•  the target platform
•  a short but precise description of the project itself,
•  a tentative roadmap
•  the references being used
Milestone 3 10/5/2002
•  Every project must be presented during the
   lecture, using maximum 3 slides by its people
•  The presentation includes:
   –  A description of the project and a presentation of the
      group
   –  Short term goals of the project
   –  A roadmap for the project
   –  References
Milestone 4 31/5/2002	

This week we have again a Lab session (this time A94), but you'll also have to
   show off a little bit and give us three a demo of your current project. Also do
   update your Wiki (for those who didn't) with the necessary new information.
A new point will have to be included in your wiki page: A Deliverable, i.e.,
   something which can be downloaded and used. In the simplest case it's just
   a .st-file, otherwise Parcels for VW5i. The week after that we'll probably have
   an "Advanced Theory Session" where on one hand you will be shown stuff
   like Smallint (powerful static code analyzer), the Refactoring Browser, as well
   as concepts like Unit Testing (SUnit), etc. We'll see. Regarding next Friday
   during the Demo also think in terms of explaining us what you did, i.e., can
   you explain us your "architecture"? From my experience transmitting to
   another person the architecture of a Software System is pretty darn hard, so
   this is a good and useful exercise for you.
Milestone 5: 21-06-2002 12:00

•  Make a short (max 10 Minutes) presentation of your project.
•  The presentation should include slides and a runnable demo. Present
   yourself, the project you did and "how" you did it. And finally, show
   off with what you did ;-)
•  Finalize and clean your Swiki project page. Upload the latest
   (demoable) deliverable. The Swiki will be frozen after this milestone
   and rendered as static HTML. Burning a CD will all projects, the
   Swiki and the ST homepage is also something we could do, if people
   want that.
Talking about Design and OO	

•    Do not flatten you objects into string	

•    Visitor and simple patterns	

•    Refactoring browser, SmallLint	

•    Talk to your objects
What Could Have Been Done
                           	

•  Check before and after they knowledge	

•  Peer code review	

•  Avoid graphical framework based project 	

   –  VW is too much to learn	

•  Net related pose less problem 	

   –  No interface	

    	

SeaSide and Comanche are good for that

More Related Content

Similar to Teaching Experiences

OpenStack Doc Overview for Boot Camp
OpenStack Doc Overview for Boot CampOpenStack Doc Overview for Boot Camp
OpenStack Doc Overview for Boot CampAnne Gentle
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Jody Garnett
 
EDU 749 Emerging Trends in Technology
EDU 749 Emerging Trends in TechnologyEDU 749 Emerging Trends in Technology
EDU 749 Emerging Trends in Technologygibb0
 
OpenStack Documentation in the Open
OpenStack Documentation in the OpenOpenStack Documentation in the Open
OpenStack Documentation in the OpenAnne Gentle
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022 Michael Yagudaev
 
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)Martijn Verburg
 
Prototyping - the what, why and how at the University of Edinburgh
Prototyping - the what, why and how at the University of EdinburghPrototyping - the what, why and how at the University of Edinburgh
Prototyping - the what, why and how at the University of EdinburghNeil Allison
 
Intelligent Interfaces ICS3211
Intelligent Interfaces ICS3211Intelligent Interfaces ICS3211
Intelligent Interfaces ICS3211Vanessa Camilleri
 
Introduction to ICS 691: Software Engineering for the Smart Grid
Introduction to ICS 691: Software Engineering for the Smart GridIntroduction to ICS 691: Software Engineering for the Smart Grid
Introduction to ICS 691: Software Engineering for the Smart GridPhilip Johnson
 
Keynote Address: Strategic Perspectives on an Exciting Future with Sakai
Keynote Address: Strategic Perspectives on an Exciting Future with SakaiKeynote Address: Strategic Perspectives on an Exciting Future with Sakai
Keynote Address: Strategic Perspectives on an Exciting Future with SakaiAuSakai
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014Steven Andrews
 
Create great cncf user base from lessons learned from other open source com...
Create great cncf user base from   lessons learned from other open source com...Create great cncf user base from   lessons learned from other open source com...
Create great cncf user base from lessons learned from other open source com...Krishna-Kumar
 
HASTAC Scholars: Omeka and Digital Archives
HASTAC Scholars: Omeka and Digital ArchivesHASTAC Scholars: Omeka and Digital Archives
HASTAC Scholars: Omeka and Digital Archivesjkmcgrath
 
OpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesOpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesAnne Gentle
 
Wonderful world of wiki teaching 2012 edition
Wonderful world of wiki teaching   2012 editionWonderful world of wiki teaching   2012 edition
Wonderful world of wiki teaching 2012 editionVicki Davis
 
Wonderful world of wiki teaching 2012 edition
Wonderful world of wiki teaching   2012 editionWonderful world of wiki teaching   2012 edition
Wonderful world of wiki teaching 2012 editionVicki Davis
 
SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)
SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)
SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)SoundSoftware ac.uk
 

Similar to Teaching Experiences (20)

OpenStack Doc Overview for Boot Camp
OpenStack Doc Overview for Boot CampOpenStack Doc Overview for Boot Camp
OpenStack Doc Overview for Boot Camp
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
EDU 749 Emerging Trends in Technology
EDU 749 Emerging Trends in TechnologyEDU 749 Emerging Trends in Technology
EDU 749 Emerging Trends in Technology
 
OpenStack Documentation in the Open
OpenStack Documentation in the OpenOpenStack Documentation in the Open
OpenStack Documentation in the Open
 
Prototyping like it is 2022
Prototyping like it is 2022 Prototyping like it is 2022
Prototyping like it is 2022
 
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
Adopt OpenJDK - Lessons learned and Where we're going (FOSDEM 2013)
 
Prototyping - the what, why and how at the University of Edinburgh
Prototyping - the what, why and how at the University of EdinburghPrototyping - the what, why and how at the University of Edinburgh
Prototyping - the what, why and how at the University of Edinburgh
 
Intelligent Interfaces ICS3211
Intelligent Interfaces ICS3211Intelligent Interfaces ICS3211
Intelligent Interfaces ICS3211
 
Introduction to ICS 691: Software Engineering for the Smart Grid
Introduction to ICS 691: Software Engineering for the Smart GridIntroduction to ICS 691: Software Engineering for the Smart Grid
Introduction to ICS 691: Software Engineering for the Smart Grid
 
ICS3211 lecture01
ICS3211 lecture01ICS3211 lecture01
ICS3211 lecture01
 
Keynote Address: Strategic Perspectives on an Exciting Future with Sakai
Keynote Address: Strategic Perspectives on an Exciting Future with SakaiKeynote Address: Strategic Perspectives on an Exciting Future with Sakai
Keynote Address: Strategic Perspectives on an Exciting Future with Sakai
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014
 
Course Intro.pdf
Course Intro.pdfCourse Intro.pdf
Course Intro.pdf
 
Create great cncf user base from lessons learned from other open source com...
Create great cncf user base from   lessons learned from other open source com...Create great cncf user base from   lessons learned from other open source com...
Create great cncf user base from lessons learned from other open source com...
 
HASTAC Scholars: Omeka and Digital Archives
HASTAC Scholars: Omeka and Digital ArchivesHASTAC Scholars: Omeka and Digital Archives
HASTAC Scholars: Omeka and Digital Archives
 
L1-intro(2).pptx
L1-intro(2).pptxL1-intro(2).pptx
L1-intro(2).pptx
 
OpenStack Documentation Projects and Processes
OpenStack Documentation Projects and ProcessesOpenStack Documentation Projects and Processes
OpenStack Documentation Projects and Processes
 
Wonderful world of wiki teaching 2012 edition
Wonderful world of wiki teaching   2012 editionWonderful world of wiki teaching   2012 edition
Wonderful world of wiki teaching 2012 edition
 
Wonderful world of wiki teaching 2012 edition
Wonderful world of wiki teaching   2012 editionWonderful world of wiki teaching   2012 edition
Wonderful world of wiki teaching 2012 edition
 
SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)
SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)
SoundSoftware.ac.uk: Sustainable software for audio and music research (DMRN 5+)
 

More from ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

More from ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Recently uploaded

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 

Recently uploaded (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Teaching Experiences

  • 1. Teaching Experiences The Jump in Water approach Stéphane Ducasse, Michele Lanza, and Roel Wuyts
  • 2. Jump in Water to Learn Swimming •  Final year (they all believe they know 00) •  Active, Wiki based, choose the dialect (VW or Squeak) •  Not one teacher talking, students sleeping •  Project-based –  Code what you want approach –  But do it well •  Clearly difficult –  Identify good students –  Sloopy have bad grades, good have good grades
  • 3. Projects List •  Constraint solver - Andreas Hosbach, Thomas Staub •  HTML link checkers - Oliver Aeberhard, Michel Neuhaus •  HTML scriptor - Beat Halter, Vivian Kilchherr •  LegoMindstorm - Christian Käser, Daniel Kilchhofer •  Net Robot - Stefan Reichhart, Lukas Renggli, Adrian Lienhard •  Prosa Generator - Mauricio Seeberger, Susanne Wenger •  Breakout - Andreas Dannecker •  Tools for Instance Analysis - Florian Brunner, Adrian Kuhn •  Enhancing Swiki Project - Tobias Aebi •  A ftp client - Ruedi Blattner, Patrik Schnellmann •  Programmable Robot Environment - Dave Wick, Nik Lutz
  • 4. Wiki Based Communication •  Students should –  Register –  Follow milestone or they are dropped •  All communication is wiki based except lectures
  • 5. Schedule 1 05/04/2002 Introduction (Squeak Demo) 2 12/04/2002 Fundamentals of Smalltalk (part I) 3 19/04/2002 Fundamentals of Smalltalk (part II) 4 26/04/2002 Labs 5 03/05/2002 Labs 6 10/05/2002 Check Point of the Projects 7 17/05/2002 Labs 8 24/05/2002 Labs 9 31/05/2002 Labs and Demo 10 07/06/2002 Advanced Design Part 11 14/06/2002 Labs 12 21/06/2002 Project Evaluation and Demo
  • 6. Milestone 1 19/4/2002 •  Everybody should register in the List of Participants on this Wiki •  Everybody must have chosen a project from the list of Possible Project Subjects •  Everybody should have decided on which kind of hardware and software (i.e., which Smalltalk dialect) (s)he will do the project. •  Everybody who does not fulfill these requirements by 20:00 of the 19-04-2002 is out of the course
  • 7. Milestone 2 3/5/2002 •  Every project should be described in detail on the project's wiki page. The description should include the project's •  name •  its participants •  the target platform •  a short but precise description of the project itself, •  a tentative roadmap •  the references being used
  • 8. Milestone 3 10/5/2002 •  Every project must be presented during the lecture, using maximum 3 slides by its people •  The presentation includes: –  A description of the project and a presentation of the group –  Short term goals of the project –  A roadmap for the project –  References
  • 9. Milestone 4 31/5/2002 This week we have again a Lab session (this time A94), but you'll also have to show off a little bit and give us three a demo of your current project. Also do update your Wiki (for those who didn't) with the necessary new information. A new point will have to be included in your wiki page: A Deliverable, i.e., something which can be downloaded and used. In the simplest case it's just a .st-file, otherwise Parcels for VW5i. The week after that we'll probably have an "Advanced Theory Session" where on one hand you will be shown stuff like Smallint (powerful static code analyzer), the Refactoring Browser, as well as concepts like Unit Testing (SUnit), etc. We'll see. Regarding next Friday during the Demo also think in terms of explaining us what you did, i.e., can you explain us your "architecture"? From my experience transmitting to another person the architecture of a Software System is pretty darn hard, so this is a good and useful exercise for you.
  • 10. Milestone 5: 21-06-2002 12:00 •  Make a short (max 10 Minutes) presentation of your project. •  The presentation should include slides and a runnable demo. Present yourself, the project you did and "how" you did it. And finally, show off with what you did ;-) •  Finalize and clean your Swiki project page. Upload the latest (demoable) deliverable. The Swiki will be frozen after this milestone and rendered as static HTML. Burning a CD will all projects, the Swiki and the ST homepage is also something we could do, if people want that.
  • 11. Talking about Design and OO •  Do not flatten you objects into string •  Visitor and simple patterns •  Refactoring browser, SmallLint •  Talk to your objects
  • 12. What Could Have Been Done •  Check before and after they knowledge •  Peer code review •  Avoid graphical framework based project –  VW is too much to learn •  Net related pose less problem –  No interface SeaSide and Comanche are good for that