ایجاد انگیزه
نوشته شده توسط پویا در ۱۳۸۷/۰۷/۰۱ – 10:29 ب.ظ - 2,448 بازدیدحدود یک ماه پیش، دانشجویان گروه طراحی بازی در Daimi، به طور خودجوش، کارگاه شش روزهای را برگزار کردند که درباره برنامهنویسی برای بازیهای کامپیوتری و به خصوص آشنایی با OpenEngine بود. OpenEngine، نرمافزار رایگانی است برای طراحی برنامههای سهبعدی که در سیستمعاملهای مختلف قابل اجرا میشود و آغاز طراحی آن، در Daimi بوده است. گویا، هدف از طراحی آن، بوجود آوردن یک نرمافزار برای ساختن بازیهای کامپیوتری به شکلی سادهتر و قابل انعطافتر بوده است. من به عنوان تنها غیردانمارکی جمع، در یکی از بخشهای این کارگاه که شامل دو سخنرانی توسط دو برنامهنویس بود شرکت کردم و البته آنها هم به احترام من، نه تنها سخنرانیها را بلکه تمام حرفهای دیگرشان را هم به زبان انگلیسی بیان کردند. این دو برنامهنویس که یکی از آنها، قبلاً دانشجوی همین دانشگاه بوده است و دیگری، تحصیلات آکادمیک ندارد، در شرکتهای مختلف و در پروژههای مختلف، فعالیت داشتهاند و علاوه بر برخی مسائل تکنیکی که در سخنرانی خود بیان میکردند و برخی بازیها و برنامههایی را که ساخته بودند، نشان میدادند، از تجربیات خود هم برای دانشجویان میگفتند. به نظر من، یکی از بهترین کارهایی که میتوان برای ایجاد انگیزه مطالعه و یادگیری بیشتر در دانشجویان انجام داد، همین آشنا کردن آنها با کسانی است که به طور عملی در بوجود آوردن محصولات بزرگ و پرهزینه، نقش داشتهاند. به عنوان مثال، وقتی دانشجویی، یکی از برنامهنویسان بازی Grand Theft Auto را از نزدیک میبیند و با میزان سواد وی و نرمافزارهایی که وی استفاده میکند، آشنا میشود و متوجه میشود که حتی در تولید پیشرفتهترین نرمافزارها هم، آدمهای معمولی شرکت دارند که حتی از نظر سواد، از بسیاری از دانشجویان معمولی دانشگاهها، عقبتر هستند، انگیزهای در آنها ایجاد میشود که بروند و خود را برای کارهای بزرگ آماده کنند. یکی از فاکتورهای یک دانشگاه خوب و یا هر موسسه آموزشی دیگری، برقرار کردن ارتباط دانشجویان با کسانی است که بهترینها را تولید میکنند. وقتی دانشجویی میبیند که یکی از فارغالتحصیلهای دانشگاهش در پروژه Google Chrome شرکت داشته است، دیگر پیش خود، یک تصویر باورنکردنی و یک غول غیرقابل دسترس از شرکت گوگل نمیسازد.

فرستاده شده در درس خواندن،علوم کامپیوتر،يادداشتهاي دانمارك | ۶ نظر
Summer School
نوشته شده توسط پویا در ۱۳۸۷/۰۵/۳۰ – 11:20 ب.ظ - 825 بازدیداز ۱۸ تا ۲۱ آگوست، MADALGO، میزبان تعدادی از دانشجویان و محققینی است که بر روی الگوریتمهای Cache Oblivious کار میکنند و یا قصد دارند که در این زمینه، تحقیق کنند. تا قبل از اینکه به اینجا بیایم، نمیدانستم که در دانشگاههای خوب دنیا، رسم است که تابستانها، به مدت چهار روز و یا قدری بیشتر، گروههایی که در کار خود قوی هستند و ارتباطات خوبی با دنیا دارند، چیزی با عنوان Summer School، برگزار میکنند و در آن، علاوه بر برگزاری چندین کلاس درس، دور هم جمع میشوند، صحبت میکنند، با محققینی که در زمینهای مشترک فعالیت میکنند، آشنا میشوند، به تفریح میروند و برای دانشگاه خود هم تبلیغ میکنند. برخی از این مدارس تابستانی، مجانی هستند و برخی دیگر، هزینهای ناچیز را از شرکتکنندگان میگیرند.
صبحها که کلاسها شروع میشوند، شرکتکنندگان از هتلهایشان که خودشان هزینهاش را میپردازند، به دانشگاه میآیند. در زمان استراحت بین کلاسها، مقدار زیادی میوه و نوشیدنی رایگان بر روی میزها قرار میگیرد. همگی، نهار را میهمان MADALGO هستند تا پس از آن دوباره به سر کلاس بروند. دیروز بعدازظهر، تمام شرکتکنندگان با یک اتوبوس به سالنی برده شدند به نام Racing Hall. در آنجا، هر کداممان پشت فرمان ماشینهایی نشستیم که حداکثر سرعتشان ۸۰ کیلومتر در ساعت بود. اما وقتی در یک پیست، با پانزده ماشین دیگر مسابقه میدهی و از مسیر پر پیچ و خم آن عبور میکنی، آن سرعت هم، برای مبتدیانی چون ما، زیاد است.
اینگونه مراسمها، حتی اگر هیچ بازدهی علمی نداشته باشند، که دارند، باعث آشنایی آدم با دیگر همکارانش در دنیا میشوند. این بسیار مهم است که فردی مانند Eric Demaine، استاد ۲۷ ساله دانشگاه MIT که به طور متوسط، هر دو هفته یکبار، یک مقاله علمی منتشر میکند را از نزدیک ببینی، در کلاس درسش بنشینی، با او صحبت کنی و حتی او را با کلاه مخصوص رانندگان ماشینهای مسابقهای نظاره کنی.
فرستاده شده در درس خواندن،علوم کامپیوتر،يادداشتهاي دانمارك | بدون نظر
Daimi
نوشته شده توسط پویا در ۱۳۸۷/۰۴/۰۴ – 10:29 ب.ظ - 1,232 بازدیددپارتمان علوم کامپیوتر دانشگاه اورهوس که در اینجا به Daimi مشهور است، دارای ۱۰ گروه با نامهای زیر میباشد. ۵ تای اول، بزرگتر و دارای اساتید و دانشجویان بیشتری هستند:
۱- نظریه پیچیدگی (Complexity Theory)
2- امنیت و رمزنگاری (Cryptography and Security)
3- الگوریتمها و ساختمان دادهها (Algorithms and Data Structures)
4- بیوانفورماتیک (Bioinformatics)
5- گرافیک کامپیوتری (Computer Graphics and Scientific Calculations)
6- زبانهای برنامهنویسی (Programming Languages and Formal Methods)
7- سیستمهای توزیع شده (Modelling and Validation of Distributed Systems)
8- نرمافزارهای شیءگرا (Object-Oriented Software Systems)
9- محاسبات فراگیر (Pervasive Computing)
10 – ابررسانه (Hypermedia)
من هماکنون عضو گروه سوم میباشم و به عنوان دانشجوی دکترا در آنجا مشغول هستم. با اینکه من در دوره فوقلیسانس در زمینه بیوانفورماتیک کار میکردم، اما سرنوشت اینگونه رقم خورد که به علاقه اصلی خودم یعنی طراحی الگوریتم بازگردم. در پائیز سال گذشته که جستجو کردن برای پیدا کردن یک دانشگاه برای ادامه تحصیل را شروع کردم، در این فکر بودم که علاوه بر گروههای بیوانفورماتیک برای گروهایی که در زمینه طراحی الگوریتم هم کار میکنند، درخواست بفرستم که عاقبت MADALGO گروهی بود که مرا پذیرفت. به زودی کل ماجرای Apply کردن خودم که روند طول و دراز و پر فراز و نشیبی داشت را مینویسم.
از بین گروههایی که نامشان در بالا آمد، سه گروه اول در مجموعه علوم کامپیوتر نظری قرار میگیرند و باقی گروهها با کمی اختلاف، دارای فعالیتهای کاربردی هم میباشند، به خصوص دو گروه آخر که در دانشگاه اورهوس و البته در تمام دنیا، جزء گروههای تحقیقاتی جدید محسوب میشوند.
از ۲۴ آگوست ۲۰۰۷ که مرکزی با نام MADALGO با بودجهای هنگفت از طرف بنیاد ملی تحقیقاتی دانمارک، تاسیس شد، گروه سوم با این نام یعنی MADALGO شناخته میشود، زیرا تمام ۲۲ نفری که به عنوان استاد، محقق، دانشجو و برنامهنویس در این گروه کار میکنند، کارمندان MADALGO نیز محسوب میشوند. البته این مرکز به غیر از این ۲۲ نفر، ۱۳ عضو دیگر نیز دارد که نه در دانشگاه اورهوس که در سه مکان دیگر با نامهای موسسه تحقیقاتی ماکس پلانک در آلمان، دانشگاه فرانکفورت در آلمان و دانشگاه MIT در آمریکا مشغول هستند.
جمعهای که گذشت، در Daimi، روز علوم کامپیوتر نام گرفته بود. در این روز، ۱۰ سخنرانی ۱۵ دقیقهای انجام شد که هر کدام توسط یکی از اساتید هر یک از گروهها ارائه شد که در آنها به معرفی اعضای گروهها و فعالیتهای تحقیقاتی که انجام میدهند، پرداختند. به نظر من، کار بسیار جالبی است و اگر از اینگونه فعالیتها در جهت معرفی گروههای تحقیقاتی در دانشگاههای ایران نیز انجام گیرد، نه تنها باعث میشود که گروههای مختلف از دانشگاههای مختلف با یکدیگر آشنا شوند بلکه تلاش میکنند در حضور یک جمعیتی، برای بهتر دفاع کردن از فعالیتهایشان با یکدیگر رقابت کنند که این، البته رقابتی است با نتایجی میمون. تمام اسلایدهای مربوط به سخنرانیها در وبسایت Daimi موجود است.
فرستاده شده در درس خواندن،علوم کامپیوتر | ۳ نظر
پیشرفت علم، باید بینالمللی شویم
نوشته شده توسط پویا در ۱۳۸۷/۰۴/۰۱ – 12:58 ب.ظ - 1,104 بازدیددر زمانهای گذشته، دانشمندان در اتاق خود مینشستند و با ورق زدن چند کتاب و چند مقاله و انجام دادن چندین آزمایش، دست به یک کشف علمی میزدند. اما امروزه، آنقدر علوم گسترده شدهاند که نه تنها نمیتوان در چندین رشته علمی مختلف، صاحبنظر بود بلکه در یک رشته علمی خاص مانند علوم کامپیوتر نیز نمیتوان دانشی وسیع یافت. باید شاخهای از هزاران شاخه علمی مختلف را برگزید و در آن شاخه به تبحر رسید. نمیتوان سر در لاک خود کرد و به تفکر پرداخت و دانشمند شد، که باید از صدها مقاله و کتابی که هر هفته، برای یکی از این هزاران شاخه علمی منشتر میشود، مطلع بود، باید با شرکت کردن در کنفرانسهای مختلف، با موضوعات روز دنیا و دانشمندان فعال آن موضوعات و شیوه تفکرشان آشنا شد تا هم، پروراندن ایدههای جدید در مغز ممکن گردد و هم مانند عمو پترس نابغه، از قافله علم عقب نماند۱. البته، رقابت کردن بر سر انتشار مقاله، امر نیکویی نیست، اما پیشرفت و توسعه نیز جز با گستراندن علم و دانش فراهم نمیگردد. گاه از دیدن سرعتی که علم در پیشرفت کردن به خود گرفته است، شگفتزده میشوم، وقتی تنها در رشته علوم کامپیوتر بیش از ۵۰۰ مجله علمی (Journal) و بیش از ۴۰۰ کنفرانس در دنیا بوجود میآیند، من میمانم که مگر آدمها چه قدر حرف برای گفتن دارند، اما گویا دارند و دیگر آن زمان گذشت که هر چندین سال، یک نفر نیوتنوار پیدا شود و به جای همه، همه حرفها را بزند. دیگر آن زمان گذشت که نابغهها مسیر زندگی بشر و توسعه علم و دانش را رقم بزنند که اگر هم امروز نابغهای باشد که هست در برابر هزاران هزار فکر متوسط که همه روزه مشغول تفکر و آزمایش و نگارشند، رنگ میبازد. اما شاید اگر در فکرت، خود را نابغه بپنداری، ایدهها از ذهنت سربرآورند و تو هم شوی یکی مانند دیگران.
تمام دانشگاههای معتبر دنیا که برای تحقیقات ارزش قائلند و مسئولیت مدیریت تحقیقات را به فردی شایسته سپردهاند، سرمایهگذاری بسیار میکنند تا ارتباط دانشمندان خود را با دانشمندان دیگر دانشگاهها حفظ کنند. نه تنها تمام اساتید دانشگاهها، عضو هیأت داوری کنفرانسها و مجلات مختلف هستند که دانشجویان دکترا نیز در طول تحصیل خود، در چندین کنفرانس مختلف، با خرج دانشگاهشان شرکت میکنند. آنها نه تنها به عنوان بازدیدکننده به دانشگاههای مختلف دنیا میروند بلکه میتوانند بخشی از دوران تحصیل خود را در دانشگاهی دیگر و با گروهی دیگر سپری کنند و این را باور دارند که علم، جز با این مشارکتهای بینالمللی، پیشرفت نمیکند و البته هیچیک از اینها حاصل نمیشود مگر با پولی که حکومتها یا شرکتهای میلیاردر دنیا باید در این راه خرج کنند.
شاید علوم کامپیوتر، تنها رشتهای باشد که کنفرانسهای علمی آن، مهمتر از مجلات آن تلقی میشوند. مهمترین کنفرانسها، آنهایی هستند که توسط ACM و IEEE برگزار میشوند و مهمترین مجلات هم توسط ACM منتشر میشوند. البته ناشرین دیگری نیز مانند Springer و SIAM جزء بهترین ناشران محسوب میشوند.
۱- کتاب “Uncle Petros and Goldbach’s Conjecture“، با نام “عمو پترس و انگاره گلدباخ” به فارسی ترجمه شده است، اما جالب است که در لیست کتابهایی که در وبسایت وزارت ارشاد قرار دارند، دیده نمیشود. یکی از مترجمان کتاب حمید پزشک از اساتید دانشگاه تهران است.
فرستاده شده در درس خواندن،علوم کامپیوتر | یک نظر
یک نفس راحت
نوشته شده توسط پویا در ۱۳۸۷/۰۳/۱۳ – 10:42 ب.ظ - 913 بازدیدامروز بالاخره امتحانم را دادم و حسابی احساس راحتی میکنم. در دانشگاه تهران همیشه، سختترین درسها، درسهایی بودند که دکتر نوذری ارائه میداد و البته بهترین نمرات را هم او میداد ولی انصافاً این درسی که من در این یک ماه گذراندم، سختتر از همه آنها بود. منابع درس، ۱۶ مقاله درباره مسائل مختلف الگوریتمهای داینامیک بودند که هم میشد مقالهها را دانلود کرد و هم میشد همه آنها را در قالب یک کتاب (Compendium) از Information Office دپارتمان گرفت. بعضی مقالهها واقعاً سخت بودند، به خصوص مقالهای که درباره حل مسائل جبری به صورت داینامیک بود. بعضی مقالهها شامل مطالب و واژگانی بودند که تا به حال به چشمم هم نخورده بودند. Gudmund امتحان را به صورت چهارجوابی گرفت و برای دو ساعت وقت، ۳۰ تا سوال داده بود. گمان میکنم این Gudmund از آن آدمهای منظم و دقیقی است که برای همه کارشان دلیل میآورند و اصطلاحاً مو را از ماست میکشند. به عنوان مثال هر کسی برای پاسخ دادن به هر سوال چهارجوابی، میتواند به ۸ حالت مختلف عمل کند.
۱- هیچ پاسخی را انتخاب نکند.
۲- یک پاسخ را انتخاب کند و آن پاسخ درست باشد.
۳- یک پاسخ را انتخاب کند و آن پاسخ غلط باشد.
۴- دو پاسخ را انتخاب کند و یکی از آنها درست باشد.
۵- دو پاسخ را انتخاب کند و هیچ یک از آنها درست نباشند.
۶- سه پاسخ را انتخاب کند و یکی از آنها درست باشد.
۷- سه پاسخ را انتخاب کند و هیچ یک از آنها درست نباشند.
۸- چهار پاسخ را انتخاب کند.
Gudmund برای هر یک از این حالات، نمرهای را در نظر گرفته بود و آنقدر حساب شده این نمرات را تعیین کرده بود که آدم حیرت میکرد. جالبتر این است که او این روش خود را در قالب یک مقاله، در مجله ACM SIGCSE در سال ۲۰۰۶ منتشر کرده است. این مجله توسط گروهی در ACM با نام SIGCSE که در زمینه روشهای آموزش علوم کامپیوتر فعالیت میکند، منتشر میشود. برای دیدن نمونهای از این امتحان چهارجوابی میتوانید به نمونهای که خود او در وبسایتش گذاشته است رجوع کنید.
خلاصه، من که امتحان را دادم و فکر هم میکنم نمره نسبتاً خوبی بگیرم، باید از فردا شروع کنم به خواندن مطالبی درباره I/O Efficient Algorithms و Cache Oblivious Algorithms که شاخههای تخصصی کار MADALGO میباشند.
فرستاده شده در درس خواندن | ۲ نظر
آغاز درس و مشق
نوشته شده توسط پویا در ۱۳۸۷/۰۳/۰۸ – 12:00 ق.ظ - 619 بازدیداین چند روزی که مطلبی در وبلاگ ننوشتم، درگیر انجام پروژه یکی از درسها بودم. وقتی یک ماه پیش به اینجا آمدم، هنوز یک هفته از رسیدنم نگذشته بود که از Gerth (استاد راهنمایم) خواستم تا در یک جلسه برنامه درسیم را به من بگوید و از همان روز جلسه فهمیدم که باید در یک سال و نیم اول از این دوره دکترای سه ساله، ۳۰ واحد درسی را بگذرانم. در اینجا دروسی که برای دورههای فوق لیسانس و دکترا ارائه میشوند، یا برای یک فصل هستند و یا دو فصل طول میکشند. دروس یک فصلی که در حدود دو ماه طول میکشند، ۵ واحد هستند و دروس دو فصلی که تقریباً، چهار ماه طول میکشند، ۱۰ واحد میباشند. خلاصه قرار بر این شد که من درس الگوریتمهای پویا (Dynamic Algorithms) که زمان رسیدن من به اینجا، یک ماه از آغاز آن گذشته بود را بگذرانم و ۲۵ واحد دیگر را برای دروس هندسه محاسباتی، الگوریتمهای تصادفی و الگوریتمهای ورودی/خروجی، در پائیز و زمستان آینده بگذارم.
خوشبختانه جلسه اول را که به کلاس رفتم، Gudmund راجع به رشتهها صحبت کرد که یک آشناییهایی از قبل با آن داشتم. او در مقایسه با دیگر اساتید خیلی خوب انگلیسی حرف میزند، اما من که به طور کل نصف مطالب را در کلاس متوجه نمیشوم. البته گمان نمیکنم که به جز دو دانشجوی دانمارکی و Kostas که دوست خونگرم یونانیام است، بقیه هم متوجه شوند. فکر میکنم تنها من و Kostas در کلاس، غیر دانمارکی هستیم و Gudmund فقط به خاطر ما دو نفر انگلیسی حرف میزند. از گاهاً دانمارکی حرف زدن دانشجوها و Gudmund، پیدا است که همگی دوست دارند دانمارکی صحبت کنند.
به هر حال،جمعه پروژه را تحویل دادم و دوشنبه هفته دیگر هم باید امتحان بدهم. پروژه درباره همان مسئله معروف، پیدا کردن درخت پوشای مینیمم در یک گراف بود ولی این بار گرافی که وزن یالهای آن دائماً تغییر میکند و همین باعث میشود بتوان راههایی بهتر از الگوریتمهایی مثل Kruskal و Prim پیدا کرد. این پروژه، پیادهسازی یکی از این راهها، آزمایش آن و پاسخ به تعدادی سوال بود که میبایست همگی در قالب یک گزارش در میآمدند.
فرستاده شده در درس خواندن | ۳ نظر
