Thursday, January 5, 2012

A reminder for a forgetting heart ! - The trust in Him

I was sleepless. Thinking the whole night worried about "Money" ! How can I be saved from all these debts ? How will I pay all these fees ? One month later, money entered my pocket as if it was out of a water tab. Never imagined I will get it that easy. I got what I wanted and more. Not only my debts were paid, but I also saved. I was so happy and could never stop telling this story. I treated friends for cups of coffee only to tell them how happy I was feeling. I reminded them though that I have not done any effort to get this money. He, who has the control on money, led it to my way. He, with all His greatness, gave it to me.

Every time I tell this story to my friends, they answer me with a bet of surprise and amusement in their faces. They say that this is Him. "He loves you, as He loves all of us". Every time I heard this from them, my heart becomes filled with joy, and all I did afterward was praying for Him to thank Him.

I just remembered this story as fear of the future came back to me. I remembered it because I forgot how good He is. Because now, I forgot to trust Him. I forgot to make myself close to Him. May He forgives me. May He make close to Him. This is all what I ask for now.   

Sunday, January 1, 2012

How children want their teachers to be ?

While I was teaching in a weekend-elementray school, a fellow teacher once told me: "Oh, I have no idea how to teach these kids ?". The first answer that came to my mind was "just imagine yourself in their place and ask yourself how do I want my teacher to be like". This approach of improving my performance as a teacher was running on my mind before my colleague asked me. I tried once to ask my students on the qualities they believe would make a teacher a good one. Apparantly, I did not do my questionaire on the right moment, since most answers were related to "playing with us" ... [honestly, some of them said quite interesting things].

I dont consider myself lucky with the timing of performing the survey, but I am sure that the UNESCO was way more succesful when doing this report. Its title is "What makes a good teacher? Children speak their mind". The project is quite old but has a quite interesting idea. It aims at finding the characteristics of a good teacher from the prespective of children. The idea is to ask children from around the world about the qualities of good teachers. Then, summarizing them in a number of qualities which were:

1. is a friend,
2. love all of us
3. treat us equally
4. likes the job
5. is clear and competent
6. is not too strict
7. is a role model to us
8. helps us grow and develop
9. guides to the future

Children though realizes that the job of a teacher is demanding (something that teachers and politicians need to recognize as well). For instance, four different students from different countries wrote that a teacher must be 1) be smart academically, 2) have an atheletic body ! [these kids are not as simple as you think ! huh ?! :) ] 3) like to be with us even at recess time, and 4) do something to save the world !!

The report is certainly a creative idea. The writings of the children were amazing too and unexpected and intelligent in some cases. I think that every school must do such evaluation surveys every year and takes the results of these surverys into consideration to improve the performance of its teachers. At the end, it is the children lives that we are dealing with [as teachers]. Yes, some students would say "Oh, a teacher must play all time with us ! " as it was the case with me once, and surely was the case with the authors of this report - but I am sure that some of these opinions (if not all of them) would really be useful.

I give in the follow some quotes that I truly liked followed by my comments.

"A good teacher should treat all pupils like his own children. He should answer all questions, even if they are stupid" - Fatoumata - Tchad
[I totally agree on the stupid questions parts. Yet, sometimes, some questions are so non-sense and it is very hard to be calm answering them, and this is one of the things that make the teacher job hard]


"To be a good teacher, you not only teach the children [the students], but you also learn from them" - Tasha-Leigh, Jamaica. 

[A teacher becomes a bad teacher once he become afraid of learning from his students] 

"I like a teacher who helps me think and get answers for myself" - Bongani Sicelo, Zimbabwe
[I like this teacher too !]

I advice you to read it yourself. Its style is very simple and attractive.

How to find your soul mate ? (If you were a robot !) -- problem description and naive solutions

Mr. Robot, a very nice young robot, feels that there is a soul mate female robot waiting for him somewhere in this world. Ms. Robot, feels the same. "We" know that they are soul mates, and were meant for each other. How can we help them finding each other in the most efficient way ?! Strange question, but has a lot of applications in the fields of computer science and robotics. For instance, if kid-Robot lost his mom-Robot, then how would they find each other with the minimum time required ? [Just kidding ! :p - although, in the work of robotics this is a real application]. The solution of the problem is used in situations where we need robots to gather at a single point and from there do a task in a collaborative fashion, such as walking in flocks to move an object, to protect an important person, or to play soccer or music.

In this post, I will give a brief idea of this problem and how to solve it in a distributed environment, using a distributed algorithm. It serves as an introductory example of distributed algorithms in general and specifically in the field of robotics. I will consider solutions that are either do not work or are not efficient, in order to better understand the problem in hand.

I will assume that the reader of this post has no previous knowledge of distributed algorithms; which are what we will use to help the lovers find each other. We have no way of communicating with the robots, and we don't see them from above. We just want to teach them how to find each other, by giving them some strategies  (or rules) to follow. These strategies are in the form of "if you find out ........ , then do ....... ". For example, one rule we can give to the robots would be "if you find out after walking straight for a long time a wall, then go left" or "if you find out that you walked 100 meters, then go back 200 meters ! " ... The first rule should start by "if you find out that you need start looking for your soul-mate then do ..... " [we will fill the blanks later]. These rules are called an algorithm. These rules should be the same on every robot and this is why we call them distributed algorithms.

The problem is a bet complicated, so we will assume a simple instance of it. We will assume that both Mr. Robot and Ms. Robot reside on a line. That is, they can only go froward and backward for as much as they want (infinite line), and they will meet each other only if they are close to each other. Yet, the problem is still hard to solve. Here are some reasons why:
  1. Both robots are totally identical (although one of them is Mr and the other is Ms - but in robotics word, we usually assume that all robots are identical and different only by name. I can write more about that later). Being identical means that both will have the same set of strategies and rules to follow. That is, whatever decision Mr.Robot will take given an input he sees, Ms. Robot will take the same decision if she also sees the same input. That is, if Mr. Robot decides to go forward with a certain speed given that he saw a certain thing, then Ms. Robot will do the same if she sees the same thing. Assume then that at the beginning of the search, both robots decides to start looking for each other, and both robots see the same thing, then as a result both robots will do the exact same steps, which means that the distance between the two robots never change, and sadly, they will never meet ! -- thank god the robots have different names, and they may use this difference, with a bet of our human intelligence,  to avoid such situations.  
  2. The robots cannot differentiate between foreword and backward. That is, Mr. Robot may think he is going foreword, and Ms. Robot may think the same, but still they are going on opposite directions ! This is caused because there is no reference point. The situation may happen to humans as well, and this is why we use a compass, and NORTH is our reference point there ! :)
  3. There are no signs on the line. If there is a unique sign on the line [already existing] then we may have the following rule that will solve our problem "If you start looking for your soul-mate, then wait for him/her at that unique point on the line". 
  4. Robots cannot leave signs on the line. If they can, then we can let the robots keep signs on the line that says "follow me". This will facilitate the searching process.  
  5. "We" are not there with them ! [if "we" were there, then we could simply match them ... but "we" can only help them by giving them a set of rules to follow -- i.e, a distributed algorithm -- and nothing more]
If they were not identical, then Mr. Robot, knowing that he is the male, will go backward and foreword increasing the range of his trips each time, while Ms. Robot will wait for him, until they will occasionally meet ! - but since they are identical, the two robots may stay still ! Because we have no means of letting one robot wait for the other, because the robots will be stuck on the question of "who should wait ? me or him/her ?! " - and if both wait, then they will never meet.

Also, let's say that we are going to solve the question by telling a robot to 1) pick to go either backward or forward, and keep going until you find your "other". Then in this case, Mr. robot may pick to go "his" backward and Ms. robot may follow "her" forward [which would probably lead them to go in opposite directions]. They will walk indefinitely on the opposite directions and never meet ! of course, there may go on meeting directions and find each other suddenly. [Remember: the robots are on one infinite line. They may have different definition of backward and forward. Note: meeting directions: they will suddenly meet, opposite directions, never meet].

If the robots know the distance between each other [let's call it the maximum distance], then the robot will use this information to avoid a situation in which they search indefinitely for the other in one direction only. But knowing this information, we can give the robots the following rule [which does not work]: "Pick one random direction [foreword or backward]. Pass the maximum distance. If you find your soul-mate, then we are all happy ! If you did not find her/him, then go back to the point from which you started (the origin point), and pick the opposite directions, and pass the maximum distance".  Yet, we will find a problem herein.  I will explain why. Let set a reference directions which we call "our backward" and "our forward". The robots, again, may have their own definition of directions. That is, Mr. Robot backward is our foreword, but Ms. Robot backward is our backward. Let's say that for Mr. Robot to find Ms. Robot, then Mr. Robot will have to go our backward (his foreword), and Ms. Robot go our forward (her foreword). Then, let's say Mr. Robot decided to go our foreword, and Ms. Robot decided to go our foreword too. Then each will pass the maximum distance and they wont find each other. Then they will return to the origin point. Then, both will decide to go our backward and each will pass he maximum distance without finding each other. They will repeat this forever, never find each other !

These are the main difficulties we may face. The solution of the problem will be given in another post as soon as possible. If I am lucky enough, a reader [not necessarily computer science expert] will give me a good solution, and we can publish this solution together in a well-respect computer science journal; where most of the solutions of this problem are published !  

If you ever had the chance to be a teacher, what would you do to be a good one?!

If you are reading this, then there is a high probability you have been in a classroom before, or been taught by a teacher, or both ! .. There is also a very high probability that you met a teacher you loved, and another that you could never like! [even if you tried badly to convince yourself] .. but seriously ? what make a good teacher ? what make such teachers better than "bad" teachers? ... Although I am sure that there is no strict answer to these questions,  I will use my experience as a teacher (4 years) and as a student (22 years and still one [maybe for life]) to give my opinion about them.

I was lucky enough to teach students from the age 8 years to 50 ! Teaching kids is totally different than teaching university students. However, and generally, I think that a teacher must follow two general steps and re-do them as long he is a teacher. These steps are: 1) Attract your students, 2) Get close to your students. It is up to you as a teacher to implement these steps. I give next some general steps that I try to follow.

1) Attract your students: This can be done by being powerful. Power in this context is in making sure to have a charisma; which you can get only if you have confidence on yourself - but I will keep it to you to work on your charisma [I will have to read more about it myself]. Power as well can come from the ability to fair punishment of your students. And lastly, power can come from the superiority of the teacher in the domain he/she is teaching. However, a teacher should never forget that he was a student himself, and that he became better than one of his teachers, and therefore he/she must continually work to preserve this superiority. Yet, I dont mean it is a battle between the student and the teacher. A teacher should never be afraid that his student teach him as well. At the end, the teacher aim is to transfer his knowledge to his students.

2) Get close to your students: as in caring about them ! as in listening to their worries ! There is not only one way to be close to your students. Here are some techniques I personally used:
  • Start the class with simple questions such as "How are you ?", "How was your weekend ?" or "How was your day ?" - without giving yourself the chance to enter into the personal lives of students. Such questions, though, gives the student the choice of whether to talk about his/her worries or not ! [Yet, I am very against discussing personal issues and always prefer to answer with generalized answers] 
  • Let them work in groups: and spends equal time slots with each of them... Interstingly, the group technique gives amazing results; whether with kids or university students. Lately; in one of my software development labs, I decided not to give a lecture previous to the class. Instead, I ask the student to read some material and then spend some time with students discussing with them the material.
  • Be where your students need you to explain them your material ! if it is possible, give them more time than what you are supposed to. In other words, "Show them that you care !"
Continuity: 
A teacher should never let his job to be constant. That is, the teacher should always remember the noble job he is working; which is to be "a candle of knowledge". I once attended a seminar by Prof. Sajal K. Das.
The seminar was interesting and was a summary of some of his previous work in computer science. What interested more was the last slide content - which was a reminder for all the researchers and teachers in the seminar:
"A teacher can never truly teach unless he is still learning himself. A lamp can never light another lamp unless it continues to burn its own flame. The teacher who has come to the end of his subject, who has no living traffic with his knowledge but merely repeats his lesson to his students, can only load their minds, he cannot quicken them" - [Rabindranath Tagore, Nobel prize in literature, 1913]
Yes, a teacher should be a researcher as well. He should always look for novelities in the field he is teaching. He should always pass through the hard paths of understanding new concepts and ideas and give them to his students in a simplified. A teacher should teach his students the secrets he used in order for him to understand. A teacher should also never forget that his main job is teaching; he should never stop being brave to find out his weaknesses; never stop being creative to introduce new techiques and methods, and never stop being a teacher to share his experiences with others !

These are just simple ideas that came to my mind ! if you think you have better ones, or additional ones, then please share them with me ! Thanks in advance !

Monday, December 26, 2011

Oh My God ! Why am I here ?!

Seriously ! why am I here ?! this idea of having my own blog is a bet old, but I was never encouraged to do it. Although I keep most of my lonely time thinking, I never wanted to share these ideas with anyone. My ideas change with time and the new experiences I face in this life. Maybe I was following the hard way to learn. That is, I start a journey in my life by assuming a certain idea to be correct until life proves it wrong or correct. I will try to get some help this time. I will share some of my ideas, waiting for comments and opinions from you (i.e. whoever is reading this) which will help me later to prune these ideas and opinions of mine and take only the best among them.

Another reason for having this blog is that I want to learn. I learnt in graduate school that by writing and re-reading your thoughts, you can see them clearier. And whence, you can fix them and make them better. You may also notice the gaps that you need to fill to make these thoughts complete; and this is done only by more reading and thinking. I am thinking of writing in this blog about certain topics that interest me in this life hoping that leads to more readings and as a result to clearer writings.


"Ngolik Sa7bi !" is in Tunisian dialect arabic--- it means "Should I tell you my friend ! ". It can serve as an introductory question - in the middle of a discussion - for some surprising facts ! --- well, be sure that I wont be telling facts in this blog except to enforce my arguments. But it is quite used in my daily life (and many other tunisians) - AND, it was not used already in blogspot.com ! :) and this is why it is the topic of this blog.

I wish you enjoy your stay here !
Ahmed