
الاثنين، 29 نوفمبر 2010
الأحد، 14 نوفمبر 2010
خطط وأهداف: جهاز أوراق
This is an article about a tablet computer model for the future: Awraq.
We all know the importance of paper. We also know the importance of computers.
Paper records our thoughts and designs and ideas and dreams. I forget a lot; so I surround my work environment with pens and copybooks everywhere. Designs, sketches, sample code in imagined programming languages, stories...
We all know the importance of paper. We also know the importance of computers.
Paper records our thoughts and designs and ideas and dreams. I forget a lot; so I surround my work environment with pens and copybooks everywhere. Designs, sketches, sample code in imagined programming languages, stories...
How about computers? They are a magnifying glass for our thoughts. They give us a way to make the conceptual become real. To make our designs seen and heard.
Sometimes a computer can be better paper than paper itself: in addition to recording your idea the computer can let you search it and categorize it and share it and email it. In other areas paper is clearly the better choice:
- It's available everywhere; you can take it to bed or in a small bag or wherever.
- It's more durable, with no hard disk crashes or data corruption.
- You can easily combine sketching with writing; you can layout the information in anyway with ultimate freedom.
- It's easier to use :)
Apple's iPad tries to solve some of those problems: it's much more portable and easier to use. It's name even is related to "a pad of paper". It is certainly a sign of progress. However, one crucial thing is missing: A pen.
The iPad uses an on-screen keyboard for text entry. This is good for casual writing or typing up an email message, but it makes the iPad mainly an information consumption device and not an information production device. I think it would be better for all of society if there was an easy way for anyone to write and sketch and think. Something that changes the way we make information the way the iPad changed how people consume it.
Also, I want this device to be intrinsically Arabic-based, to recognize Arabic handwriting (which lends itself more to being written with a pen), to have an Arabic GUI, and to be usable by Arabic children and mothers and families. To be the next stage of the development started by the old Sakhr home computers.

The iPad uses an on-screen keyboard for text entry. This is good for casual writing or typing up an email message, but it makes the iPad mainly an information consumption device and not an information production device. I think it would be better for all of society if there was an easy way for anyone to write and sketch and think. Something that changes the way we make information the way the iPad changed how people consume it.
Also, I want this device to be intrinsically Arabic-based, to recognize Arabic handwriting (which lends itself more to being written with a pen), to have an Arabic GUI, and to be usable by Arabic children and mothers and families. To be the next stage of the development started by the old Sakhr home computers.
I imagine a future where أوراق is the school textbook and copybook and blackboard. I imagine a sketch-based programming language so you can sit and code anywhere (I'm currently designing such a language). I imagine simulations where students use multitouch to run science experiments and geometry constructions. Don't you want to live in that future?

How realistic is this idea? Surprisingly the hardware manufacturing isn't the hardest part of it; given enough funding and availability of good partners, it might be a solvable problem. The real problem that worries me however is software:
- Arabic handwriting recognition
- The touch-based and gesture-based user interface
- An operating system that works well given the hardware and battery limitations
- Good OS security to avoid the problems of viruses and spyware in current PCs
- Sketch-based programming, sketch-based design, sketch-based everything :)
- Data indexing and organization, a new electronic book experience, a natural language user interface, or many other future research points...
So in summary, we need many geniuses in many fields like compilers, pattern recognition, operating systems, graphics, embedded systems...
If only we had faculties that were created for such topics! Hmm....
And if only we can push the students of this faculty to reach much higher levels of knowledge...
If only we had faculties that were created for such topics! Hmm....
And if only we can push the students of this faculty to reach much higher levels of knowledge...
If we would create new tools to make this job easier.
These are my goals, إن شاء الله.
الأربعاء، 10 نوفمبر 2010
خطط وأهداف: مركز التفكير الحوسبي
ما هي أهدافي؟
الموضوع هو أنه هناك دافعان يحركانني.
1) كثيرا ما أتتني أفكارٌ تكنولوجية مثيرة للإعجاب. أريد أن اصنع لنفسي ولغيري بيئة لتنفيذ هذه الأفكار والاستفادة منها ماديا وعلميا.
2) مللت الفجوة بيننا وبين الغرب، علميا واقتصاديا و...و...--هذه الفجوة سلاح دائما يوجّه ضدنا. كم مرة ستدفع الأمة ثمن تخلفها العلمي؟ كم مرة سيحتلونا وينهبوا ثرواتنا؟ ألم يأت وقت سد هذه الفجوة؟ ألم يأت وقت النهضة؟
هل تسمح الظروف الحالية بالتخطيط لهذين الهدفين؟ هل يمكن حاليا السعي لتنفيذ الهدف الأول، ناهيك عن الثاني؟
أجل إن شاء الله. أعتقد أن لديّ خططاً.
لا أريد أن أسمّيها احلاماً. كلمة "أحلام" توحي بأنها صعبة أو أننا مسموح لنا فقط أن نتخيلها. هذه ليست احلاماً: هذه خطط. خطط كبيرة، نعم، لكنها ليست بالخيالية.
تعال نتكلم عن الأطفال (كما افعل كثيرا!)...
الخطوة الأولى هي مركز لبحث تعليم البرمجة. نعم هناك مركزان في مصر حاليا لتعليم الأطفال البرمجة، لكنهما ليسا ما أريد: هذان المركزان يستخدمان التكنولوجيا الحالية للتعليم، بينما أريد أنا صنع تكنولوجيا مستقبلية كما يلي:
في ظاهره يكون المركز هو مركز تدريب عادي، لكن في داخله هو مركز أبحاث أبوابه مفتوحة لطلبة الماجستير والدكتوراه في مجالات علوم الحاسب والعلوم التربوية معا. هؤلاء الباحثون يجرون تجارب ذات منهج علمي ويطورون طرق جديدة لتأليف الكتب ولغات برمجة جديدة وبيئات لاكتشاف الcomputer science.
أفكر في لغات كثيرة نصية ورسومية. افكر في برنامج يرسم اوتوماتيكيا قصصا متحركة تعبّر عن تنفيذ الcode التي تكتبها. افكر في compiler شفاف يجعلك ترى مراحل الcompilation مرحلة وراء أخرى (بالمناسبة، حلمت ذات مرّة بحائط من زجاج عليه code، ثم تسير خلال هذا الحائط للحائط الذي وراؤه فترى الparse tree، ثم الحائط الذي وراء ذلك عليه الassembly code...وهكذا).
ماذا لو طوّر هؤلاء الباحثون طريقة عامة لتعليم الأطفال البرمجة؟ طريقة عامة معناها تعليم البرمجة لكل الناس-- مثلما يتعلمون الآن الجبر او حساب المثلثات-- ليس للأذكيار فقط ولا العباقرة، بل للجميع (وإن تفاوَت استيعابهم بالطبع). ماذا قد يحدث وقتها؟
حينها يمكن الكلام عن اضافة البرمجة كمنهج للتعليم الأساسي. ويمكن تدريب كادر جديد من المعلّمين-المبرمجين ليقوموا بالتدريس. يمكن تدريب هذه الكوادر في العالم العربي كله وليس مصر وحدها. يمكن أن يكون العالم الإسلامي من أوائل من يمحون "أميّة البرمجة" لا فقط "أميّة الكمبيوتر".
وإذا تعلّم الطلبة البرمجة في المدارس فقد يخرج منهم ...
- عالِم الحديث الذي يستخدم الgraph theory كأداة في دراسة هذا العلم.
- المهندس الذي يصمم سيارة تكاد تكون حاسوب اكثر منها مركبة-- وكلما حدّثت الsoftware صار لها امكانات اكثر.
- استيعاب لموضوع الefficiency كما يصفه علم الalgorithm analysis، ولغة يمكن الحديث بها عن كفاءة الأنشطة الصناعية والبشرية حيثما يمكن تطبيق هذا العلم.
وكيف نفكر في العالم من حولنا؟ إنّك لتنظر للأشياء من حولك فتجدها يمثلها tree أو graph أو list أو stack أو queue. ويجب أن يكون الكل عالما بأنه هناك ادوات جاهزة ومدروسة لتحليل هذه التركيبات والتعامل معها.
هل سيفعل هذا المركز شيئا غير اكتشاف طريقة عامة لتعليم البرمجة؟ من يعلم؟
نحن لا نعرف إلى أين سيأخذنا هذا الطريق. ربما يحتاج الأمر الى تطوير فكرة التعلم بشكل عام. ربما نفهم أشياءا جديدة عن البرمجة، أو التعليم، أو الأطفال، أو حتى --ربما-- طريقة عمل العقل البشري.
هذه هي أحد الخطوات الأولى في الخطة. وإنّي أتمنى أن أراها بإذن الله تحدث.
الموضوع هو أنه هناك دافعان يحركانني.
1) كثيرا ما أتتني أفكارٌ تكنولوجية مثيرة للإعجاب. أريد أن اصنع لنفسي ولغيري بيئة لتنفيذ هذه الأفكار والاستفادة منها ماديا وعلميا.
2) مللت الفجوة بيننا وبين الغرب، علميا واقتصاديا و...و...--هذه الفجوة سلاح دائما يوجّه ضدنا. كم مرة ستدفع الأمة ثمن تخلفها العلمي؟ كم مرة سيحتلونا وينهبوا ثرواتنا؟ ألم يأت وقت سد هذه الفجوة؟ ألم يأت وقت النهضة؟
هل تسمح الظروف الحالية بالتخطيط لهذين الهدفين؟ هل يمكن حاليا السعي لتنفيذ الهدف الأول، ناهيك عن الثاني؟
أجل إن شاء الله. أعتقد أن لديّ خططاً.
لا أريد أن أسمّيها احلاماً. كلمة "أحلام" توحي بأنها صعبة أو أننا مسموح لنا فقط أن نتخيلها. هذه ليست احلاماً: هذه خطط. خطط كبيرة، نعم، لكنها ليست بالخيالية.
تعال نتكلم عن الأطفال (كما افعل كثيرا!)...
الخطوة الأولى هي مركز لبحث تعليم البرمجة. نعم هناك مركزان في مصر حاليا لتعليم الأطفال البرمجة، لكنهما ليسا ما أريد: هذان المركزان يستخدمان التكنولوجيا الحالية للتعليم، بينما أريد أنا صنع تكنولوجيا مستقبلية كما يلي:
في ظاهره يكون المركز هو مركز تدريب عادي، لكن في داخله هو مركز أبحاث أبوابه مفتوحة لطلبة الماجستير والدكتوراه في مجالات علوم الحاسب والعلوم التربوية معا. هؤلاء الباحثون يجرون تجارب ذات منهج علمي ويطورون طرق جديدة لتأليف الكتب ولغات برمجة جديدة وبيئات لاكتشاف الcomputer science.
أفكر في لغات كثيرة نصية ورسومية. افكر في برنامج يرسم اوتوماتيكيا قصصا متحركة تعبّر عن تنفيذ الcode التي تكتبها. افكر في compiler شفاف يجعلك ترى مراحل الcompilation مرحلة وراء أخرى (بالمناسبة، حلمت ذات مرّة بحائط من زجاج عليه code، ثم تسير خلال هذا الحائط للحائط الذي وراؤه فترى الparse tree، ثم الحائط الذي وراء ذلك عليه الassembly code...وهكذا).
ماذا لو طوّر هؤلاء الباحثون طريقة عامة لتعليم الأطفال البرمجة؟ طريقة عامة معناها تعليم البرمجة لكل الناس-- مثلما يتعلمون الآن الجبر او حساب المثلثات-- ليس للأذكيار فقط ولا العباقرة، بل للجميع (وإن تفاوَت استيعابهم بالطبع). ماذا قد يحدث وقتها؟
حينها يمكن الكلام عن اضافة البرمجة كمنهج للتعليم الأساسي. ويمكن تدريب كادر جديد من المعلّمين-المبرمجين ليقوموا بالتدريس. يمكن تدريب هذه الكوادر في العالم العربي كله وليس مصر وحدها. يمكن أن يكون العالم الإسلامي من أوائل من يمحون "أميّة البرمجة" لا فقط "أميّة الكمبيوتر".
وإذا تعلّم الطلبة البرمجة في المدارس فقد يخرج منهم ...
- عالِم الحديث الذي يستخدم الgraph theory كأداة في دراسة هذا العلم.
- المهندس الذي يصمم سيارة تكاد تكون حاسوب اكثر منها مركبة-- وكلما حدّثت الsoftware صار لها امكانات اكثر.
- استيعاب لموضوع الefficiency كما يصفه علم الalgorithm analysis، ولغة يمكن الحديث بها عن كفاءة الأنشطة الصناعية والبشرية حيثما يمكن تطبيق هذا العلم.
وكيف نفكر في العالم من حولنا؟ إنّك لتنظر للأشياء من حولك فتجدها يمثلها tree أو graph أو list أو stack أو queue. ويجب أن يكون الكل عالما بأنه هناك ادوات جاهزة ومدروسة لتحليل هذه التركيبات والتعامل معها.
هل سيفعل هذا المركز شيئا غير اكتشاف طريقة عامة لتعليم البرمجة؟ من يعلم؟
نحن لا نعرف إلى أين سيأخذنا هذا الطريق. ربما يحتاج الأمر الى تطوير فكرة التعلم بشكل عام. ربما نفهم أشياءا جديدة عن البرمجة، أو التعليم، أو الأطفال، أو حتى --ربما-- طريقة عمل العقل البشري.
هذه هي أحد الخطوات الأولى في الخطة. وإنّي أتمنى أن أراها بإذن الله تحدث.
Labels:
education,
programming
الاشتراك في:
الرسائل (Atom)