SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Effective Learning
   (& Teaching)
Sharafat Ibn Mollah Mosharraf
         Software Engineer,
           Therap (BD) Ltd.
     sharafat@therapservices.net
The WH-Questions for Learning
     ●       Why
     ●       What
     ●       How
     ●       Where
     ●       When




Effective Learning (& Teaching)      1 / 17
The WH-Questions for Learning...
      ● Why
          1. Why do we have to learn this?
      ● What
          2. What is it?
          4. What are the other available options?
      ● How
          3. How does it work?
          5. How is it different (as well as better / worse) than
             the other available options?
      ● Where
          6.1. Where should this be used?
      ● When
          6.2. When should this be used?
Effective Learning (& Teaching)                                     2 / 17
Example Learning Object
     ● Java synchronized keyword
     ● Example usage of synchronized keyword:
             public class SynchronizedCounter {
                 private int c = 0;

             public synchronized void increment() {
                     c++;
                 }

             public synchronized void decrement() {
                     c--;
                 }

             public synchronized int value() {
                     return c;
             }
             }
Effective Learning (& Teaching)                       3 / 17
The Why Part
      ● Why
          1. Why do we have to learn this?
        Answer: Understand Race condition.

             public class UnsynchronizedCounter {
                  private int c = 0;

                     public void increment() {
                          c++;
                     }

                     public void decrement() {
                          c--;
                     }

                     public int value() {
                          return c;
                     }
             }

Effective Learning (& Teaching)                     4 / 17
The What Part - 1st Question
      ● Why
          1. Why do we have to learn this?
      ● What
          2. What is it?       public class SynchronizedCounter      {
                                         private int c = 0;

       Answer: Putting the               public synchronized void increment() {
                                              c++;
       synchronized keyword              }
       before the method                 public synchronized void decrement() {
       name prevents                     }
                                              c--;

       concurrent access to
                                         public synchronized int value() {
       the method.                            return c;
                                         }
                                     }


Effective Learning (& Teaching)                                               5 / 17
The How Part - 1st Question
      ● Why
          1. Why do we have to learn this?
      ● What
          2. What is it?
                                public class SynchronizedCounter {
      ● How                          private int c = 0;

          3. How does it work?       public synchronized void increment()      {
                                               c++;
                                           }
      Answer: Understand the
                                           public synchronized void decrement() {
      intricacies of locking.                   c--;
                                           }

                                           public synchronized int value() {
                                                return c;
                                           }
                                       }

Effective Learning (& Teaching)                                                6 / 17
The What Part - 2nd Question
       ●     Why
                 1. Why do we have to learn this?
       ●     What
                2. What is it?
                4. What are the other available options?
       ●     How
                3. How does it work?

       Answer: Can't we put the synchronized keyword before the class
       name or even just a block of statements?
       public synchronized class SynchronizedCounter {     public void do() {
            private int c = 0;
                                                                //some statements
               public void increment() {                        synchronized {
                    c++;                                             //a few statements
               }
                                                                }
               public void decrement() {                       //some more statements
                    c--;
               }                                           }
       }
Effective Learning (& Teaching)                                                           7 / 17
The How Part - 2nd Question
      ● Why
          1. Why do we have to learn this?
      ● What
          2. What is it?
          4. What are the other available options?
      ● How
          3. How does it work?
          5. How is it different (as well as better / worse) than
             the other available options?

      Answer: Understand how method synchronization is
      better than class synchronization but worse than
      synchronizing group of statements.
Effective Learning (& Teaching)                                     8 / 17
The How Part - 2nd Question...
      Method Synchronization
      public class SynchronizedCounter {
           private int c = 0;

              public synchronized void increment() {
                   c++;
              }

              public synchronized void decrement() {
                   c--;
              }
      }

     Class Synchronization                             Statement Block Synchronization
     public synchronized class SynchronizedCounter {   public void do() {
           private int c = 0;
                                                            //some log statements
              public void increment() {                     synchronized {
                   c++;                                          //a few statements
              }                                             }
              public void decrement() {                      //some activity publishing statements
                   c--;                                }
              }
      }
Effective Learning (& Teaching)                                                                  9 / 17
The Where Part
       ●     Why
                 1. Why do we have to learn this?
       ●     What
                2. What is it?
                4. What are the other available options?
       ●     How
                3. How does it work?
                5. How is it different (as well as better / worse) than
                   the other available options?
       ●     Where
                6.1. Where should this be used?

             Answer: To the part of code where concurrent access might occur.



Effective Learning (& Teaching)                                                 10 / 17
The When Part
       ●     Why
                 1. Why do we have to learn this?
       ●     What
                2. What is it?
                4. What are the other available options?
       ●     How
                3. How does it work?
                5. How is it different (as well as better / worse) than
                   the other available options?
       ●     Where
                6.1. Where should this be used?
      ● When
          6.2. When should this be used?
     Answer: Understand when to use method level and block level
     synchronization.
Effective Learning (& Teaching)                                           11 / 17
The Common Part
                   ● Why
                       1. Why do we have to learn this?
                   ● What
                       2. What is it?
                       4. What are the other available options?
                   ● How
                       3. How does it work?
                       5. How is it different (as well as better / worse) than
                          the other available options?
                   ● Where
                       6.1. Where should this be used?
                   ● When
                       6.2. When should this be used?
Effective Learning (& Teaching)                                                  12 / 17
Characteristics of an Example
     ● Precise, to the point
              ○ The more useless information you get, the more
                your chance of missing the actual point.
     ● Concise
              ○ Lengthy examples make one feel sleepy...
     ● Must be based on something the audience is
       familiar with
              ○ Surely you don't want to have the 'Rover Robot' as
                an example of an object!
     ● Easy-to-understand
              ○ It's the ultimate outcome of the above points.

Effective Learning (& Teaching)                                      13 / 17
Effective Teaching (Problem-Solving Style)
     [Don't confuse with Gangnam Style!!]



     When teaching a new topic,
     ● Start with something the audience is familiar
       with.
     ● Point out its limitations, failure cases etc.
              ○ Make sure to clearly identify the root cause of
                limitation/failure.
     ● Discuss possible solutions for overcoming
       the root cause and thus the limitations.
     ● Discuss the difference of the various
       solutions, their shortcomings, remedy and so
       on.
Effective Learning (& Teaching)                                   14 / 17
Effective Memorization
     ● Find out why something is named as it's
       named.
              ○ Knowing the justification for naming something helps
                memorize about what it means or does.
     ● Know the subtle differences (if exists) among
       similar things / terminologies.
              ○ For example, the difference between function
                parameter and function argument.
              ○ This also enables one to use appropriate term in
                appropriate places.


Effective Learning (& Teaching)                                        15 / 17
Learning / Teaching the Big Picture
     ● Know the ultimate goal / target / objective.
     ● Know why that should be learnt.
     ● Know a shallow overview of the steps.
     ● Start learning a step in details, following the
       approach discussed in this presentation.
     ● When moving to the next step, know why
       you need to move to it and why you
       shouldn't move to other available steps
       before this one. (i.e., know the link between
       steps)
Effective Learning (& Teaching)                          16 / 17
Learning Languages / Frameworks
     ● Method 1
              ○ Read all topics in depth
              ○ Take a big project and implement it.
     ● Method 2
              ○ Read a topic in depth
              ○ Implement it in code
              ○ Progress...
     ● Method 3
              ○ Read all topics in short (i.e., knowing what topics are
                available, what they mean and why do you need
                those).
              ○ Take a big project but start it small.
              ○ While implementing each part, learn it in depth.
Effective Learning (& Teaching)                                           17 / 17

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (7)

[JWPA-1]의존성 주입(Dependency injection)
[JWPA-1]의존성 주입(Dependency injection)[JWPA-1]의존성 주입(Dependency injection)
[JWPA-1]의존성 주입(Dependency injection)
 
PART - 1 Cpp programming Solved MCQ
PART - 1 Cpp programming Solved MCQPART - 1 Cpp programming Solved MCQ
PART - 1 Cpp programming Solved MCQ
 
Oop l2
Oop l2Oop l2
Oop l2
 
Support for Object-Oriented Programming (OOP) in C++
Support for Object-Oriented Programming (OOP) in C++Support for Object-Oriented Programming (OOP) in C++
Support for Object-Oriented Programming (OOP) in C++
 
Inheritance
InheritanceInheritance
Inheritance
 
Aae oop xp_07
Aae oop xp_07Aae oop xp_07
Aae oop xp_07
 
C++ largest no between three nos
C++ largest no between three nosC++ largest no between three nos
C++ largest no between three nos
 

Andere mochten auch

Reflective Teaching, Effective Learning by Char Booth
Reflective Teaching, Effective Learning by Char BoothReflective Teaching, Effective Learning by Char Booth
Reflective Teaching, Effective Learning by Char Boothchar booth
 
Field study two Outcome – Based Learning Experience1
Field study two Outcome – Based Learning Experience1Field study two Outcome – Based Learning Experience1
Field study two Outcome – Based Learning Experience1may jumayao
 
Field Study 2 Episode 1
Field Study 2 Episode 1Field Study 2 Episode 1
Field Study 2 Episode 1Jundel Deliman
 
Psychomotor Domain of Learning
Psychomotor Domain of LearningPsychomotor Domain of Learning
Psychomotor Domain of LearningAlex Legara
 
Field Study 2 Episode 2
Field Study 2 Episode 2Field Study 2 Episode 2
Field Study 2 Episode 2Jundel Deliman
 
FS 2 (Episodes 1,2,and 3)
FS 2 (Episodes 1,2,and 3)FS 2 (Episodes 1,2,and 3)
FS 2 (Episodes 1,2,and 3)Alvin Lim
 
Field Study 2: FS2 Experiencing the Teaching- Learning Process
Field Study 2: FS2 Experiencing the Teaching- Learning ProcessField Study 2: FS2 Experiencing the Teaching- Learning Process
Field Study 2: FS2 Experiencing the Teaching- Learning ProcessJessa Arnado
 
Different approaches and methods
Different approaches and methodsDifferent approaches and methods
Different approaches and methodsswitlu
 

Andere mochten auch (13)

Reflective Teaching, Effective Learning by Char Booth
Reflective Teaching, Effective Learning by Char BoothReflective Teaching, Effective Learning by Char Booth
Reflective Teaching, Effective Learning by Char Booth
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Field study two Outcome – Based Learning Experience1
Field study two Outcome – Based Learning Experience1Field study two Outcome – Based Learning Experience1
Field study two Outcome – Based Learning Experience1
 
Field study 1 episode 1
Field study 1 episode 1Field study 1 episode 1
Field study 1 episode 1
 
Field study 1 episode 4
Field study 1 episode 4Field study 1 episode 4
Field study 1 episode 4
 
Field study 1 episode 6
Field study 1 episode 6Field study 1 episode 6
Field study 1 episode 6
 
Psychomotor and affective domain of blooms' taxonomy
Psychomotor and affective domain of blooms' taxonomyPsychomotor and affective domain of blooms' taxonomy
Psychomotor and affective domain of blooms' taxonomy
 
Field Study 2 Episode 1
Field Study 2 Episode 1Field Study 2 Episode 1
Field Study 2 Episode 1
 
Psychomotor Domain of Learning
Psychomotor Domain of LearningPsychomotor Domain of Learning
Psychomotor Domain of Learning
 
Field Study 2 Episode 2
Field Study 2 Episode 2Field Study 2 Episode 2
Field Study 2 Episode 2
 
FS 2 (Episodes 1,2,and 3)
FS 2 (Episodes 1,2,and 3)FS 2 (Episodes 1,2,and 3)
FS 2 (Episodes 1,2,and 3)
 
Field Study 2: FS2 Experiencing the Teaching- Learning Process
Field Study 2: FS2 Experiencing the Teaching- Learning ProcessField Study 2: FS2 Experiencing the Teaching- Learning Process
Field Study 2: FS2 Experiencing the Teaching- Learning Process
 
Different approaches and methods
Different approaches and methodsDifferent approaches and methods
Different approaches and methods
 

Ähnlich wie Effective Learning (& Teaching)

OOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesOOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesHitesh-Java
 
Session 10 - OOP with Java - Abstract Classes and Interfaces
Session 10 - OOP with Java - Abstract Classes and InterfacesSession 10 - OOP with Java - Abstract Classes and Interfaces
Session 10 - OOP with Java - Abstract Classes and InterfacesPawanMM
 
Lecture 8 abstract class and interface
Lecture   8 abstract class and interfaceLecture   8 abstract class and interface
Lecture 8 abstract class and interfacemanish kumar
 
Java class 4
Java class 4Java class 4
Java class 4Edureka!
 
Implementation of interface9 cm604.30
Implementation of interface9 cm604.30Implementation of interface9 cm604.30
Implementation of interface9 cm604.30myrajendra
 
Software design principles SOLID
Software design principles SOLIDSoftware design principles SOLID
Software design principles SOLIDFoyzul Karim
 
OOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesOOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesRatnaJava
 
Clean code and Code Smells
Clean code and Code SmellsClean code and Code Smells
Clean code and Code SmellsMario Sangiorgio
 
Software Frameworks
Software FrameworksSoftware Frameworks
Software Frameworksadil raja
 
Exception handling and packages.pdf
Exception handling and packages.pdfException handling and packages.pdf
Exception handling and packages.pdfKp Sharma
 
Object Oriented Programming - Inheritance
Object Oriented Programming - InheritanceObject Oriented Programming - Inheritance
Object Oriented Programming - InheritanceDudy Ali
 
Implementation of oop concept in c++
Implementation of oop concept in c++Implementation of oop concept in c++
Implementation of oop concept in c++Swarup Boro
 
How to write you first class in c++ object oriented programming
How to write you first class in c++ object oriented programmingHow to write you first class in c++ object oriented programming
How to write you first class in c++ object oriented programmingSyed Faizan Hassan
 
OO-like C Programming: Struct Inheritance and Virtual Function
OO-like C Programming: Struct Inheritance and Virtual FunctionOO-like C Programming: Struct Inheritance and Virtual Function
OO-like C Programming: Struct Inheritance and Virtual FunctionYu-Sheng (Yosen) Chen
 
Chapter 7:Understanding Class Inheritance
Chapter 7:Understanding Class InheritanceChapter 7:Understanding Class Inheritance
Chapter 7:Understanding Class InheritanceIt Academy
 

Ähnlich wie Effective Learning (& Teaching) (20)

OOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesOOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and Interfaces
 
Session 10 - OOP with Java - Abstract Classes and Interfaces
Session 10 - OOP with Java - Abstract Classes and InterfacesSession 10 - OOP with Java - Abstract Classes and Interfaces
Session 10 - OOP with Java - Abstract Classes and Interfaces
 
Lecture 8 abstract class and interface
Lecture   8 abstract class and interfaceLecture   8 abstract class and interface
Lecture 8 abstract class and interface
 
Java class 4
Java class 4Java class 4
Java class 4
 
Implementation of interface9 cm604.30
Implementation of interface9 cm604.30Implementation of interface9 cm604.30
Implementation of interface9 cm604.30
 
Software design principles SOLID
Software design principles SOLIDSoftware design principles SOLID
Software design principles SOLID
 
OOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and InterfacesOOP with Java - Abstract Classes and Interfaces
OOP with Java - Abstract Classes and Interfaces
 
SOLID principles
SOLID principlesSOLID principles
SOLID principles
 
Clean code and Code Smells
Clean code and Code SmellsClean code and Code Smells
Clean code and Code Smells
 
Aptitute question papers in c
Aptitute question papers in cAptitute question papers in c
Aptitute question papers in c
 
Software Frameworks
Software FrameworksSoftware Frameworks
Software Frameworks
 
Exception handling and packages.pdf
Exception handling and packages.pdfException handling and packages.pdf
Exception handling and packages.pdf
 
Interfaces c#
Interfaces c#Interfaces c#
Interfaces c#
 
Object Oriented Programming - Inheritance
Object Oriented Programming - InheritanceObject Oriented Programming - Inheritance
Object Oriented Programming - Inheritance
 
Implementation of oop concept in c++
Implementation of oop concept in c++Implementation of oop concept in c++
Implementation of oop concept in c++
 
Four Pillers Of OOPS
Four Pillers Of OOPSFour Pillers Of OOPS
Four Pillers Of OOPS
 
How to write you first class in c++ object oriented programming
How to write you first class in c++ object oriented programmingHow to write you first class in c++ object oriented programming
How to write you first class in c++ object oriented programming
 
Inheritance
InheritanceInheritance
Inheritance
 
OO-like C Programming: Struct Inheritance and Virtual Function
OO-like C Programming: Struct Inheritance and Virtual FunctionOO-like C Programming: Struct Inheritance and Virtual Function
OO-like C Programming: Struct Inheritance and Virtual Function
 
Chapter 7:Understanding Class Inheritance
Chapter 7:Understanding Class InheritanceChapter 7:Understanding Class Inheritance
Chapter 7:Understanding Class Inheritance
 

Mehr von Sharafat Ibn Mollah Mosharraf

Mehr von Sharafat Ibn Mollah Mosharraf (6)

GRP GRM Development Progress Presentation
GRP GRM Development Progress PresentationGRP GRM Development Progress Presentation
GRP GRM Development Progress Presentation
 
Manners Matter: Learning Professional Etiquettes
Manners Matter: Learning Professional EtiquettesManners Matter: Learning Professional Etiquettes
Manners Matter: Learning Professional Etiquettes
 
SQL
SQLSQL
SQL
 
Hibernate collection & association mapping
Hibernate collection & association mappingHibernate collection & association mapping
Hibernate collection & association mapping
 
Android Insights - 3 [Content Providers]
Android Insights - 3 [Content Providers]Android Insights - 3 [Content Providers]
Android Insights - 3 [Content Providers]
 
Android Insights - 1 [Intents]
Android Insights - 1 [Intents]Android Insights - 1 [Intents]
Android Insights - 1 [Intents]
 

Kürzlich hochgeladen

Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxcallscotland1987
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhikauryashika82
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Jisc
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docxPoojaSen20
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxAmita Gupta
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 

Kürzlich hochgeladen (20)

Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Third Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptxThird Battle of Panipat detailed notes.pptx
Third Battle of Panipat detailed notes.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 

Effective Learning (& Teaching)

  • 1. Effective Learning (& Teaching) Sharafat Ibn Mollah Mosharraf Software Engineer, Therap (BD) Ltd. sharafat@therapservices.net
  • 2. The WH-Questions for Learning ● Why ● What ● How ● Where ● When Effective Learning (& Teaching) 1 / 17
  • 3. The WH-Questions for Learning... ● Why 1. Why do we have to learn this? ● What 2. What is it? 4. What are the other available options? ● How 3. How does it work? 5. How is it different (as well as better / worse) than the other available options? ● Where 6.1. Where should this be used? ● When 6.2. When should this be used? Effective Learning (& Teaching) 2 / 17
  • 4. Example Learning Object ● Java synchronized keyword ● Example usage of synchronized keyword: public class SynchronizedCounter { private int c = 0; public synchronized void increment() { c++; } public synchronized void decrement() { c--; } public synchronized int value() { return c; } } Effective Learning (& Teaching) 3 / 17
  • 5. The Why Part ● Why 1. Why do we have to learn this? Answer: Understand Race condition. public class UnsynchronizedCounter { private int c = 0; public void increment() { c++; } public void decrement() { c--; } public int value() { return c; } } Effective Learning (& Teaching) 4 / 17
  • 6. The What Part - 1st Question ● Why 1. Why do we have to learn this? ● What 2. What is it? public class SynchronizedCounter { private int c = 0; Answer: Putting the public synchronized void increment() { c++; synchronized keyword } before the method public synchronized void decrement() { name prevents } c--; concurrent access to public synchronized int value() { the method. return c; } } Effective Learning (& Teaching) 5 / 17
  • 7. The How Part - 1st Question ● Why 1. Why do we have to learn this? ● What 2. What is it? public class SynchronizedCounter { ● How private int c = 0; 3. How does it work? public synchronized void increment() { c++; } Answer: Understand the public synchronized void decrement() { intricacies of locking. c--; } public synchronized int value() { return c; } } Effective Learning (& Teaching) 6 / 17
  • 8. The What Part - 2nd Question ● Why 1. Why do we have to learn this? ● What 2. What is it? 4. What are the other available options? ● How 3. How does it work? Answer: Can't we put the synchronized keyword before the class name or even just a block of statements? public synchronized class SynchronizedCounter { public void do() { private int c = 0; //some statements public void increment() { synchronized { c++; //a few statements } } public void decrement() { //some more statements c--; } } } Effective Learning (& Teaching) 7 / 17
  • 9. The How Part - 2nd Question ● Why 1. Why do we have to learn this? ● What 2. What is it? 4. What are the other available options? ● How 3. How does it work? 5. How is it different (as well as better / worse) than the other available options? Answer: Understand how method synchronization is better than class synchronization but worse than synchronizing group of statements. Effective Learning (& Teaching) 8 / 17
  • 10. The How Part - 2nd Question... Method Synchronization public class SynchronizedCounter { private int c = 0; public synchronized void increment() { c++; } public synchronized void decrement() { c--; } } Class Synchronization Statement Block Synchronization public synchronized class SynchronizedCounter { public void do() { private int c = 0; //some log statements public void increment() { synchronized { c++; //a few statements } } public void decrement() { //some activity publishing statements c--; } } } Effective Learning (& Teaching) 9 / 17
  • 11. The Where Part ● Why 1. Why do we have to learn this? ● What 2. What is it? 4. What are the other available options? ● How 3. How does it work? 5. How is it different (as well as better / worse) than the other available options? ● Where 6.1. Where should this be used? Answer: To the part of code where concurrent access might occur. Effective Learning (& Teaching) 10 / 17
  • 12. The When Part ● Why 1. Why do we have to learn this? ● What 2. What is it? 4. What are the other available options? ● How 3. How does it work? 5. How is it different (as well as better / worse) than the other available options? ● Where 6.1. Where should this be used? ● When 6.2. When should this be used? Answer: Understand when to use method level and block level synchronization. Effective Learning (& Teaching) 11 / 17
  • 13. The Common Part ● Why 1. Why do we have to learn this? ● What 2. What is it? 4. What are the other available options? ● How 3. How does it work? 5. How is it different (as well as better / worse) than the other available options? ● Where 6.1. Where should this be used? ● When 6.2. When should this be used? Effective Learning (& Teaching) 12 / 17
  • 14. Characteristics of an Example ● Precise, to the point ○ The more useless information you get, the more your chance of missing the actual point. ● Concise ○ Lengthy examples make one feel sleepy... ● Must be based on something the audience is familiar with ○ Surely you don't want to have the 'Rover Robot' as an example of an object! ● Easy-to-understand ○ It's the ultimate outcome of the above points. Effective Learning (& Teaching) 13 / 17
  • 15. Effective Teaching (Problem-Solving Style) [Don't confuse with Gangnam Style!!] When teaching a new topic, ● Start with something the audience is familiar with. ● Point out its limitations, failure cases etc. ○ Make sure to clearly identify the root cause of limitation/failure. ● Discuss possible solutions for overcoming the root cause and thus the limitations. ● Discuss the difference of the various solutions, their shortcomings, remedy and so on. Effective Learning (& Teaching) 14 / 17
  • 16. Effective Memorization ● Find out why something is named as it's named. ○ Knowing the justification for naming something helps memorize about what it means or does. ● Know the subtle differences (if exists) among similar things / terminologies. ○ For example, the difference between function parameter and function argument. ○ This also enables one to use appropriate term in appropriate places. Effective Learning (& Teaching) 15 / 17
  • 17. Learning / Teaching the Big Picture ● Know the ultimate goal / target / objective. ● Know why that should be learnt. ● Know a shallow overview of the steps. ● Start learning a step in details, following the approach discussed in this presentation. ● When moving to the next step, know why you need to move to it and why you shouldn't move to other available steps before this one. (i.e., know the link between steps) Effective Learning (& Teaching) 16 / 17
  • 18. Learning Languages / Frameworks ● Method 1 ○ Read all topics in depth ○ Take a big project and implement it. ● Method 2 ○ Read a topic in depth ○ Implement it in code ○ Progress... ● Method 3 ○ Read all topics in short (i.e., knowing what topics are available, what they mean and why do you need those). ○ Take a big project but start it small. ○ While implementing each part, learn it in depth. Effective Learning (& Teaching) 17 / 17