SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
A Teamwork-based Approach
to Programming Fundamentals
with Scheme, Smalltalk & Java
Michele Lanza, Amy L. Murphy*, Romain Robbes, Mircea Lungu,
Paolo Bonzini, Marco D’Ambros, Richard Wettel

Faculty of Informatics - University of Lugano, Switzerland



*now with Foundation Bruno Kessler, Trento, Italy
Introduction      Languages & Tools




          Contents
Didactic Elements      Reflections
Introduction
2004: A new faculty of informatics
A remarkable faculty

‣ Low faculty-student ratio (1:6)
‣ English as teaching language
‣ Compliant with ACM curriculum guidelines
‣ “Agile” infrastructure & 24/7 accessibility
‣ Morning Lectures vs. Afternoon “Ateliers”
                                 Lectures


                                  Atelier
The “Missions” of a newborn faculty

‣ “Research Excellence”

‣ “Teaching Innovation”
 ‣   Multiple programming languages to teach programming
 ‣   Group projects as early as the first semester
 ‣   Independent exercises + single & pair projects
 ‣   Design fests
 ‣   Expert lectures
Programming Fundamentals I & II

                            DF1                  DF2

                                    Personal           Group
           Lectures
                                     Project           Project



                             Scheme

            DF

                  Pair
Lectures                 Lectures                 Group Project
                 Project



    Smalltalk                             Java
Languages & Tools
Scheme - The Functional Clean Slate

‣ Back to square zero
‣ Simple syntax
‣ Dr. Scheme
 ‣   Multimedia libraries

‣ HTDP
 ‣   Emphasizes algorithmic
     thinking and problem solving
 ‣   Enforces programming style
     through a design recipe
The HTDP Design Recipe


; mid-point : posn posn -> posn
; takes two posns and produces the posn in the middle between them
(define mid-point
  (lambda (a-posn b-posn)
     (local (
              (define mid
                (lambda (x y)
                   (/ (+ x y) 2)))
              )
        (make-posn
         (mid (posn-x a-posn) (posn-x b-posn))
         (mid (posn-y a-posn) (posn-y b-posn))))))
; tests
(equal? (make-posn 2 3) (mid-point (make-posn 4 6) (make-posn 0 0)))
Smalltalk - Pure Objects

‣ The Nygaard keynote: into the water with the
 babies
‣ Java not appropriate: too convoluted
‣ Smalltalk: simple syntax, reflective,
 interactive, pure, elegant
‣ Didactic goal: teach concepts
 ‣   Objects, classes, inheritance, polymorphism, message
     sending, frameworks
Java - The Mainstream

‣ Teaching from scratch but at a very fast pace
 ‣   Chance to catch up and reinforcement of key concepts

‣ Focus is not on “how to program” but on
 “how to design (and build) OO programs”
‣ TIJ as a reference book
 ‣   High-speed progress (100 pages/week)
Didactic Elements
Individual Work

‣ Learning to program is a personal thing
 ‣   Graded exercises and written exams

‣ Each assignment includes a trivia part
 (hand-in within 24 hours)
‣ Augmented with supervised, non-graded
 hands-on exercises
 ‣   Goal: Grasp, not evaluation of mastery, of a concept
     ‣   Guided, step-wise path through a problem towards its solution
Single & Pair Projects

‣ Single projects: the first complex program for
 many people, after six weeks
 ‣   2 weeks of intensive development
     ‣   Students sleep in the lab ;-)

     ‣   20% of the final grade

 ‣   MineDetector
Design Fests

‣ Afternoon long sessions with TAs & Profs
‣ Students work in groups to tackle more
 complex problems
‣ Tetrisfest
Expert Lectures

‣ On-Demand lectures on selected topics to
 provide students with necessary knowledge
‣ Example
 ‣   1 lecture on SVN in PF1 to make students use it
 ‣   2 UML lectures in PF2 to make students describe their
     designs
 ‣   1 lecture on “how to give presentations”
Group Projects

‣ 3-5 week long projects on selected topics
‣ Too hard to describe.. Back to USI
Reflections
The Role of the Ateliers

‣ All of this hardly possible without them
‣ Example: PF1 & Software Atelier 1
 ‣   CVS
 ‣   LaTex
 ‣   HTML
 ‣   Unix
 ‣   Most of all: project time!
Conclusions

‣ A “one of a kind” experience
 ‣   The conjunction of the “right people” in the “right mindset”
     at the “right place”
 ‣   Highly successful, some of the best students I’ve ever
     seen came out of this
 ‣   Created closely knit groups of students, instead of “mass
     anonymity”

‣ Good times..
+        +         =



A great idea, but...
R.I.P.

Mais conteúdo relacionado

Destaque

Software Visualization - Promises & Perils
Software Visualization - Promises & PerilsSoftware Visualization - Promises & Perils
Software Visualization - Promises & PerilsMichele Lanza
 
A Holistic Approach to Evolving Software Systems
A Holistic Approach to Evolving Software SystemsA Holistic Approach to Evolving Software Systems
A Holistic Approach to Evolving Software SystemsMichele Lanza
 
Of Code and Change: Beautiful Software
Of Code and Change: Beautiful SoftwareOf Code and Change: Beautiful Software
Of Code and Change: Beautiful SoftwareMichele Lanza
 
Beauty is in the Eye of the Beholder
Beauty is in the Eye of the BeholderBeauty is in the Eye of the Beholder
Beauty is in the Eye of the BeholderMichele Lanza
 
The Visual Terminator
The Visual TerminatorThe Visual Terminator
The Visual TerminatorMichele Lanza
 
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software EvolutionEvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software EvolutionMichele Lanza
 
Visualizing Gnome with the Small Project Observatory
Visualizing Gnome with the Small Project ObservatoryVisualizing Gnome with the Small Project Observatory
Visualizing Gnome with the Small Project ObservatoryMichele Lanza
 
Software Visualization 101+
Software Visualization 101+Software Visualization 101+
Software Visualization 101+Michele Lanza
 
Smalltalk In a Nutshell
Smalltalk In a NutshellSmalltalk In a Nutshell
Smalltalk In a NutshellMichele Lanza
 
ICPE2015
ICPE2015ICPE2015
ICPE2015swy351
 
ICSME2014
ICSME2014ICSME2014
ICSME2014swy351
 
ICSE2013
ICSE2013ICSE2013
ICSE2013swy351
 
MSR 2009
MSR 2009MSR 2009
MSR 2009swy351
 
Msr2016 tarek
Msr2016 tarek Msr2016 tarek
Msr2016 tarek swy351
 
WCRE2011
WCRE2011WCRE2011
WCRE2011swy351
 
ICSE2014
ICSE2014ICSE2014
ICSE2014swy351
 
ASE2010
ASE2010ASE2010
ASE2010swy351
 
Object-Oriented Metrics in Practice
Object-Oriented Metrics in PracticeObject-Oriented Metrics in Practice
Object-Oriented Metrics in PracticeMichele Lanza
 

Destaque (20)

Software Visualization - Promises & Perils
Software Visualization - Promises & PerilsSoftware Visualization - Promises & Perils
Software Visualization - Promises & Perils
 
A Holistic Approach to Evolving Software Systems
A Holistic Approach to Evolving Software SystemsA Holistic Approach to Evolving Software Systems
A Holistic Approach to Evolving Software Systems
 
Of Code and Change: Beautiful Software
Of Code and Change: Beautiful SoftwareOf Code and Change: Beautiful Software
Of Code and Change: Beautiful Software
 
Beauty is in the Eye of the Beholder
Beauty is in the Eye of the BeholderBeauty is in the Eye of the Beholder
Beauty is in the Eye of the Beholder
 
The Visual Terminator
The Visual TerminatorThe Visual Terminator
The Visual Terminator
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software EvolutionEvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
 
Visualizing Gnome with the Small Project Observatory
Visualizing Gnome with the Small Project ObservatoryVisualizing Gnome with the Small Project Observatory
Visualizing Gnome with the Small Project Observatory
 
Software Visualization 101+
Software Visualization 101+Software Visualization 101+
Software Visualization 101+
 
Seeing Software
Seeing SoftwareSeeing Software
Seeing Software
 
Smalltalk In a Nutshell
Smalltalk In a NutshellSmalltalk In a Nutshell
Smalltalk In a Nutshell
 
ICPE2015
ICPE2015ICPE2015
ICPE2015
 
ICSME2014
ICSME2014ICSME2014
ICSME2014
 
ICSE2013
ICSE2013ICSE2013
ICSE2013
 
MSR 2009
MSR 2009MSR 2009
MSR 2009
 
Msr2016 tarek
Msr2016 tarek Msr2016 tarek
Msr2016 tarek
 
WCRE2011
WCRE2011WCRE2011
WCRE2011
 
ICSE2014
ICSE2014ICSE2014
ICSE2014
 
ASE2010
ASE2010ASE2010
ASE2010
 
Object-Oriented Metrics in Practice
Object-Oriented Metrics in PracticeObject-Oriented Metrics in Practice
Object-Oriented Metrics in Practice
 

Semelhante a A Teamwork-based Approach to Programming Fundamentals with Scheme, Smalltalk & Java

PL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesPL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesSchwannden Kuo
 
komlenov01.ppt
komlenov01.pptkomlenov01.ppt
komlenov01.pptMonishaAb1
 
Natural Language Processing - Research and Application Trends
Natural Language Processing - Research and Application TrendsNatural Language Processing - Research and Application Trends
Natural Language Processing - Research and Application TrendsShreyas Suresh Rao
 
Teaching Functional Programming @ TCD - 11/2012
Teaching Functional Programming @ TCD - 11/2012Teaching Functional Programming @ TCD - 11/2012
Teaching Functional Programming @ TCD - 11/2012Roland Tritsch
 
Media as Levers (pdf)
Media as Levers (pdf)Media as Levers (pdf)
Media as Levers (pdf)Lawrie Hunter
 
How not to fail at programming education
How not to fail at programming educationHow not to fail at programming education
How not to fail at programming educationEsther Seyffarth
 
Domain specific languages and Scala
Domain specific languages and ScalaDomain specific languages and Scala
Domain specific languages and ScalaFilip Krikava
 
The Editor as EAP Instructor
The Editor as EAP InstructorThe Editor as EAP Instructor
The Editor as EAP InstructorLawrie Hunter
 
DataMind interactive learning: Dublin R User Group: September 2013
DataMind interactive learning: Dublin R User Group: September 2013DataMind interactive learning: Dublin R User Group: September 2013
DataMind interactive learning: Dublin R User Group: September 2013DataMind-slides
 
PLaNet talk @ LKL Knowledge Seminar, 30 Jan, 2008
PLaNet talk @ LKL Knowledge Seminar, 30 Jan, 2008PLaNet talk @ LKL Knowledge Seminar, 30 Jan, 2008
PLaNet talk @ LKL Knowledge Seminar, 30 Jan, 2008Yishay Mor
 
Words to the wise
Words to the wiseWords to the wise
Words to the wiseJohn Mason
 
MFADT Spacebrew: Class 1
MFADT Spacebrew: Class 1MFADT Spacebrew: Class 1
MFADT Spacebrew: Class 1Brett Renfer
 
python for linguists
python for linguistspython for linguists
python for linguistsshukaihsieh
 
A Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpA Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpRikki Wright
 
Domain Specific Languages
Domain Specific LanguagesDomain Specific Languages
Domain Specific LanguagesLakshan Perera
 
Week 1 Welcome to 3D Vis
Week 1 Welcome to 3D VisWeek 1 Welcome to 3D Vis
Week 1 Welcome to 3D VisScottRoberts37
 
Scientific and Technical Translation in English - Week 7
Scientific and Technical Translation in English - Week 7Scientific and Technical Translation in English - Week 7
Scientific and Technical Translation in English - Week 7Ron Martinez
 

Semelhante a A Teamwork-based Approach to Programming Fundamentals with Scheme, Smalltalk & Java (20)

PL Lecture 01 - preliminaries
PL Lecture 01 - preliminariesPL Lecture 01 - preliminaries
PL Lecture 01 - preliminaries
 
komlenov01.ppt
komlenov01.pptkomlenov01.ppt
komlenov01.ppt
 
Natural Language Processing - Research and Application Trends
Natural Language Processing - Research and Application TrendsNatural Language Processing - Research and Application Trends
Natural Language Processing - Research and Application Trends
 
Teaching Functional Programming @ TCD - 11/2012
Teaching Functional Programming @ TCD - 11/2012Teaching Functional Programming @ TCD - 11/2012
Teaching Functional Programming @ TCD - 11/2012
 
Media as Levers (pdf)
Media as Levers (pdf)Media as Levers (pdf)
Media as Levers (pdf)
 
How not to fail at programming education
How not to fail at programming educationHow not to fail at programming education
How not to fail at programming education
 
Domain specific languages and Scala
Domain specific languages and ScalaDomain specific languages and Scala
Domain specific languages and Scala
 
The Editor as EAP Instructor
The Editor as EAP InstructorThe Editor as EAP Instructor
The Editor as EAP Instructor
 
130704798265658191
130704798265658191130704798265658191
130704798265658191
 
DataMind interactive learning: Dublin R User Group: September 2013
DataMind interactive learning: Dublin R User Group: September 2013DataMind interactive learning: Dublin R User Group: September 2013
DataMind interactive learning: Dublin R User Group: September 2013
 
PLaNet talk @ LKL Knowledge Seminar, 30 Jan, 2008
PLaNet talk @ LKL Knowledge Seminar, 30 Jan, 2008PLaNet talk @ LKL Knowledge Seminar, 30 Jan, 2008
PLaNet talk @ LKL Knowledge Seminar, 30 Jan, 2008
 
How long...
How long...How long...
How long...
 
Words to the wise
Words to the wiseWords to the wise
Words to the wise
 
twintech wshop2-main ppt
twintech wshop2-main ppttwintech wshop2-main ppt
twintech wshop2-main ppt
 
MFADT Spacebrew: Class 1
MFADT Spacebrew: Class 1MFADT Spacebrew: Class 1
MFADT Spacebrew: Class 1
 
python for linguists
python for linguistspython for linguists
python for linguists
 
A Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpA Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And Rlbp
 
Domain Specific Languages
Domain Specific LanguagesDomain Specific Languages
Domain Specific Languages
 
Week 1 Welcome to 3D Vis
Week 1 Welcome to 3D VisWeek 1 Welcome to 3D Vis
Week 1 Welcome to 3D Vis
 
Scientific and Technical Translation in English - Week 7
Scientific and Technical Translation in English - Week 7Scientific and Technical Translation in English - Week 7
Scientific and Technical Translation in English - Week 7
 

Último

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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
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
 
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
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Último (20)

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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

A Teamwork-based Approach to Programming Fundamentals with Scheme, Smalltalk & Java

  • 1. A Teamwork-based Approach to Programming Fundamentals with Scheme, Smalltalk & Java Michele Lanza, Amy L. Murphy*, Romain Robbes, Mircea Lungu, Paolo Bonzini, Marco D’Ambros, Richard Wettel Faculty of Informatics - University of Lugano, Switzerland *now with Foundation Bruno Kessler, Trento, Italy
  • 2. Introduction Languages & Tools Contents Didactic Elements Reflections
  • 4. 2004: A new faculty of informatics
  • 5. A remarkable faculty ‣ Low faculty-student ratio (1:6) ‣ English as teaching language ‣ Compliant with ACM curriculum guidelines ‣ “Agile” infrastructure & 24/7 accessibility ‣ Morning Lectures vs. Afternoon “Ateliers” Lectures Atelier
  • 6. The “Missions” of a newborn faculty ‣ “Research Excellence” ‣ “Teaching Innovation” ‣ Multiple programming languages to teach programming ‣ Group projects as early as the first semester ‣ Independent exercises + single & pair projects ‣ Design fests ‣ Expert lectures
  • 7. Programming Fundamentals I & II DF1 DF2 Personal Group Lectures Project Project Scheme DF Pair Lectures Lectures Group Project Project Smalltalk Java
  • 9. Scheme - The Functional Clean Slate ‣ Back to square zero ‣ Simple syntax ‣ Dr. Scheme ‣ Multimedia libraries ‣ HTDP ‣ Emphasizes algorithmic thinking and problem solving ‣ Enforces programming style through a design recipe
  • 10. The HTDP Design Recipe ; mid-point : posn posn -> posn ; takes two posns and produces the posn in the middle between them (define mid-point (lambda (a-posn b-posn) (local ( (define mid (lambda (x y) (/ (+ x y) 2))) ) (make-posn (mid (posn-x a-posn) (posn-x b-posn)) (mid (posn-y a-posn) (posn-y b-posn)))))) ; tests (equal? (make-posn 2 3) (mid-point (make-posn 4 6) (make-posn 0 0)))
  • 11.
  • 12. Smalltalk - Pure Objects ‣ The Nygaard keynote: into the water with the babies ‣ Java not appropriate: too convoluted ‣ Smalltalk: simple syntax, reflective, interactive, pure, elegant ‣ Didactic goal: teach concepts ‣ Objects, classes, inheritance, polymorphism, message sending, frameworks
  • 13. Java - The Mainstream ‣ Teaching from scratch but at a very fast pace ‣ Chance to catch up and reinforcement of key concepts ‣ Focus is not on “how to program” but on “how to design (and build) OO programs” ‣ TIJ as a reference book ‣ High-speed progress (100 pages/week)
  • 15. Individual Work ‣ Learning to program is a personal thing ‣ Graded exercises and written exams ‣ Each assignment includes a trivia part (hand-in within 24 hours) ‣ Augmented with supervised, non-graded hands-on exercises ‣ Goal: Grasp, not evaluation of mastery, of a concept ‣ Guided, step-wise path through a problem towards its solution
  • 16. Single & Pair Projects ‣ Single projects: the first complex program for many people, after six weeks ‣ 2 weeks of intensive development ‣ Students sleep in the lab ;-) ‣ 20% of the final grade ‣ MineDetector
  • 17. Design Fests ‣ Afternoon long sessions with TAs & Profs ‣ Students work in groups to tackle more complex problems ‣ Tetrisfest
  • 18. Expert Lectures ‣ On-Demand lectures on selected topics to provide students with necessary knowledge ‣ Example ‣ 1 lecture on SVN in PF1 to make students use it ‣ 2 UML lectures in PF2 to make students describe their designs ‣ 1 lecture on “how to give presentations”
  • 19. Group Projects ‣ 3-5 week long projects on selected topics ‣ Too hard to describe.. Back to USI
  • 20.
  • 22. The Role of the Ateliers ‣ All of this hardly possible without them ‣ Example: PF1 & Software Atelier 1 ‣ CVS ‣ LaTex ‣ HTML ‣ Unix ‣ Most of all: project time!
  • 23. Conclusions ‣ A “one of a kind” experience ‣ The conjunction of the “right people” in the “right mindset” at the “right place” ‣ Highly successful, some of the best students I’ve ever seen came out of this ‣ Created closely knit groups of students, instead of “mass anonymity” ‣ Good times..
  • 24. + + = A great idea, but...