Posts

Grapes a Metaphor

Image
If I ask Chotu how much time he will take to eat ten grapes, he will typically say a few minutes.  If I ask the same question to his digestive system, then the answer maybe a few hours. The answer depends on who is answering and what eating means.  For Chotu, it is chewing,  gulping, and relishing their taste. Chotu also rejects peduncles, cap stems that come with grapes.  For his digestive system, chewing would mean breaking down and converting grapes into its ingredients, and gulping would mean incorporating them in blood, and rejection means excretion of the non-essential.  As I see it, eating is of two types Deep and Shallow. Usually, what we call eating is in this context, Shallow Eating, and digestion is Deep Eating. Both are essential for survival. When we intake Knowledge, we go through a similar process. The Shallow Eating part is akin to reading books, watching videos, attending seminars, among other things. The metaphorical grapes have gone inside our...

All the Courses Shifted Online

It has been a testing time since COVID Pandemic. Many established Professions, Institutions, Industries, and Systems are adapting to the new reality. Education is also changing itself. It's been almost four months that I have not conducted a lecture in a Physical Classroom. I have sifted Online wholly. I want to thank Google, especially for it's Google Meet. All my courses stalled due to COVID, and the new ones just launched are now normalized. I have occasionally been offering Video courses to a restricted audience, but now my classes are available internationally. I am happy that I can teach students from UK, USA, Canada, Dubai, Delhi, Rajkot, Bhopal,... And of course Mumbai, all together in a batch.  Although international students have been attending my courses, they had to participate in my classes physically. The flexibility of Online arrangement is liberating. Some new facilities in Online Courses Registration through email Payment is possible through any form of ...

Introduced Java 10 in Java Technology Course.

Enjoying REPL with Java 10. Introduced Java10 in the ongoing Java Technology Batch. Also playing with *.jsh files. Sample Program ( piggybank.jsh ) import static javax.swing.JOptionPane.*; import static java.lang.Integer.*; var balance = 0; var lt = 0; void statement(){ showMessageDialog(null,"Balance = " + balance + "\n"+ " Last Transaction = "+lt); } void deposit(int v){ balance = balance + v; lt = v; } void withdraw(int v){ if(balance >= v){ balance = balance - v; lt = -v; } else{ showMessageDialog(null,"Insufficient Balance"); } } statement(); var sr1 = showInputDialog("Enter amount to deposit"); var r1 = parseInt(sr1); deposit(r1); statement(); var r2 = parseInt(showInputDialog("Enter amount to deposit")); deposit(r2); statement(); withdraw(parseInt(showInputDialog("Enter amount to withdraw"))); statement...
Conducted a small survey on twitter regarding the inheritance related open decorator  in the Kotlin language .  The comparison was between the design semantics offered via Java's final keyword and Kotlin's open keyword. Here are the results. In Java every class by default is inheritable until made final. In Kotlin every class by default is not inheritable until annotated with the keyword 'open'. If you were to create your own language which approach would you prefer — RajeshPatkar (@RajeshPatkar) November 14, 2017
Java Technology POCP Constructor Overloading Permitted in Java copyright ©Rajesh Patkar, All rights reserved.

POCP - Proof Of Concept Program

Over years, I have found that learners get great confidence in an  Assertion  when it is supported by a program that proves the Assertion. These Programs apart from reasonably proving the assertion also convey the tacit scope of the given Assertion. Several salient scenarios encompassing the Assertion can be represented by a set of Programs. These set of Programs become a concrete evidence and articulate in programmatic terms the context, assumptions, limitations and implications of the underlying Assertion. I prefer to call these program POCP ( Proof Of Concept Programs ). On one hand these programs are teaching aids for the teacher, and on the other hand they are themselves teachers for those learners who can listen to the program's voice. I have put up a GitHub Repository to share a few POCP for Java Technology course and would encourage community activity around it. Assertion :   Child Constructor Calls Parent Constructor POCP      :   Chil...

Potter Metaphor.

Image
Any Computer Language can be defined in terms of its  Vocabulary  and it's  Grammar . A Language's grammar specifies the rules of composition of its fundamental elements. When you start learning a language most of the introductory material focuses on the vocabulary and the grammar. When you achieve a satisfactory level of proficiency in the vocabulary and the grammar, you feel that you know the language. As you are aware that in languages like English, knowing vocabulary and grammar doesn't guarantee your ability to write an essay or a poem. Similarly knowing vocabulary and grammar of a computer programming language doesn't guarantee your ability to develop software in it. You have to master several other skills before you start developing a software. To clarify this to a new programmer, I use a metaphor called Potter Metaphor.  A Potter starts with raw materials like mud, water, colours etc and with the use of his wheel creates pots. A potter who claims that he is a...