Month: February 2011

ספר על אלגו יחד עם שולמית חלמיש

שולמית חלמיש ואני הולכים לכתוב ספר קורס לקורס אלגוריתמים (67504) של האונ’ העברית. שולמית תרגלה את הקורס בסמסטר החולף (2010-11 א’) ואני סתם סטודנט מורעל, אוונגליסט של ניהול ידע וספרי לימוד, בוגר הקורס שממורמר מתושב”ע. הספר שלנו יהיה עדיף על ספרים אחרים שקיימים בשוק (כמו קורמן, קליינברג&טארדוש, וכו’), עקב הסיבות הבאות (בסדר עולה של חשיבות):

1. הוא יהיה בעברית.

2. הוא יהיה בחינם.

3. הוא יתאם את היקף, עומק והתמקדות החומר הנלמד באוניברסיטה.

4. הוא יהיה פשוט טוב יותר.

רקע

בסמסטר הקודם, (סמסטר א’ של 2010-2011) לקחתי את הקורס אלגוריתמים, 67504, שהעביר הפרופ’ נתי ליניאל. לאורך כל השנה הפריע לי מאוד שאין ספר לימוד שהקורס מתנהל לפיו, ושהלימוד הוא ברובו תושב”ע. זה לא מקצועי ולא מוצלח, ומה שנפגם הוא הלימוד וההבנה של סטודנטים. כל מי שדיבר איתי אי פעם על הנושא הזה (ו-ודאי אף רבים שהנושא לא מעניין אותם כלל) זכו לשמוע אותי מתבטא באריכות בנושא. לחצתי על (כלומר, נדנדתי ל-) לפרופ’ ליניאל, הרבה, ואחרי בירור הדדי הוא הסכים שאני אכין סיכומים לקורס על-סמך הרצאותיו, ואחרי תיקונים שלו, נפרסם את התוצר בתור Notes מסודרים לשנה הבאה. עברנו איטרציה אחת כזו (שהן בגדול תמלול השבועיים הראשונים של הקורס), ואת התוצר (אחרי תיקוניו של נתי) ניתן למצוא כאן:

http://dl.dropbox.com/u/10933856/SemesterA/algo/Algo_book/natis_first_2_weeks_revised.pdf

אני, כאמור, חסיד גדול של מערכי שיעור והוראה. נראה לי הכרחי, אפשרי, ומתבקש שיהיה לכל קורס ספר קורס – חינמי (או זול), מצוין, ומותאם לחומר. למעשה, בקורס אחר שנעדר ספר כזה (ליניארית1 למתמטיקאים, 80134) כבר כתבתי ספר בעבר. אני גאה (ושמח) לומר הוא זכה לשימוש בשנתון ושירת תלמידים נאמנה, באונ’ העברית ומחוצה לה. הספר זמין, בחינם, כאן: https://sites.google.com/site/linearit1hujibook/. הניסיון עם הספר של ליניארית הוא אסמכתא נוספת לכך שהדבר אפשרי, ובהינתן האדם המתאים, אפילו לא קשה מדי.

מה הולכים לעשות?

– לעת עתה ובעקבות השותפות עם שולמית נראה כי לא נמשיך בדרך זו, אלא נכתוב את החומר מאפס (כמובן שנתבסס במקומות שונים על החומר שהועבר בהרצאות, שבעצמו מתבסס על החומר מספרם של קליינברג וטרדוש).

-המבנה יהיה של 7 פרקים, בסדר שהועברו בסמסטר החולף: חמדניים, תכנון דינאמי, רשתות זרימה, טרנס’ פורייה, קירובים, ליניארית חישובית, הצפנה.

– בכל פרק יובאו כל המושגים שצריך להכיר, ובכל פרק ההגדרה הפורמלית שלו, ההוכחה אם נדרשת, ולאחר מכן הסבר בשפה חופשית לאינטואיציה והבנה.

– הספר נכתב לעת עתה במשותף בליך (שולמית) וב-וורד (הח’מ), ולעת סיום יומר במשותף לאחת הפלטפורמות (כנראה שתיהן) ויופץ כפי-די-אף.

אבל יש ספר קורס!

פורמלית, אפילו היה ספר קורס לקורס שלנו – של קליינברג וטרדוש. בפועל, הקורס לימד דוגמאות רבות שלא היו בספר, וכך תלמידים לא יכולים היו להיעזר בספר להבנת החומר הנלמד. חמור מכך, בספרייה קיימים עותקים בודדים בלבד של הספר, כך שהרוב המוחלט של הסטודנטים לא יכולים להיעזר בו. מובן מאליו שבעיה זו חמורה במיוחד בשבועיים לפני הבחינה. בשורה התחתונה – רוב התלמידים לא הסתייעו בספר.

אבל יש ספרים אחרים! וכל החומר קיים באינטרנט!

אכן קיים. ניתן להרחיב ולומר שאין בכלל טעם בקורס כולו, כי ניתן ללמוד את כל החומר מהאינטרנט, לבד. עם זאת, הפיזור באינטרנט גדול, ולמרות השפע קשה למצוא מיקוד של החומר בהיקף ובעומק המתאימים ללימוד הקורס באוניברסיטה.בפרט, ההיצע של חומר שמספיק איכותי, ממוקד, ו*בעברית* – אפסי. אחת הבעיות היא שרוב הספרות המקצועית כתובה באופן תמציתי, לאנשי מקצוע – בתחומי המתמטיקה, בולט כי רוב הספרות נכתבה ע”י מתמטיקאים ועבור מתמטיקאים (הוא הדבר גם לגבי מדעי המחשב). רוב הסטודנטים בתואר ראשון אינם מתמטיקאים ואינם מדמ’חניקים, והם אינם מצליחים ללמוד מספרות כזו, במיוחד לא כשהיא באנגלית.

שילמדו לקרוא אנגלית! שילמדו לקרוא ספרות מקצועית! כל מי שרוצה להתקדם בתחום ממילא חייב בכישורים אלו.

יש אמת בדבר. מובן שכל מי שמעוניין להתקדם ולעסוק במדמ’ח (ובמחקר בכלל) צריך לדעת להתמודד עם אנגלית. באופן דומה, עליו ללמוד להתרגל לספרות המקצועית ולאופיה. ואכן, ישנם סטודנטים אשר כבר מיטיבים להתמודד עם חומרים שכאלו, ואלו לרוב (לרוב!) אינם נזקקים לספרות מעבר לבנמצא. אך זו אינה עמדת הפקולטה והאוניברסיטה: אנו לא מלמדים רק את מי ש’נועד להיות מדמ”חניק’, אלא את כולם. מי שנוח לו עם אנגלית ומי שנוח לו עם ספרים מתמטיים, ממילא יש לו כבר ‘פור’ רציני, שבעתיד רק יהיה יותר ויותר משמעותי. עבור האחרים – אלו שבאים לשעות קבלה, שולחים שאלות במייל ובאופן כללי מנסים להבין ‘מה הלך פה בעצם?’ – צריך ספר שיסביר כל פסיק שעובר בקורס, בכתב, כדי שלא לסמוך על הזיכרון או על המזל. אם מטרתנו ללמד נושא (ובמקרה הנדון,אלגוריתמים) אז הבה נעשה זאת בצורה הטובה ביותר לקהל היעד שלנו.

אבל יש סיכומי הרצאות! הם מכילים הסברים על כל החומר.

סיכומי הרצאות אינם ספרי קורס. גם הסיכום הטוב ביותר אינו מתקרב ברמתו להסבר שנכתב בצורה מסודרת, עובר עריכה, הגהה, ביקורת, שכתוב, וכו’. לניסיון אחד, ב’לייב’, בלחץ, ותוך כדי לימוד החומר, אין צ’אנס להוות מצע ללימוד מוצלח. סיכום ההרצאה הוא בדיוק זה – סיכום של ההרצאה. לכל היותר הוא יכול להזכיר לך דברים שהבנת כבר תוך כדי ההרצאה. זאת, שלא לדבר על הטעויות הרבות אשר נופלות (באופן טבעי) בסיכום כזה, כאמור ב’לייב’, ובאיכותן הנמוכה. להבהיר, אין פה נטייה להאשים את מסכמי הסיכומים (למשל, נגה רוטמן, איילת מזרחי, ואור שריר, מהשנתון שלי). הם עושים עבודה טובה בהתחשב במטלה; הסיכומים שלי הרבה פחות טובים לקהל הרחב, והסיכומים שלהם עוזרים לאנשים רבים ללמוד ולהבין את החומר. אלא שגם אם זהו המקסימום שניתן להפיק בזמן שיעור, בוודאי ניתן (וצריך) להכין ב’אופליין’, בצורה שקולה ומסודרת, הסברים מעמיקים יותר וטובים של החומר.

באופן מצער, יש עותקים בודדים בלבד של הספר בספרייה, וכך קרה שהרוב המוחלט של הסטודנטים לא היו יכולים להגיע לספר כלל. מובן מאליו שבעיה זו חמורה במיוחד בשבועיים שלפני הבחינה. מכאן, בפועל, עבור רוב התלמידים פשוט אין ספר קורס. כמובן שאת רוב החומר ניתן למצוא במקורות פתוחים באינטרנט ובספרים שונים. הבעיה היא, שקשה לדעת בדיוק מה ההיקף הנדרש בהבנה ובלמידה של כל נושא. גם ברוב המקורות הפתוחים, ההסבר הוא תמציתי (מדי), או מקיף (מדי). לרוב – שניהם (רוחב יריעה רחב מדי, הסברים תמציתיים מדי). ערך של ויקיפדיה על טרנספורמציית פורייה הוא דוגמא טובה לבעייתיות כזו.

בקיצור, מה שנדרש הוא הסברים ברוחב ובעומק של הקורס, אשר מקיפים את כל החומר, ורק אותו, בשפה המובנת לסטודנטים. וכמובן, בעברית, ובחינם. זה מה שאנחנו הולכים לעשות. כל עזרה תתקבל בברכה, ושיהיה לכולנו בהצלחה.

(תוספת: להלן, מכתב לפרופ’ ליניאל בנושא, גם כי זה עוזר לי להסביר וגם כי ניהול ידע זה חשוב)

Hello Nati,

Thank you for your input & corrections regarding my notes of the first two weeks in your Algorithms course this year. I have amended almost all of the points you corrected; the amended notes can be found here:

Together with Shulamit Halamish, I have decided to attempt and write a complete book about algorithms (with the scope of the class syllabus). I will explain my rationale and give details, below.

Following your remark that Kleinberg & Tardos’s book will be translated to Hebrew, I gave the notion further thought. In the meantime the course’s exam has come and gone, which has given me further perspective into the concepts of how Algorithms should be taught and learnt, both the subject itself and the practical manner of students learning at HUJI.

It is worth pointing out a main point – the library does not have many copies of Kleinberg & Tardos. Indeed, in the critical few weeks up to the exam, the book is surely not available to the average student. I assume this will be the case with the Hebrew translation as well.

I will further emphasize my view that these books, while perhaps being good enough for the professional (or very competent student), are not good enough for the average 2nd or 3rd year student, who are the audience of this course. For the above reasons, effectively most students do not use the existing mainstream textbooks. As further proof of the lacking of textbooks, the market rules manifest themselves, and most students choose their textual reference as The Prettiest Class Notes (namely, Ayelet Mizrahi’s, in this past semester). Sadly, these class notes leave much to be desired.

I have already expressed the above view, so perhaps I am belaboring the point. The result of the above is that I still firmly believe an algorithms’ textbook can and should be produced with the target audience being the average BA student. This (e-)textbook should be in Hebrew, available free, and generally adhere to the University’s syllabus. The explanations should be of the highest quality, be ample in examples, and should elaborate as much as possible (in contrast to lectures, and to a lesser degree to books, where time and space are of the essence). As I have mentioned, I have done this sort of thing before (with Linear Algebra 1) and I am satisfied in that it has served many 1st year students over the past semester.

Since I believe this is an important venture (and on a personal note, something I enjoy doing), I am choosing to undertake this effort. Shulamit Halamish seems to share much of my view (and also has a personal, professional interest in this, for the next year) and we have agreed to join efforts on this. I am speaking (in this mail and in general) on my own behalf (and thus in the first person), but it is my understanding Shulamit and I agree on the major points.

I do not feel such a textbook should exactly follow the frame and content of lectures, though of course it will be influenced by them. Thus, I am (We are) no longer writing class notes, but rather an A-Z guide to (An Introduction to) Algorithms, as learned at the University, for the University students. This textbook will be in Hebrew, freely available online, and – I dare to claim – better than the existing textbooks, within its scope.

With your kind permission, I will of course rely in certain parts on your lectures, and will credit them as such. I do not hold you as committed in any way to this work. I will of course appreciate any and every comment and suggestion to this work. If you choose next year to advocate our textbook to the students, after reviewing it and approving, I will appreciate it. I am not expecting any sort of material profit from this work; I believe it is important and not too great a task.

I hope to be in touch with you after we finish all or a significant part of the work, to receive your blessings (and helpful suggestions). In any case, as a student of the ‘minyan’, I thank you for the algorithms’ course.

Shabbat Shalom.
-Sella
Advertisements