<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>پست‌های انتشارات رایانش</title>
        <link>https://virgool.io/rayanesh/feed</link>
        <description>اینجا دانشجویان، در حال تحصیل و یا فارغ‌التحصیل دانشکده مهندسی کامپیوتر دانشگاه شریف می‌نویسند. نوشته‌ها از جنس حرف‌ها، تجربه‌ها، چالش‌ها، درس‌های علمی و غیرعلمی، احساسات و در یک کلمه زندگی ما در اینجا هستند.</description>
        <language>fa</language>
        <pubDate>2026-06-17 07:15:18</pubDate>
        <image>
            <url>https://files.virgool.io/upload/publication/kckjxxva7ym8/gc2ev6.png</url>
            <title>رایانش</title>
            <link>https://virgool.io/rayanesh</link>
        </image>

                    <item>
                <title>به من نگو دانش‌جو! بگذارید ربات‌ها درس بدهند!</title>
                <link>https://virgool.io/rayanesh/%D8%A8%D9%87-%D9%85%D9%86-%D9%86%DA%AF%D9%88-%D8%AF%D8%A7%D9%86%D8%B4%D8%AC%D9%88-%D8%A8%DA%AF%D8%B0%D8%A7%D8%B1%DB%8C%D8%AF-%D8%B1%D8%A8%D8%A7%D8%AA%D9%87%D8%A7-%D8%AF%D8%B1%D8%B3-%D8%A8%D8%AF%D9%87%D9%86%D8%AF-l6ouitxmr2zj</link>
                <description>تذکر: خواندنِ این متن را با پیش‌فرضِ احترام به جایگاه استاد و معلم شروع می‌کنیم و قصدِ کم‌کردن جایگاهِ ارزش استاد را نداریم. به قول ایرج میرزا: «گفت استاد: مبر درس از یاد / یاد باد آن چه مرا گفت استاد»بیش‌تر بحثِ این متن در مورد سیستم است.با خود می‌گفتم تو برای دانشگاه چه می‌توانی بکنی؟ برای پیشرفت این سیستم، برای افزایش شوق یادگیری، همدلی و یادگیری، افزایش کیفیت تدریس و ... چه می‌توانی بکنی؟این همه آدم پرانرژی وارد می‌شوند و سپس چه می‌شود؟با خود سر این سوال‌ها کلنجار می‌رفتم و گفتم احتمالا مباحثه و انتقال حرف‌ها به آدم‌های مربوط به فضا تاثیر بهتری از غُرزدن از فضای دانشگاه بین دانش‌جوها داشته باشد.بعد از یکی از کلاس‌های دانشکده ریاضی بود که به دنبال استاد رفتم و با او صحبت کردم و انتقادها و پیشنهادها و سوال‌هایی را در خصوص امر آموزش این دانشکده مطرح کردم؛ خلاصه گفت‌وگویی شکل گرفت و تهش من هم دو جوابِ دلسردکننده در خاطرم ماند:۱) اگر دقت کنید دانشگاه‌های خارجی مثل MIT نیز به فلان طریق رفتار می‌کنند. این چیزی که شما می‌گویید خلاف آن است.۲) شما «دانش‌جو» هستید و به آن معناست که خودتان باید به دنبال دانش بروید و بهانه‌ای نیاورید.اشکال مورد اول که در مقایسه و تقلید کورکورانه است و باید فکر شده به کار دیگران نگاه کنیم و اگر چیز خوبی دارند از آن‌ها یاد بگیریم.و اما مورد دوم؛ واژه‌ی «دانش‌جو» واژه‌ی زیبایی‌ست اما کاربرد این واژه در دانشگاه فعلا برای آن است که آن را بر سر دانش‌جو بکوبیم و از اشتباهات و کاستی‌های سیستم چشم‌پوشی کنیم. به قولی از زیر بار تفکر درباره‌ی اصلاح کم و کاستی‌ها در برویم و این بار را به شکلی دیگر بر سر دانش‌جو بگذاریم.من حس می‌کنم این سیستمِ آموزشی با ما دوست نیست. آخرش مثل فیلم Life of Pi می‌فهمیم که سیستم با ما دوست نبوده و فقط یک همراه بوده که ما را به مقصد رسانده‌است. (تازه اگر به مقصد برسیم.)وقتی که پی پس از ۲۲۷ روز گم‌شدگی میان دریا و با همراهی یک ببر نجات پیدا می‌کند، ببری که رفیق تنهایی او شده‌بود به پشت سرش و پی یک نگاه هم نمی‌اندازد و می‌رود. البته قطعا اگر این ببر نبود پی نیز نجات نمی‌یافت.خلاصه که بنده فعلا خیلی نمی‌بینم که سیستم بخواهد با دانش‌جو‌ها دوست باشد و با آن‌ها دوستی کند. چه‌قدر احتمال دارد در کلاس ۲۰۰ نفره‌ی ریاضی و فیزیک استاد با دانش‌جو دوستی کند؟ به‌راستی چند استاد راهنما هستند که ارتباط خوبی با دانش‌جویان‌شان دارند؟ چند نفر از دانش‌جویان تا به حال استاد راهنمایشان را دیده‌اند؟سوالاتی وجود دارد که خوب است به آن‌ها فکر کنیم. آیا سیستم با همان روند ۱۰۰ سال گذشته دارد پیش می‌رود؟ آیا نیاز به تغییر و پیشرفت ندارد؟ آیا سیستم فقط می‌تواند با مریم میرزاخانی‌ها دوستی کند و باعث پیشرفت آن‌ها شود؟خوب. بگذریم. اما واقعا برای این سیستم چه می‌شود کرد؟ این سوال بزرگی‌ست. اگر دوست دارید شما هم در موردش نظر دهید. علی‌الحساب این‌جا در مورد یکی از مفاهیم بزرگی که برای بهبود سیستم می‌تواند کمک کند صحبت می‌کنیم:بگذارید ربات‌ها درس بدهند!وقتی که استاد و دانش‌جو با هم دوستی نمی‌کنند، تعاملِ کمی وجود دارد، ما هم دانش‌جو (!!!) هستیم و خودمان باید برویم به دنبال دانش، استاد نمی‌تواند برای ۴۰۰ دانش‌جو وقت بگذارد و ... آن‌وقت حضور استادها چه فایده‌ای دارد و چه کمکی به شکل‌گیری تعامل می‌کند؟ سوال این‌جاست که استادی که فقط بخواهد درسش را بدهد و برود چه فرقی با یک ربات می‌کند؟ آیا ما می‌توانیم از ربات‌ها برای تدریس استفاده کنیم؟ یا از ربات‌ها به عنوان دستیار آموزشی استادها کمک بگیریم؟این روزها که کرونا هست و قرنطینه سفره‌ی آموزش مجازی پهن شده‌است؛ اما از فناوری آموزشی فقط برای ما همین اسکای‌روم مانده‌است. (البته هدف از این متن کفر نعمت نیست و می‌دانم همین اسکای‌روم هم بسی نعمت بزرگی‌ست.)اما چه کارهایی می‌توان کرد؟ من خودم نیز اطلاع زیادی ندارم اما می‌خواهم بگویم که فناوری آموزشی تنها منحصر به ویدیوی تدریس نیست. هم‌چنین از لحاظ زمانی نیز در هر زمانی می‌تواند یاری‌گرمان باشد و در زمان کرونا و قرنطینه انحصار ندارد.اکنون با شما چند جمله از مقاله‌ی «درباره نقش فضای مجازی در آموزش محتوای ریاضی» از دکتر آرش رستگار را به اشتراک می‌گذارم تا با مصادیق دیگری از آن آشنا شویم. به نظر می‌رسد که مخاطب متنِ این مقاله بیش‌تر دانش‌جویان کامپیوتر هستند. دکتر رستگار در این مقاله صحبت‌های جالبی درباره‌ی مفاهیم متنوعی از جمله هوش مصنوعی و یادگیری ماشین در آموزش کرده‌است.هم‌چنین یک روش در آموزش مجازی به اسمِ «ابتلاء» را توضیح داده بودند و از آن به عنوان مهم‌ترین روش آموزشی یاد کرده‌اند. البته که جای خالی آن به شدت در دانشگاه حس می‌شود:مهم‌ترین روش آموزشی ابتلاء است و فضای مجازی این فرصت را به آموزش‌گر می‌دهد که دانش‌آموز را به صحنه‌های ابتلایی معرفی کند، که در زندگی واقعی ممکن نیست. کامل‌ترین این ابتلائات، ابتلا در طی یک داستان است که مسیر حرکت کاربر در داستان وابسته به پاسخ‌های او به مسائل باشد. این مفهوم داستان که چندین مسیر داشته باشد، قابل اجرا در فضای غیرمجازی نیست یا این کار بسیار پیچیده است. اما فضا و زمان مجازی برای ابتلای دانش‌آموز در چنین مسیری بسیار انعطاف دارد. مضاف برآن می‌توان محتوا را در ساختار مجازی اصلاح کرد و تغییر داد و یا به آن اضافه نمود که در حالت کتاب عادی چنین نیست و پس از چاپ کتاب، کار از دست مولف بیرون می‌رود.جالب است در همین دانشکده‌ی کامپیوتر که دانش‌جویانش هر روز دم از تکنولوژی و هوش مصنوعی و یادگیری ماشین می‌زنند، کار خاصی در راستای فناوری آموزشی و کاربردی‌کردن فناوری در آموزش انجام نمی‌شود و شاید دانشکده‌ی کامپیوتر نقطه‌ی آغازِ مناسبی برای پیشرفتِ مسیر نوآوری و فناوری آموزشی در دانشگاه باشد.بدون شک برای عملی‌کردن مفاهیمی مانند Adaptive learning، Competency-Based education یا ... به استفاده از تکنولوژی نیاز داریم.بالاتر درباره‌ی تعامل استاد و دانش‌جو و از ورود ربات‌ها به عرصه‌ی آموزش صحبت کردیم. حال در مورد ربات‌ها بیش‌تر توضیح دهیم و چند نکته را بگوییم. در واقع ربات جای استاد را نمی‌گیرد و به کمک او می‌آید. به طور مثال یک کلاسِ ریاضی را فرض کنید. به جای این که یک استاد هر سال n جلسه را به طور حضوری بیاید و به دانش‌جویان درس بدهد، می‌تواند در آماده‌کردن نرم‌افزارهای تدریس (که با روش‌هایی مثل «ابتلاء» ساخته‌شده‌اند.) مشارکت کند و نرم‌افزار تدریس را بهبود ببخشد. حال این نرم‌افزارِ تعاملی آماده‌ی امکان ارائه به تعداد نامحدودی از دانش‌جویان است و روزبه‌روز می‌توان آن را آپدیت کرد و بهبود بخشید. از آن طرف استاد نیز لازم به حضور در آن n جلسه‌ی هر ساله نیست و در بلندمدت وقتش آزادتر می‌شود و می‌توانیم همان وقت را به جای حضور در کلاس ۲۰۰ نفره به زمان گفت‌وگوی خصوصی استاد و دانش‌جویان اختصاص دهیم و با این کار تعامل نیز بیش‌تر می‌شود. علاوه بر آن نه‌تنها با یک آموزشِ با کیفیت برای دانش‌جویان دانشگاه آماده می‌کنیم بلکه گام مهمی در راستای عدالت آموزشی نیز بر می‌داریم و هر کسی از هر جای ایران نیز می‌تواند از این آموزش استفاده کند.اما خوب هنوز در ذهنم این سوال را دارم که چه کسی باید به این موضوعات بپردازد؟ ریاست دانشگاه، خودِ استادان، دانشجویان یا ...؟از توجهتون ممنونم! با کامنت گذاشتن خوش‌حالمون کنید :)</description>
                <category>رایانش</category>
                <author>محمدصادق سلیمی</author>
                <pubDate>Tue, 09 Jun 2020 18:16:04 +0430</pubDate>
            </item>
                    <item>
                <title>داده‌ها برای حل مسائل اجتماعی، آغاز یک مسیر</title>
                <link>https://virgool.io/rayanesh/%D8%AF%D8%A7%D8%AF%D9%87-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AD%D9%84-%D9%85%D8%B3%D8%A7%D8%A6%D9%84-boxeiqch5ejj</link>
                <description>چند وقت پیش توی یکی از قسمتای پادکست Hidden Brain یه چالشی از استفادهٔ داده برای تصمیم‌گیری رو گوش کردم و کمی بهش فکر کردم. فرض کنید ما از داده‌های پزشکی آمریکا بفهمیم که افراد سیاهپوستی که پیش دکترهای سیاه‌پوست می‌رفتن بیشتر عمر کردن. و تفاوت معنی‌داری مثلا ۱۰ سال به طور میانگین بیشتر عمر کردن. حالا آیا درسته که ما بیایم و قانون بذاریم که افراد سیاه‌پوست فقط برن پیش دکتر سیاه‌پوست؟ یا مثلا وقتی یه سیاه‌پوست میاد توی بیمارستان اون رو بفرستیم پیش دکتر سیاه‌پوست و سفیدپوستا رو بفرستیم پیش دکتر سفیدپوست؟داده میگه دکترای سیاه‌پوست عملکرد بهتری برای مریض‌های سیاه‌پوست دارن. با این داده چجوری تصمیم بگیریم؟ عکس از npr.orgالبته این سوال خیلی به مفاهیم پایه‌ای مثل اخلاق و مفاهیم جامعه‌شناسی گره خورده و باید به سوالای متنوعی اول جواب بدیم تا بتونیم به تعریف مشترکی از این که کدوم کار «درست»ه و یا بین دو تا کار کدوم «درست‌تر»ه برسیم. که به نظر یکی از مهم‌ترین چالش‌های این‌جور مساله‌هاست که البته مساله رو جذاب‌تر می‌کنه و خب کار تفکر و علم هم به نظرم همینه که تلاش کنه این چالشا رو حل کنه.حالا بیاید یه تحلیل ساده روی این مساله بکنیم و دو تا کار رو مقایسه بکنیم. کارهایی که پیشنهاد شد به نظر یکم نژادپرستانه‌ان و باعث به وجود اومدن این حس میشن که بین آدما بر اساس رنگ پوستشون تفاوت گذاشتیم و باعث جدا شدن بیشتر آدما هم میشن. از طرفی اگه یه همچین کارایی نکنیم و از این داده استفاده نکنیم انگار باعث شدیم میانگین عمر سیاه‌پوستا کم بشه. سؤال عمیقیه و البته جوابش به همین دوتا محدود نیست و شاید شما جواب‌های دیگه‌ای داشته باشید و به نظرم خوبه بهش فکر کنید. اگه جوابی هم داشتید دوست دارم جوابتون رو بشنوم و میتونید زیر پست پاسخ بذارید. توی پادکست تلاش می‌کنه تا مسائل مشابه و تحقیقایی که توی این زمینه شده رو بررسی کنه و تا حدی به جواب نزدیک بشه ولی بازم احتمالا جواب آخر آدمای مختلف روی این تصمیم با هم فرق کنه. اگه دوست داشتید می‌تونید پادکست رو از اینجا گوش کنید یا توی اپ‌های پخش پادکست قسمت People Like Us رو پیدا کنید و گوش کنید. https://www.npr.org/2019/06/03/729275139/people-like-us-how-our-identities-shape-health-and-educational-successhttps://www.npr.org/2019/06/03/729275139/people-like-us-how-our-identities-shape-health-and-educational-success معرفی یک درسکلا این جور مسئله‌ها هر چند چالش‌های مختلفی دارن ولی حل کردنشون به کمک داده رو دوست دارم و برام جذابه. چند وقت پیش که دیدم ویدئوها و منابع درسی با عنوان Using Big Data to Solve Economic and  Social Problems در دسترسه خیلی خوشحال شدم و شروع کردم به دیدنش. صفحهٔ درس اینجاست که توش لینک به اسلایدا و فیلم‌های کلاس هست و یه فیلم کوتاه هم هست که ارائه‌کننده دربارهٔ درس بیشتر توضیح می‌ده. https://opportunityinsights.org/course/ خلاصه شروع کردم به دیدنش و تا الان دو جلسش رو دیدم و به نظرم نکات جالبی، هم توی نحوهٔ برخورد با مسائل داره و هم خود مسائلی که توی درس مطرح میشن و نتایجی که به دست اومده جالبن. اگه دوست داشتید خوشحال میشم که شما هم تو گذروندن درس بهم ملحق بشید و با هم جلسه‌ها رو پیش بریم و دربارهٔ هر جلسه بیشتر صحبت کنیم... یا این که یه پروژهٔ واقعی مرتبط شروع کنیم. اگه دوست داشتید توی قسمت پاسخ بهم بگید.در کنارش تصمیم گرفتم که چیزهایی از هر جلسه که برام جالب و یا آموزنده بود رو هم اینجا بنویسم. البته به نظر کار سختیه و همین متن رو کلی وقته می‌خوام بنویسم و نشده. امیدوارم که کم‌کم دستم گرم بشه و بتونم در کنار این که درس رو جلو می‌برم این متنا رو هم اینجا بنویسم. امیدوارم که برای شما هم جالب و مفید باشه.پ.ن: نوشتن جلسه‌هایی از درس که می‌بینم رو شروع کردم و می‌تونید اولین نوشته رو از اینجا بخونید: https://virgool.io/@erfan.loghmani/%DA%86%D8%B1%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AF%D8%A7%D8%AF%D9%87-kd7mujv1twn0 </description>
                <category>رایانش</category>
                <author>عرفان لقمانی</author>
                <pubDate>Tue, 21 Apr 2020 20:44:37 +0430</pubDate>
            </item>
                    <item>
                <title>برتریِ کوانتومی، قصهٔ مقالهٔ گوگل - قسمت دوم</title>
                <link>https://virgool.io/rayanesh/%D8%A8%D8%B1%D8%AA%D8%B1%DB%8C%D9%90-%DA%A9%D9%88%D8%A7%D9%86%D8%AA%D9%88%D9%85%DB%8C-%D9%82%D8%B5%D9%87%D9%94-%D9%85%D9%82%D8%A7%D9%84%D9%87%D9%94-%DA%AF%D9%88%DA%AF%D9%84-%D9%82%D8%B3%D9%85%D8%AA-%D8%AF%D9%88%D9%85-vs0058dgad1w</link>
                <description>به قلم: سیدسجاد کاهانیقسمتِ قبلی را می‌توانید از این‌جا ببینیدبرتریِ کوانتومی، یک برخوردِ‌ صادقانه و مهندسیمقالاتِ مختلفِ تئوری [۲] و عملی [۶]، به خاطرِ تفاوتِ دیدگاه‌ها، معمولاً تعاریف و شروطِ مختلفی را برای برتریِ کوانتومی می‌گویند، اما به طورِ کلی، می‌توان این دوشرط را بیان کرد که البته هرکدام قابلِ بحث هستندمحاسباتی طراحی و انجام شود که:با یک کامپیوترِ کوانتومی قابلِ انجام باشد ولی با کامپیوترِ معمولی غیرِ قابلِ انجام باشد. (مثلاً زمانِ زیادی طول بکشد یا حافظهٔ زیادی لازم داشته‌باشد)جوابِ مسئله قابلِ ارزیابی باشد.اگر مسئله‌ای عضوِ BQP باشد و در عینِ حال عضوِ NP باشد (و طبیعتاً عضوِ P نباشد)، به این معنی‌ست که مطمئنیم وقتی اندازهٔ مسئله از حدی بزرگ‌تر شود کامپیوترهای کوانتومی آن را سریع‌تر حل می‌کنند و همچنین در زمانِ تقریباً کوتاهی می‌توانیم پاسخِ این مسئله را با یک کامپیوترِ معمولی ارزیابی کنیم.پس احتمال می‌دهیم مسئله‌هایی از این دست نظیرِ «تجزیهٔ عدد به عواملِ اول» یکی از کاندیداهای خوب برای نمایشِ برتریِ کوانتومی باشند. اما در حقیقت، بیشترِ طرح‌هایی که برای نمایشِ برتریِ کوانتومی ارائه می‌شوند، روی مسئله‌های متفاوتی نظیرِ نمونه‌برداری از یک توزیع تمرکز دارند. چرا؟[۲]کامپیوترِ کوانتومیِ همه‌کارهٔ بدونِ نویزِ درست‌حسابی نداریم.فکر می‌کنیم که مسئلهٔ تولیدِ اعدادِ تصادفی خیلی‌خیلی سخت‌تر از یک تجزیهٔ عدد برای کامپیوترهای معمولی‌ست.البته که علایقِ فیزیک‌دانان در طرحِ این مسائل دخیل بوده‌است. مسئلهٔ مدارِ تصادفییک مدارِ منطقیِ معمولی، یک تابعی‌ست که از ‭{0, 1}ᴺ‬ به ‭{0, 1}ᴹ‬ می‌رود. حالا یک مدارِ منطقیِ کوانتومی (که لزوماً برگشت‌پذیر هم هست) یک تبدیلِ خطیِ یکانی‌ست، در فضایی که  پایه‌هایش ‭{0, 1}ᴺ‬، یعنی رشته‌های N-بیتی اند. به این فضا،‌ فضای N-کیوبیتی و به این مدار نیز مدارِ N-کیوبیتی یا گیت N-کیوبیتی می‌گوییم.فرض کنید که حالتِ ⟨ψ₀| را به‌عنوانِ ورودی به مدارِ کوانتومیِ U داده‌ایم، سپس اندازه‌گیری‌ای کرده‌ایم که نتیجه‌ش یکی از اعدادِ 1 تا 2ᴺ مانندِ q است. احتمالِ هر خروجی را Prⁱᵈᵉᵃˡ(q|U) می‌نامیم.همچنین در نظر بگیرید، برای ساختِ مدارِ U، مدارهای یک‌ورودی-یک‌خروجی و دوورودی-دوخروجی را به شکلِ تصادفی ترکیب کرده‌ایم. یعنی با ترکیب کردنِ تعدادی از مدارهای ساده و کوچک -که مشخص هستند-، با یک الگوی تصادفی، یک مدارِ تصادفیِ بزرگ ساخته‌ایم.اگر به این مدارِ تصادفیِ U، ورودی‌ای بدهیم و خروجیِ آن را اندازه بگیریم، q عددی از توزیعی خاص خواهدبود. نمونه‌برداری از این توزیع، مسئلهٔ ماست.شبیه‌سازیِ این فرایند و نمونه‌برداری از توزیعِ آن، توسطِ کامپیوترهای معمولی کارِ بسیار مشکلی خواهدبود. [۶] این به نظر می‌رسد که فوق‌العاده‌ است، اما باید به سؤالات پاسخ داد: از کجا مطمئنیم این کار برای یک کامپیوترِ معمولی به اندازهٔ کافی مشکل است. شاید فقط ما بلد نیستم.از کجا مطمئن شویم واقعاً کامپیوترِ کوانتومی‌مان درست کار می‌کند و نمونه‌ها واقعاً از توزیعِ مذکور هستند؟ در پاسخ به سؤالِ اول، باید صادقانه بگوییم که نمی‌دانیم. [۲] این بیشتر شبیهِ یک تحدی‌ست که ادعا می‌کنیم این محاسبات را هیچ‌کسی نمی‌تواند انجام دهد و باید منتظر بمانیم و شاید مردی از خویش برون آید و الگوریتمی نو دراندازد و کاری بکند.پاسخ دادن به سؤالِ دوم اما چندان آسان نیست (بوی پیچاندن می‌آید)، پاسخ کوتاه این است که نمی‌توانیم مطمئن شویم [۱] و پاسخِ بلند خودش قصهٔ طولانی‌ای‌ست که در ادامه می‌گوییم.و ارزیابی‌شبرای این قسمت، لازم است که آمار و احتمال بلد باشید. تقریباً به اندازهٔ درسِ آمار و احتمال که به شکلِ مرسوم ارائه می‌شود.اگر مدارِ تصادفیِ U که در قسمتِ قبل گفتیم، با احتمالِ F، با خطا عمل کند، آنگاه می‌توان این فرایند را به این صورت بیان کردکه در Prᵉʳʳᵒʳ توزیعِ نتیجهٔ آزمایش درصورتِ بروزِ خطاست.با دو فرضِ  زیر می‌توان سنجه‌ای میزانِ خطا پیدا کرد.با توجه به این‌که این احتمالات ناشی از رخدادهای کوانتومی هستند خطاهایی که مدارهای مختلف رخ می‌دهند، در مجموعِ همهٔ مدارها، اریب نباشند و تقارنی نسبت به qها داشته‌باشند. یعنی به طورِ میانگین (برای همهٔ Uها) این توزیع، یکنواخت باشد. [۳]با توجه به شیوه‌ای که این مدارهای تصادفی را می‌سازیم، نتایجِ اندازه‌گیری از توزیعِ پورتر-توماس (پانویس ۶) تبعیت کند.این توزیع بیان می‌کند که برای یک q دلخواه، U یک متغیرِ تصادفی‌ست پس p=Prⁱᵈᵉᵃˡ(q|U) نیز یک متغیرِ تصادفی‌ست که تابعِ چگالیِ احتمالِ آن به شکلِ زیر است (پانویس ۷)با این دوفرض، می‌توانیم به این معادله برسیمو این یعنی با دانستنِ مقدارِ Prⁱᵈᵉᵃˡ(q|U) و با نمونه‌برداری از آن، به ازای Uها و qهای مختلف (برای SUتا مقدار از U و هرکدام با Sq مقدار از q)، طبقِ قانونِ اعدادِ بزرگ، تخمینی از F را به دست می‌آوریم.و همان‌طور که پیش‌تر پارامتر F را تعریف کرده‌ایم، احتمالِ سلامتِ آزمایش است، که معیاری از کیفیتِ انجامِ آزمایش است.اما حساب کردنِ Prⁱᵈᵉᵃˡ(q|U) مستلزمِ شبیه‌سازیِ کاملِ مدار در کامپیوترِ معمولی‌ست. این یعنی تا جایی که امکانِ شبیه‌سازیِ مسئله در کامپیوتر وجود دارد، می‌توانیم آن را ارزیابی کنیم.ولی داستان به همین‌جا ختم نمی‌شود. گوگل، ابتدا از طریقِ بررسیِ خطاها، پیش‌بینیِ اولیه‌ای از کیفیتِ نمونه‌برداری در شرایط مختلف (تعدادِ کیوبیت‌ها و تعداد مراحل شرایط مسئله هستند) به دست می‌آورد. سپس، چند نوع مدارِ تصادفیِ ساده‌شده نیز طراحی می‌کند و در نهایت نشان می‌دهد که کیفیتِ مدارهای ساده‌شده با مدارِ اصلی با پیش‌بینی‌ برابر است. سپس، با افزایشِ تعدادِ مراحل (سخت‌تر کردنِ مسئله) مدارهای ساده‌شده همچنان منطبق بر شبیه‌سازی‌‌ها هستند اما ارزیابیِ کیفیتِ مدارِ اصلی دیگر غیرممکن است و این یعنی به برتریِ کوانتومی دست پیدا کرده‌ایم. [۳]پانویس ۶. این توزیع که در ابتدا از داده‌های یک آزمایش مربوط به نوسان‌های واکنش‌های هسته‌ای به دست آمده‌است [۱۱] و بعدها در مسئله‌های مختلفِ آشوبِ کوانتومی موردِ توجه قرار گرفته، با توجه به آشوبناکِ بودنِ این مسئله و نتایجِ شبیه‌سازی‌ها [۶] برای حالتِ ایده‌آلِ این آزمایش (با تعدادِ مراحلِ کافی) معتبر می‌باشد.پانویس ۷. این‌که f(p) برای p &gt; 1 مقداری بزرگ‌تر از صفر دارد و این شاید نادرست به نظر برسد، اما در شرایطی که 2ᴺ ≫ 1 [۳]، این مقدار بسیار ناچیز و تقریباً برابر با صفر است. البته که این صحبت دقیق نیست و تنها برای تقریبِ ذهن است.شکلِ برتریِ کوانتومی در گزارشِ گوگل [۳]کازینوی مونته‌کارلوبرای این قسمت لازم است با مفهومِ تانسور، ضربِ تانسوری، ضربِ ماتریسی و روش‌های نمونه‌برداری آشنا باشید. دانستنِ مفهومِ ضربِ تانسوری تقریباً حیاتی‌ست، پس یوتوب را باز کنید.کازینوی بزرگِ مونته‌کارلو، شاهزاده‌نشینِ موناکویکی از قسمت‌های جذاب و قابلِ فهمِ مسئله این است که چه کدی توی کامپیوترهای معمولی‌مان بزنیم که همین مسئله را (در ابعادِ کوچک) شبیه‌سازی کند؟برای یک شبیه‌سازیِ کاملاً واقعی، پنج کیوبیت را در نظر بگیرید، که حالتِ آن‌ها تشکیلِ یک بردارِ مختلط در فضای 2⁵-بعدی (یا یک تانسورِ 2⨯2⨯2⨯2⨯2) می‌دهد. فرض کنید حالتِ اولیهٔ این پنج کیوبیت ⟨00000| باشد، یعنی مقدارِ آن بردار برابرِ ‭(1, 0, ... 0)‬ خواهد بود.در ساختارِ تانسوری، اگر بخواهیم یک گیتِ تک‌کیوبیتی را (که یه ماتریس 2⨯2 است) روی کیوبیتِ سوم اعمال کنیم، باید یک ضربِ ماتریسی برروی بعدِ سومِ تانسورِ حالتمان انجام دهیم. این کدِ واقعیِ پایتون همین‌ کار را می‌کند.import numpy

state_shape = (2, 2, 2, 2, 2)
state = np.reshape(np.array([1] + 31 * [0]), state_shape)

# a valid quantum state must have norm = 1
assert(np.linalg.norm(state) == 1.0)

gate = np.matrix([[0, 1j], [-1j, 0]])

# a valid quantum gate must be unitary (maintains norm)
assert(np.all(np.matmul(gate.H, gate) == np.identity(2)))

# apply gate on 3th qubit (2nd if we start from 0) 
np.tensordot(gate, state, axes=(1, 2))حالا به سراغِ دستورالعملِ گوگل برای مدارِ تصادفی می‌رویم.شکل ۱: الگوی گوگل در ایجادِ مدارِ تصادفی [۳]به ازای هرکدام از کیوبیت‌ها، به شکلِ تصادفی یکی از سه گیتِ ‭√X, √Y, √W‬ (پانویس ۸)  را انتخاب می‌کنیم و اعمال می‌کنیم. اگر در مرحلهٔ پیش یکی از این سه‌گیت را روی این گیت اثر داده‌ایم، از انتخاب‌هایمان حذفش می‌کنیم و از بینِ دو گیتِ باقی‌مانده یکی را برمی‌گزینیم.مطابقِ الگوی هرمرحله، برروی زوج کیوبیت‌های مشخص‌شده توسط الگو، گیتِ دوکیوبیتی‌ای را که fSim(π/2, π/6) نام دارد، اعمال می‌کنیم. این گیت نسبت به دوکیوبیت متقارن است. (پانویس ۹)الگوی هر مرحله، یکی از حروف A تا H می‌تواند باشد که مشخص می‌کند که برروی کدام زوج کیوبیت‌ها این گیتِ دوکیوبیتی اثر کند (درج شده در جدول ۱). دنبالهٔ الگوی مرحله‌ها در این موردِ شبیه‌سازیِ ما عبارتِ تکرارشوندهٔ ABCDCDAB است.[۳] داده‌های الگوهای اعمال گیت دوکیوبیتی استخراج‌شده از روی شکل ۶ مقدارِ ماتریسِ این گیت‌ها به این ترتیب است:در مرحلهٔ آخر، تنها گیتِ یک‌کیوبیتی اعمال می‌کنیم و سپس به سراغِ اندازه‌گیری می‌رویم.برای اندازه‌گیریِ این بردارِ حالت که به شکلِ 2⨯2⨯2⨯2⨯2 است، برای هرمؤلفهٔ آن که v باشد داریم ‭|v|²‬ احتمالِ رخدادِ رشته‌بیتِ مربوط به آن مؤلفه است. حالا کافی‌ست از این توزیع نمونه‌هایی را برداریم و پارامترِ F را که در قسمتِ قبل معرفی کردیم برای آن‌ها محاسبه کنیم.و در نهایت، با کدِ زیر می‌خواهیم صد بار،  با شش مرحله مدارهای تصادفی‌ای بسازیم و هربار با ده‌بار نمونه‌برداری از خروجی، پارامترِ F را تخمین بزنیم.import numpy as np
from random import choice

n = 5
cycles = 6
state_shape = (2, 2, 2, 2, 2)

# define single-qubit gates
xsqrt = np.array([[1, -1j], [-1j, 1]]) / np.sqrt(2)
ysqrt = np.array([[1, -1], [1, 1]]) / np.sqrt(2)
wsqrt = np.array([[1, -np.sqrt(1j)], [np.sqrt(-1j), 1]]) / np.sqrt(2)

single_gates = [xsqrt, ysqrt, wsqrt]

# define double-qubit gates
double_gate = np.array([[1, 0, 0, 0], \
                        [0, 0, -1j, 0], \
                        [0, -1j, 0, 0], \
                        [0, 0, 0, np.exp(1j * np.pi/6)]])
double_gate = np.reshape(double_gate, (2, 2, 2, 2))

# double-qubit gate pattern (from shape) ABCDCDAB
pattern = [(1,2), (2,3), (0,2), (2,4), (0,2), (2,4), (1,2), (2,3)]

# sample from different 100 random circuits
samples_U = 100

# list of F values
fs = []
for _ in range(samples_U):
  last_applied_gate = [None] * n
  
  # define input state
  state = np.reshape(np.array([1] + 31 * [0]), state_shape)
  
  # iterate over cycles
  for c in range(cycles):
    # iterate over qubits to apply single gates 
    for i in range(n):
      # apply a random gate on ith qubit
      gate = choice([g for g in single_gates if np.all(g != last_applied_gate[i])])
      state = np.tensordot(gate, state, axes=(1, i))
    # apply double-qubit gate
    state = np.tensordot(double_gate, state, axes=((2,3), pattern[c % len(pattern)]))
  
  # last half cycle
  for i in range(n):
    gate = choice([g for g in single_gates if np.all(g != last_applied_gate[i])])
    state = np.tensordot(gate, state, axes=(1, i))
  
  # let&#039;s dice!
  ps = (abs(state)**2).flatten()
  # number of samples from output of this circuit
  samples_q = 10
  for _ in range(samples_q):
    fs.append(2**n * np.random.choice(ps, p=ps) - 1)

print(&#039;F = &#039;, np.mean(fs), &#039;±&#039;, np.std(fs) / np.sqrt(len(fs) - 1))نتیجهٔ اجرای این کد، برای من این شد، انتظار داشتیم چند بشود؟ F =  0.98 ± 0.05بعد از این اتفاق‌ها آی‌بی‌ام ادعا کرده که برتریِ کوانتومی رخ نداده و این محاسبات را می‌توان در طیِ دو روز با یک سوپرکامپیوتر انجام داد. [۱۰](امروز که این نوشته تمام شد سالگردِ مرتضی کیوان بود. کاشکی به جای این‌ها، فقط می‌نشستیم و یادی از او می‌کردیم)برای دیدنِ کدها و فایل پی‌دی‌اف گزارش این‌جا را ببینیدپانویس ۸. مهم نیست این رادیکال‌ها و نامگذاری‌ها چه معنی‌ای می‌دهند و چه دلیلی دارند، ما می‌دانیم هر گیتِ تک‌کیوبیتی، یک ماتریسِ 2⨯2 است و تنها مقدارِ این ماتریس‌ها را بدانیم.پانویس ۹. یک گیت دوکیوبیتی یک تبدیلِ خطی برروی فضای 2⨯2بعدی‌ست. به عبارتِ دیگر، یک ماتریسِ 4⨯4 است.مراجع و منابع و مآخذ و غیره[1] Scott Aaronson. Scott&#x27;s Supreme Quantum Supremacy FAQ. url: https://www.scottaaronson.com/blog/?p=4317 (visited on 10/19/2019).[2] Scott Aaronson and Lijie Chen. &quot;Complexity-theoretic foundations of quantum supremacy experiments&quot;. In: Proceedings of the 32nd Computational Complexity Conference. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik. 2017, p. 22.[3] Frank Arute et al. &quot;Quantum supremacy using a programmable superconducting processor&quot;. In: Nature 574.7779 (2019), pp. 505-510.[4] Charles H Bennett et al. &quot;Strengths and weaknesses of quantum computing&quot;. In: SIAM Journal on Computing 26.5 (1997), pp. 1510-1523.[5] Ethan Bernstein and Umesh Vazirani. &quot;Quantum complexity theory&quot;. In: SIAM Journal on Computing 26.5 (1997), pp. 1411-1473.[6] Sergio Boixo et al. &quot;Characterizing quantum supremacy in near-term devices&quot;. In: Nature Physics 14.6 (2018), p. 595.[7] David Deutsch. &quot;Quantum theory, the Church-Turing principle and the universal quantum computer&quot;. In: Proceedings of the Royal Society of London. A. Mathematical and Physical Sciences 400.1818 (1985), pp. 97-117.[8] Oded Goldreich. &quot;In a world of P= BPP&quot;. In: Studies in Complexity and Cryptography. Miscellanea on the Interplay between Randomness and Computation. Springer, 2011, pp. 191-232.[9] Abstruse Goose. Schrödinger&#x27;s Infinitesimal Miscalculation. url: https://abstrusegoose.com/6 (visited on 10/06/2019).[10] Edwin Pednault et al. Leveraging Secondary Storage to Simulate Deep 54-qubit Sycamore Circuits. 2019. arXiv: 1910.09534 [quant-ph].[11] Charles E Porter and Robert G Thomas. &quot;Fluctuations of nuclear reaction widths&quot;. In: Physical Review 104.2 (1956), pp. 483–491.[12] Erwin Schrödinger. &quot;Die gegenwärtige Situation in der Quantenmechanik&quot;. In: Naturwissenschaften 23.49 (1935), pp. 823-828.</description>
                <category>رایانش</category>
                <author>نشریهٔ رایانش</author>
                <pubDate>Mon, 04 Nov 2019 15:15:23 +0330</pubDate>
            </item>
                    <item>
                <title>برتریِ کوانتومی، قصهٔ مقالهٔ گوگل - قسمت اول</title>
                <link>https://virgool.io/rayanesh/%D8%A8%D8%B1%D8%AA%D8%B1%DB%8C%D9%90-%DA%A9%D9%88%D8%A7%D9%86%D8%AA%D9%88%D9%85%DB%8C-%D9%82%D8%B5%D9%87%D9%94-%D9%85%D9%82%D8%A7%D9%84%D9%87%D9%94-%DA%AF%D9%88%DA%AF%D9%84-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84-kmsjptpxg5jw</link>
                <description>۲۹ شهریور امسال (۲۰ سپتامبر ۲۰۱۹) سایت Financial Times اعلام کرد گوگل ادعا کرده‌است که به برتری کوانتومی رسیده‌است. در ساده‌ترین تعریف ادعا این بود که این ماشین تنها چند دقیقه نیاز دارد تا عملیاتی را انجام دهد که از یک ابررایانه حداقل ده‌هزار سال وقت می‌گیرد. گوگل بعد از گذشت یک ماه خبر را تایید کرد.این نوشته را سید سجاد کاهانی، یکی از بچه‌های دانشکده نوشته‌است. سجاد برای نوشتن آن چند هفته‌ای وقت گذاشته‌است. همچنین بخش‌هایی از محتوای آن توسط چندی از دانشجویان (از جمله علی بهجتی، امیررضا نگاری و مهرگان درودیانی) بازبینی محتوایی شده‌است. در این مقاله سعی شده‌است ماجرای رایانش کوانتومی گوگل برای کسانی که پیش‌زمینه علوم کامپیوتر و ریاضی دارند به طور کامل شرح داده‌شود. در ادامه می‌توانید آن را بخوانید.به قلم: سید سجاد کاهانیخبری که احتمالاً شنیده‌اید، این است که گوگل به برتریِ کوانتومی رسید، چیزی که به‌نظر می‌رسد اتفاقِ شگرفی باشد. حداقل از حجمِ خبرهایی که در این‌باره نوشته شده این‌طور به نظر می‌رسد.به طورِ خلاصه خبر این بود که گوگل، با کامپیوتری که قبلاً ساخته‌بود، توانسته کاری تقریباً غیرممکن را انجام دهد و از درستیِ نتیجهٔ آن مطمئن شود. کارِ تقریباً غیرممکن یعنی کاری که هیچ کامپیوترِ معمولی‌ای نمی‌تواند به این زودی‌ها انجامش دهد.جزئیاتِ خبر، حتی اگر از نظرِ ریاضی برای ما قابلِ فهم باشد، برای یک مهندسِ کامپیوتر چندان هیجان‌انگیز به نظر نمی‌آیند. اما همچنان برای همهٔ‌ ما جذاب است که سر از کارِ این کامپیوترهای کوانتومی دربیاوریم. برای همین در چند قصهٔ بی‌ربط به هم، از بنیان‌های مکانیکِ کوانتومی، به مسئله می‌رسیم.گربهٔ آقای شرودینگرعکس از [۹]فیزیکِ کوانتوم، تاریخچهٔ پیچیده و طولانی‌ای دارد که گفتنش حداقل به ملموس‌تر شدنِ مطلب، کمکِ زیادی می‌کند. اما به خاطرِ بی‌سوادیِ نویسنده در تاریخِ کوانتوم، خودِ کوانتوم و البته برای ایجاز، از گفتنِ آن می‌پرهیزیم.داستان را با گربهٔ مظلومِ آقای شرودینگر شروع می‌کنیم (پانویس ۱) که در جعبه‌ای‌ست که هیچ ارتباطی با بیرون ندارد. در آن جبعهٔ، یک ظرفِ سم وجود دارد که با یک تابشِ رادیواکتیو (یا هر پدیدهٔ کوانتومی‌ای که شما دوست دارید) فعال می‌شود. از مکانیکِ کوانتومی برمی‌آید که این گربه حالا هم مرده و هم زنده‌است. (یا به عبارتِ بهتر برهم‌نهیِ دوحالتِ مرده و زنده)برای این قسمت خوب است با فضای برداری آشنا باشید. فضای برداری را می‌توانید از یک جزوهٔ جبرخطی یا یک ویدیوی یوتوب یاد بگیرید. یا حتی اگر می‌خواهید خیلی‌خیلی بیشتر بدانید فضای هیلبرت را یاد بگیرید.برای نمایشِ ریاضی‌ این وضعیت، یک فضای برداریِ دوبعدیِ مختلط بگیریم که پایه‌های آن e₁ (به معنای سلامت گربه) و e₂  (به معنای پرپر شدنِ گربه) هستند که برهم عمودند، (پانویس ۲) حالا گربه در حالتِ زیر قرار دارد.که به احترامِ آقای دیراک برای نشان دادنِ بردارهایمان به جای v با فلش از ⟨v| استفاده می‌کنیم.در حالتِ کلی، این‌طور می‌گوییم که اگر سیستمی قبلاً، یکی از حالت‌های Q = { q₁ ... qₙ } را به خود اختصاص می‌داد، در مکانیکِ کوانتومی، حالتِ سیستم، برداری‌ست با اندازهٔ یک در فضای مختلطی که اعضای پایهٔ متعامدش ⟨q₁| تا ⟨qₙ| هستند، یعنی عضوی از مجموعهٔ ℂ به توان Q هستند.همین‌طور، گذارِ خودبه‌خودیِ یک سیستم، که قبلاً می‌شد با تابعی از Q  به Q بیان شود، در مکانیکِ کوانتومی با یک تبدیلِ خطی در فضای برداریِ حالت‌ها بیان می‌شود. این تبدیل اندازهٔ بردار را حفظ می‌کند (چون گفتیم هر بردارِ حالتی اندازه‌ای برابرِ یک دارد) پس یکانی‌ست.اکنون اگر درِ جعبه را باز کنیم با یکی از این دو واقعیت روبه‌رو می‌شویم که گربه زنده است یا گربه پرپر شده. یعنی هر بردارِ دلخواهی که وضعیتِ گربه پیش از باز شدن بوده، باید به یکی از پایه‌ها تبدیل شود‌ (پانویس ۴) با بی‌خیال شدنِ جزئیات و کلیات، احتمالِ این‌که بعد از باز کردنِ درِ جعبه‌، گربه‌ از حالتِ ⟨v| به عضوِ پایهٔ ⟨qᵢ| تبدیل شود و  حالتِ qᵢ را مشاهده کنیم، می‌شودکه این علامتِ ⟨a|b⟩ همان ضربِ داخلی‌ست.پانویس ۱. دربارهٔ مظلومیتِ گربهٔ آقای شرودینگر همین بس که هدفش بیانِ تناقض در تفسیرِ کپنهاگیِ مکانیکِ کوانتومی بوده [۱۲] که اکنون ما دقیقاً برای آموزشِ تفسیرِ کپنهاگی از آن بهره می‌جوییم.پانویس ۲. اگر بخواهیم مته به خشخاش (پانویس ۳) بگذاریم، در اصل باید حالت‌های کلِ سیستمِ داخلِ جعبه، یعنی سم و گربه را به شکلِ توؤمان بیان کنیم. یعنی e₁ می‌شود «گربه سالم است و سم منتشر نشده» و e₂ هم حالتِ «گربه پرپر شده و سم منتشر شده» پانویس ۳. محمدامین خشخاشی‌مقدم، ورودی ۹۳ مهندسیِ کامپیوترپانویس ۴. رمبیدن که ترجمهٔ collapse است فعلِ صحیح‌تری از تبدیل شدن است،‌ اما برای حفظِ خوانایی از آن استفاده نمی‌کنیم.از دکتر آبام تا دکتر وزیرانیبرای این قسمت خوب است با ماشینِ تورینگ و نمایشِ ریاضیِ آن آشنا باشید. برای این‌کار هم ویدیویی از یوتوب نگاه کنید و هم از روی جزوه یا ویکی‌پدیا، فرمِ ریاضیِ آن را ببینید. همچنین خوب است کلاسِ مسئله‌های P و NP را هم از روی یک ویدیوی یوتوب یاد بگیرید.از ماشینِ تورینگ، همین را به خاطرِ بیاورید که تابعی داشت که از Q⨯Γ که حالت‌ها و الفبای ورودیِ روی نوار هستند، به Q⨯Γ⨯{L,R} می‌رفت. این تابعِ گذار، مشخص می‌کرد که وقتی در حالتی هست و علامتی را روی نوار می‌بیند، به چه حالتی برود، چه علامتی در جایگاهِ فعلیِ نوار بنویسد و به کدام سمت روی نوار حرکت کند. حالا برای کوتاه‌نویسی این‌دوتا را تعریف می‌کنیم.یکی دیگر از این ماشین‌های خیالی، ماشینِ تورینگِ احتمالاتی‌ست. تابعِ گذارِ این ماشین، احتمالاتی‌ست. یعنی برای هر مرحله، تاس می‌اندازد.به شکلِ ریاضی‌تر، اگر برای تابعِ گذارِ ماشینِ تورینگ داشتیم δ: A→B حالا داریم که δ: A⨯B→[0,1] و این تابع، به ازای هر A یک توزیعِ احتمال است که یعنی برای هر عضوِ A مانندِ a داریماگر چیزی را این ماشینِ تورینگِ احتمالاتی بتواند با احتمالِ بیش‌تر از ⅔ تشخیص دهد، می‌گوییم آن‌چیز عضوِ کلاسِ BPP است و همین اول می‌شود حدس زد که P ⊆ BPP (پانویس ۵).حالا ماشینِ تورینگِ کوانتومی، احتمالاً یک تابعِ گذار به شکلِ یک تبدیلِ خطی خواهد داشت که اندازه را حفظ می‌کند. آن را به این صورت تعریف می‌کنیم. [۷]این تابع به هرحالتِ A یک بردارِ مخلتط در فضایی با پایه‌های B نسبت می‌دهد. اما می‌دانیم که می‌توانیم در برهم‌نهی‌ای از حالت‌های A باشیم، یعنی حالتمان برداری به نامِ ⟨ψ| عضوِ ℂᴬ باشد.که به شکلِ زیر قابلِ نوشتن استحالا در تبدیلِ حالتی که اتفاق می‌افتد، به شکلِ خطی، هریک از مؤلفهٔ‌های ⟨aᵢ| به بردارِ مربوط، یعنی (aᵢ)δ می‌رود. پس گذار به این شکل انجام می‌شود.دربارهٔ حفظ شدنِ اندازهٔ بردارِ حالت نیز باید بگوییم اگر حالت‌های یک ماشین (شاملِ محلِ نشان و وضعیتِ نوار و وضعیتِ ماشین و چیزهای دیگر) را مجموعهٔ S بنامیم، در هر مرحله، تحولی که صورت می‌گیرد، باید اندازهٔ بردارهای فضای ℂ به توان S را حفظ کند.می‌دانیم که در کوانتوم، در انتها، با اندازه‌گیری (باز کردنِ جعبه)، بردارِ حالت به یکی از پایه‌ها تبدیل می‌شود، که این یک فرایندِ احتمالاتی‌ست. پس برای همین، مشابهِ کلاسِ BPP، تعریف می‌کنیم کلاسِ BQP، شاملِ چیزهایی‌ست که یک ماشینِ کوانتومی با احتمالِ بیشتر از ⅔ تشخیص می‌دهد. آقایان برنشتاین و وزیرانی اثبات کرده‌اند که BPP ⊂ BQP [۵] و همچنین اثبات شده که NP ⊈ BQP [۴].پانویس ۵. یکی از مسئله‌های جالب، با ته‌مایه‌هایی از فلسفه این است که آیا این دو کلاس مساوی هستند یا نه و اگر باشند و نباشند هریک چه معنایی دارد. توضیحاتِ بیشتر را در این مقاله [۸] ببینید.قسمت دوم را از این‌جا ببینید</description>
                <category>رایانش</category>
                <author>نشریهٔ رایانش</author>
                <pubDate>Fri, 01 Nov 2019 17:25:54 +0330</pubDate>
            </item>
                    <item>
                <title>به نام تو</title>
                <link>https://virgool.io/rayanesh/%D8%A8%D9%87-%D9%86%D8%A7%D9%85-%D8%AA%D9%88-ttszpg58n2xb</link>
                <description>این اولین پست بلاگ من است. حالا که دارم این نوشته را تکمیل می‌کنم، یک دانشجوی ترم ۷ کامپیوتر شریف، یک معلم، یک عضو سادهٔ انجمن علمی دانشکده، عضو یک جمع دوست‌داشتنی به نام رستا، رفیق تعدادی رفیق و به صورت خلاصه سینا ریسمانچیان هستم!همیشه میانهٔ خوبی با نوشتن داشته‌ام اما هیچ‌گاه در یک بلاگ، به صورت پیوسته ننوشته‌ام؛ از این شاخه به آن شاخه زیاد رفته‌ام و اگر راستش را بخواهید، بعید می‌دانم این یکی هم پایداری چندانی داشته باشد؛ حتی نمی‌دانم می‌خواهم از چه بنویسم، از آن نوشته‌هایی که هیچ‌کس جز من نمی‌فهمدشان و به هیچ بنی‌بشری سودی نمی‌رساند یا از آن‌هایی که قرار است به درد کسی بخورد، که اگر قرار باشد به درد کسی بخورد بعید می‌دانم چیزی بتوانم بنویسم!هرچه که هست، ان‌شاء‌الله که خیر است!همهٔ این‌ها را نوشتم که بگویم سلام! سلام به شمایی که این نوشته را می‌خوانید، و سلام بر آنی که غایب است.</description>
                <category>رایانش</category>
                <author>سینا ریسمانچیان</author>
                <pubDate>Sun, 27 Oct 2019 13:55:29 +0330</pubDate>
            </item>
                    <item>
                <title>امسال تو دانشکده چه‌ خبره؟ (دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف)</title>
                <link>https://virgool.io/rayanesh/%D8%A7%D9%85%D8%B3%D8%A7%D9%84-%D8%AA%D9%88-%D8%AF%D8%A7%D9%86%D8%B4%DA%A9%D8%AF%D9%87-%DA%86%D9%87%D8%AE%D8%A8%D8%B1%D9%87-zjd1vw8bdpx1</link>
                <description>چند روز پیش SSC (انجمن علمی دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف ...) برنامهٔ کوچیکی به اسم Untitled SSC event برگزار کرد که در اون برنامهٔ سالانه‌ش رو ارائه داد.انجمن با توجه به اساس‌نامه‌ش باید فعالیت‌های مختلفی بکنه و برای منظم‌تر کردن فعالیت‌های امسال از جهات مختلف اونا رو بررسی کرد و در نهایت در قالب یک تقویم اون‌ها رو ارائه داد.تقویم سالانه انجمن در یک نگاهبرنامه با ارائه‌ای از فعالیت‌های انجمن توی تابستون شروع شد. انجمن به کارگروه‌ها اشاره کرد و گفت که برای تصمیم‌گیری در مورد فعالیت‌هاش از این کارگروه‌ها استفاده کرده. احتمالاً شما هم اگه دانشجوی دانشکده باشید اسم کارگروه‌ها به گوشتون خورده باشه: کارگروه فرهنگی که به مسائل فرهنگی موجود در دانشکده به خصوص مسائلی که انجمن در اون‌ها دخیله می‌پردازه، کارگروه علمی و فنی که فعالیت‌های تحقیقی-فنی رو مشخص می‌کنند و کارگروه صنعتی که در مورد نقش انجمن در ارتباط دانشکده با صنعت تصمیم می‌گیره.لیست کارگروه‌های انجمن عبارت است از: ۱- کارگروه فرهنگی ۲- کارگروه علمی ۳- کارگروه فنی ۴- کارگروه صنعتیاسلاید ارائه کارگروه فرهنگی در Untitled SSC Eventاسلاید ارائه کارگروه فنی و علمی در Untitled SSC Eventاسلاید ارائه کارگروه صنعتی در Untitled SSC Eventانجمن توضیح داد که این کارگروه‌ها چه جوری فکر کردند و چه جوری به سطح تصمیم‌گیری رسیدند. در نهایت هم نتایج پیشنهادی اون‌ها رو بررسی کرد و یه تعدادی از اون‌ها رو معرفی کرد که در ادامه برخی از اون‌ها رو می‌بینید.ایونت‌هایی که در ادامه می‌بینید برخی از فعالیت‌های انجمن و نتایج کارگروه‌هاست!برخی از رویداد‌های انجمنمدرسه تابستانه علوم کامپیوتر:سینا ریسمانچیان (عضو شورای مرکزی SSC و رابط انجمن با مدرسه تابستانه امسال):مدرسه تابستانه رویدادیه که مخاطبانش دبیرستانی‌هایی هستند که به علوم کامپیوتر علاقه‌مندند، اون‌ها در کارگاه‌های آموزشی شرکت می‌کنند و در نهایت هم با هم مسابقه می‌دن. تاثیر مدرسه روی دانشکده ما اینه که افرادی که درگیرش می‌شن (برای مثال منتورهای کارگاه‌ها) از لحاظ علمی مجبور می‌شن که پیشرفت کنند!  سه سالی هست که این مدرسه تابستانه در حال برگزاریه. رستا این رویداد رو برای اولین بار برگزار کرده و با انجمن هم همکاری می‌کرده و در سال گذشته ۲۴۰ نفر مخاطب داشته. امسال قراره از بهار یک کمیته تصمیم‌گیری متشکل از انجمن و رستا برای این رویداد تشکیل بشه.به این دلیل که مدرسه در تابستان برگزار می‌شه، انجمن قبلی براش تصمیم‌ می‌گیره و امسال هم از بهار کارش شروع می‌شه.سلسله برنامه ورودی‌ها-سبو:حمیدرضا هدایتی (دبیر شورای مرکزی SSC): انجمن برای ورودی‌ها در طی سال برنامه‌های متنوع و متعددی رو برگزاری می‌کنه که همهٔ اونا در قالب یک رویداد به اسم «سلسله برنامه‌ ورودی» جمع می‌شن. دو سالی هست که سبو وجود داره و امسال سال سومشه. امسال علاوه بر پرداختن فعالیت‌های گذشته و بهتر کردن کیفیت‌های اون‌ها، به ایده‌های جدیدی هم داره فکر می‌شه، برای مثال آموزش‌ آنلاین یا مسابقات. هم‌چنین همکاری‌‌هایی با دوستان حلقهٔ‌ راه مهندسی و شورای صنفی شکل گرفته که کیفیت برنامه‌ها بیشتر بشه. امسال شورایی به اسم شورای سبو شکل گرفته که اعضای اون عبارت است از: علی‌اکبر غیوری، حامد علی‌محمدزاده، آتنا ساقی، مهرداد صابری. مجید گروسی به عنوان رابط انجمن علمی و مهدی حاجی محمد علی به عنوان مسئول حلقه ها هم در این شورا حضور دارند. امیرحسین عباسی هم دبیر سبو هستش که می‌تونید برای کمک به سبو با اون ارتباط بگیرید.توی دوسال گذشته یه ساختار کلی ساده برای سبو به وجود اومده که عبارت است از: کانال سبو برای جواب به پرسش‌های متعدد ورود‌ی‌ها، مراسم سلام ورودی، کارگاه انتخاب لپ‌تاپ، کارگاه لینوکس، کارگاه وب، مراسم خداحافظ ورودی.وبلوپرز-Webelopers:مجید گروسی (عضو شورای مرکزی SSC و دبیر وبلوپرز امسال): این رویداد از دو سال پیش شروع شده، به صورت دو تا آخر هفته برگزار می‌شه که هفته اول کارگاه آموزشی تو حوزهٔ برنامه‌نویسی وب هست و هفته دوم مسابقه برای به چالش کشیدن مهارت افراد! تعداد شرکت‌کنندگان این رویداد نیز حدود ۸۰ نفر هست. در این سه سال بیشتر تمرکز بر روی جنگو و اندکی فریم‌ورک‌های فرانت‌اند بوده و نتایج خوبی هم از رویداد به دست اومده.این رویداد امسال ۹ و ۱۰ و ۱۶ و ۱۷ آبان برگزار می‌شه، و افرادی که پیش‌نیاز‌های رویداد رو بلدند می‌تونن شرکت‌ کنند!سری سمینارهای زمستانه-WSS:فرزام زهدی (عضو شورای مرکزی SSC و نایب دبیر WSS امسال):۴ سالی هست که این رویداد برگزار می‌شه. اون اوایل به این خاطر که تو ژانویه افراد علمی خارج از کشور برای دیدن خانواده به ایران میومدن، انجمن فرصت رو غنیمت شمرد و از اون‌ها دعوت کرد که به این سمینار بیان و قسمتی از نتایج تحقیقاتشون رو به اشتراک بگذارند، امسال هم پنجمین دوره این رویداد با ۴۰۰ نفر شرکت کننده و حدود ۳۵ نفر ارائه دهنده قرار هست که ادامه پیدا کنه، همچنین قراره کارگاه‌ و ایده جدیدی در دانشگاه به اسم Poster session در حاشیه رویداد برگزار بشه.پنجمین‌ سری‌ سمینارهای زمستانه (5th Winter Seminar Series) امسال تو ۱۲ و ۱۳ دی‌ماه برگزار میشه و تیم امسال خیلی زودتر شروع به کار کرده که بتونه خیلی با کیفیت‌تر برنامه رو برگزار کنه.رویداد FieldIn:سینا ریسمانچیان (عضو شورای مرکزی SSC): دو سال پیش انجمن علمی رویدادی به اسم FieldEx برگزار کرد که تو اون دانشجوها یک پروژه آزمایشگاهی رو جلو می‌بردند. متاسفانه اون رویداد به دلایل مختلف نتونست اونقدر موفق عمل کنه، ولی در خلال FieldEx برنامه‌ٔ دیگه‌ای برگزار می‌شد به اسم FieldIn که دانشجو‌ها با آزمایشگاه‌ها و کارهایی که توشون انجام می‌شه آشنا می‌شدند.امسال قرار هست که FieldIn ادامه پیدا کنه و هنوز انجمن تصمیمی در رابطه با چگونگی برگزاری و افراد برگزارکننده‌ش نگرفته.رویداد در حوزه امنیت-CTF:حسین مقدس (نایب‌دبیر شورای مرکزی SSC و دبیر امسال رویداد CTF): رویداد CTF، مسابقه‌ای هست که گوشه کنار جهان در حوزه امنیت برگزار می‌شه. شرکت‌کننده‌ها در این مسابقه باید از دیوارهای امنیتی‌ای بگذرند تا بتونند به Flag برسند. برای همین هم اسم رویداد CTF هستش که اختصار شده‌ٔ Capture The Flag هست! در شریف این رویداد سال‌ها بود که توسط آپا برگزار می‌شد، ولی خب آخرین بار کیفیت رویداد خیلی کم‌تر شده بود و امسال هم دیگه برنامه‌ای برای برگزاری اون نبود. انجمن هم به این دلیل که در دانشکده در راستای حوزهٔ امنیت کار زیادی انجام نمی‌شه تصمیم به برگزاری این رویداد گرفته.امسال CTF در اواسط بهمن‌ماه برگزار می‌شه ولی رویداد‌های آموزشی قبل از اون (۵ فاز اولیه) از آبان‌ماه شروع به کار می‌کنند. لازم به ذکره که حتی برگزارکننده‌ها هم در خلال این رویداد به یادگیری حوزهٔ امنیت می‌پردازند.رویداد جهانی Global GameJam:حمیدرضا هدایتی (دبیر شورای مرکزی SSC):این رویداد، که در حوزهٔ بازی‌سازی هستش، به صورت بین‌المللی برگزار می‌شه. SSC پارسال یکی از سایت‌های برگزاری این رویداد بود.این رویداد در اوایل بهمن‌ماه برگزار می‌شه، هر چند که ممکنه به دلیل تداخل با پایانترم‌ها برگزاری اون لغو بشه.دیتادیز-DataDays:ارغوان رضوانی (دبیر رویداد DataDays امسال): این رویداد یک رویداد آموزشی در حوزهٔ Data است و پارسال برای اولین بار به صورت کشوری با شرکت ۱۵۰۰ نفر برگزار شد. امسال هم با بررسی رویداد پارسال و مشکلاتش، برنامهٔ جدیدی برای این رویداد تعبیه شده، به این صورت که فاز نهایی مسابقه قراره با استانداردهای جهانی و خیلی گسترده در کشور برگزار بشه و حتی برای اینکه شرکت‌کننده‌های بیشتری بتونند در مسابقه درگیر بشن، امکان شرکت غیرحضوری هم فراهم بشه (هر چند که اجباری نیست!). الآن هم در مورد همکاری با دانشگاه‌های دیگه برای سایت شدن برای این رویداد ایده‌هایی وجود دارد. پیش از فاز نهایی، دو فاز آموزشی هم (بیشتر با جامعه هدف دانشکده) برگزار می‌شن که افراد برای فاز نهایی آماده‌تر بشن.فاز اول و دوم رویداد به ترتیب در اواخر آذر و بهمن و فاز نهایی نیز در اواسط اسفند‌ ماه برگزار می‌شن. فراخوان تیم‌های علمی و فنی این رویداد و AIChallenge به صورت مشترک منتشر شده، که می‌تونید برای کمک به این رویداد در اون‌ها ثبت‌نام کنید.رقابت هوش‌مصنوعی شریف - AIChallenge:امیرحسین پویا (عضو شورای مرکزی SSC و دبیر امسال AIChallenge)  و محمدامین قاسم‌زاده (نایب دبیر امسال AIChallenge):این رویداد از سال ۸۶ و با نام JavaChallenge برای تقویت برنامه‌نویسی دانشجویان شروع به کار کرد و سپس به اسم AIChallenge به کار خود ادامه داد که اکنون هدف آن مقداری تغییر کرده و در راستای بالا رفتن سطح علمی رویداد قدم برمی‌داره. تیم فنی این رویداد هر ساله از قوی‌ترین تیم‌های رویداد‌های انجمنه و مقطعی‌ست برای ورود افراد به صنعت. تیم علمی‌ای نیز به رویداد اضافه شده که از لحاظ محتوای آموزشی و سطح علمی مسابقه، بر رویداد نظارت داشته باشه.رقابت هوش مصنوعی شریف یا همان AIChallenge پارسال با ۲۹۰۰ نفر شرکت‌کننده و حدود ۱۰۰ نفر برگزار‌کننده، برگزار شد. این رویداد امسال هم با حفظ کیفیت گذشته، به سمت بین‌المللی شدن قدم برمی‌داره و سطح علمی رویداد هم  قراره افزایش پیدا کنه. برای کمک به این رویداد حتماً در فرم منتشر شده ثبت‌نام کنید. امسال مرحلهٔ غیرحضوری AIChallenge در اوایل بهمن‌ماه و مرحله حضوری اون در هفته آخر اسفندماه برگزار می‌شه.ایستگاه صنعت:حمیدرضا هدایتی (دبیر شورای مرکزی SSC):انجمن با هدف ارتباط بیشتر دانشکده با صنعت و هم‌چنین شناخت بیشتر دانشجوها از کارآموزی‌های تابستون و شرکت‌های حوزه کامپیوتر، پارسال برای اولین بار رویدادی به اسم ایستگاه صنعت برگزار کرد.ایستگاه صنعت، رویدادی‌ست که پارسال برای نخستین بار با ۸ شرکت حوزه ٔکامپیوتر (منتخب از میان باقی شرکت‌ها) در دانشکده برگزار شد. امسال هم این رویداد با اضافه شدن محتواهای صنعتی پیش و پس از رویداد اصلی ادامه پیدا خواهد کرد. تاریخ این رویداد در اردیبهشت‌ماه خواهد بود.هاردوار-HardWar:حسین مقدس (نایب‌دبیر شورای مرکزی SSC و دبیر گذشته HardWar): این رویداد چندین سالی‌ست که با محوریت سخت‌افزار و آشنایی دانشجویان (به خصوص ورودی‌ها) با حوزه‌های مختلف سخت‌افزار در حال برگزاری‌ست. HardWar آخر هم با افزایش کیفیت آموزش‌ها و مسابقه‌ها و همچنین اضافه کردن یک بخش seniors به رویداد تلاش به بهتر کردن رویداد کرد، ولی هم‌چنان به دلیل کمک اندک افراد و نبود نظم در برگزاری، کیفیت رویداد به آن شکل که باید نیست.انجمن هنوز برنامه‌ٔ دقیقی برای برگزاری این رویداد تبیین نکرده است، ولی افزایش کیفیت رویداد نیازمند کمک بیش از پیش دانشجویان دانشکده است! تاریخ حدودی این رویداد نیز هفته آخر خردادماه است.برنامه‌های دیگر انجمن:انجمن به دلیل کمبود وقت از ارائه برخی برنامه‌ها باز موند که عبارتند از:جشن استقبال از ورودی‌های ارشدرویداد Skill UP در حوزه هوش مصنوعیچای با اساتیدمجمع عمومی (رویداد ارائه فعالیت‌های انجام شده انجمن و پرسش و پاسخ دانشجویان)یاد استاد (تجلیل از اساتید و ارتباط‌گیری بیشتر دانشجویان و اساتید)انتخابات انجمن (که از خود انتخابات و مناظره‌های قبل رویداد و ارائه کاندیدها تشکیل شده است)جشن فارغ التحصیلیعکس یادگاری انتهای Untitled SSC Event</description>
                <category>رایانش</category>
                <author>CE SSC</author>
                <pubDate>Thu, 24 Oct 2019 17:39:37 +0330</pubDate>
            </item>
                    <item>
                <title>داده‌های آزاد: حرکت به سوی پیشرفت همگانی</title>
                <link>https://virgool.io/rayanesh/%D8%AF%D8%A7%D8%AF%D9%87%D9%87%D8%A7%DB%8C-%D8%A2%D8%B2%D8%A7%D8%AF-%D8%AD%D8%B1%DA%A9%D8%AA-%D8%A8%D9%87-%D8%B3%D9%88%DB%8C-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA-%D9%87%D9%85%DA%AF%D8%A7%D9%86%DB%8C-vt9erzxwfnka</link>
                <description>منظور از داده آزاد، داده‌ای است که استفاده از آن به هر منظوری ( از جمله تغییر و تکثیر ) آزاد است.در گذشته‌ای نه چندان دور، تولید به میزان زیادی وابسته به نیروی انسانی بود. انسان ها عمده زمان خود را صرف یک کار روزمره و معین الگوریتمی می کردند و در نتیجه آن فرایند یک محصول تولید می شد. به عبارت دیگر انسان ها باید در دوره هایی منظم، فعالیت هایی تکراری را انجام می دادند تا محصول بدست بیاورند.اما امروزه این نیاز کم‌تر و کم‌تر شده است و در بعضی موارد به صفر رسیده است. ماشین ها کار های تکراری را با دقت، بدون خستگی و با مصرف کم‌تر انجام می دهند و می‌توانند تعداد نیروی انسانی لازم برای تولید را کم کنند و حتی به صفر برسانند.پس انسان‌ها چگونه کسب درآمد می‌کنند؟ چرا کالاها ارزان نمی شوند و به قیمت مواد اولیه‌شان نمی‌رسند؟ پول ما خرج چه می شود؟ پاسخ اطلاعات است.شما امروزه پول خود را خرج اطلاعات می کنید. نرم‌افزارها، کتاب‌ها، فیلم‌ها، آهنگ‌ها، بازی‌ها و ... همه می‌توانند به رایگان در اختیار شما باشند. مواد اولیه ماشین آلات و دستگاه‌ها تقریبا هزینه ناچیزی نسبت به قیمت آن‌ها دارند و این هزینه یکی صرف حمل و نقل نتایج مختلف مراحل تولید می شود و دیگری خرج داده نحوه تولید می شود. اگر داده‌ها آزاد باشند می توان تمام مراحل را در یک مکان انجام داد و چون همه نحوه تولید محصول را بلدند دیگر نمی توان آن را انحصار کرد و قیمتش به قیمت مواد اولیه‌اش می رسد.ناهار مجانی وجود ندارد!ممکن است این جمله معروف در اقتصاد را شنیده باشید. استدلال پشت این جمله این است که فرض کنیم ناهار مجانی وجود داشته باشد. در آن صورت شخصی می تواند همه ناهار های مجانی را به قیمت مجانی خریداری کند تا جایی که دیگر ناهار مجانی در جهان وجود نداشته باشد. سپس همه این ناهار ها را به قیمت ابسیلون بفروشد. ( طبیعتا ممکن است همه ناهارها فروش نروند. ) این شخص بدون هیچ هزینه ای، سود کرده است. پس قطعا شخصی این کار را می کند و به این ترتیب همه ناهارهای مجانی نابود می شوند.اما این استدلال برای داده های مجانی درست نیست. داده های مجانی را می توان با هزینه ( تقریبا ) صفر تکثیر کرد. و این موضوع باعث می شود تا هیچ کس نتواند همه داده ها را خریداری کند. در نتیجه اگر داده‌ی آزادی تولید شود، این داده تا ابد برای همه آزاد و در نتیجه مجانی خواهد بود.پیش به سوی عدالتهر چه داده‌های بیشتری در جهان آزاد باشند، امکانات در جهان به نحو مساوی تری تقسیم می‌شوند و اختلاف طبقاتی کمتر می‌شود. داده‌های آزاد به همه جامعه سود می‌رساند اما داده‌های انحصاری فقط به انحصارکننده سود می‌رسانند. داده‌های آزاد به اقشار ضعیف جامعه قدرت می‌دهند، آن‌هایی که در حالت معمولی نیازمند سرمایه‌داران هستند و نیازشان روز به روز سرمایه‌داران را قدرت‌مندتر و خودشان را ضعیف‌تر می‌کند. داده‌های آزاد این چرخه را از بین می‌برد و عدالت را به‌وجود می‌آورد.اما چه کسی داده آزاد تولید می‌کند؟ این کار برایش چه سودی دارد؟در یک نوشته جداگانه به این موضوع می‌پردازم. اما اگر می‌خواهید از امروز به حرکت داده‌های آزاد کمک کنید، نیازی نیست که داده‌آزاد تولید کنید، بلکه می‌توانید از قسمت دیگر که توجیه منطقی نیز دارد به داده‌های انحصاری حمله کنید. یعنی سعی کنید تا جای ممکن از داده‌های انحصاری استفاده نکنید و به انحصار کننده سود نرسانید. این کار علاوه بر این که به طور مستقیم به داده‌های انحصاری ضربه می‌زند، شما را با گروه‌هایی که داده آزاد تولید می‌کنند نیز آشنا می کند و می‌توانید آنجا جواب این سوال را پیدا کنید.پس به دنبال رد داده‌های انحصاری در زندگی خود بگردید و سعی کنید که آن‌ها را با مشابه‌های آزادشان جایگزین کنید. شاید نتوانید درصد زیادی از آن‌ها را جایگزین کنید اما همین یک گام کوچک می تواند قطره‌ای باشد که در آینده تبدیل به دریایی بزرگ شود.</description>
                <category>رایانش</category>
                <author>حمیدرضا کلباسی</author>
                <pubDate>Wed, 16 Oct 2019 12:25:15 +0330</pubDate>
            </item>
                    <item>
                <title>برای پیشرفت مجدد، دوباره وبلاگ بنویسید</title>
                <link>https://virgool.io/rayanesh/%D8%A8%D8%B1%D8%A7%DB%8C-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA-%D9%85%D8%AC%D8%AF%D8%AF-%D8%AF%D9%88%D8%A8%D8%A7%D8%B1%D9%87-%D9%88%D8%A8%D9%84%D8%A7%DA%AF-%D8%A8%D9%86%D9%88%DB%8C%D8%B3%DB%8C%D8%AF-f1hugsggi1yq</link>
                <description>شاید براتون جالب باشه ولی زمانی بود که ما تو ایران اصولا از هم خبر خاصی نداشتیم. یک تلویزیون انحصاری بود که هنوزم هست و دو تا روزنامه به اسم کیهان و اطلاعات. اونها و کتاب های درسی به ما می گفتن بقیه مردم ایران چی فکر میکنن و چی می خوان و ما هم فکر می کردیم وصله ناجور هستیم. اما اینترنت که ظاهر شد، چیزی اومد به اسم وبلاگ. آدم ها تونستن خودشون روزمره‌هایی رو بنویسن که هر کسی خواست بتونه بخونه. یکهو اطلاع ما از همدیگه فوران کرد! فهمیدیم تو ایران یک گروه دیگه هم هستن که اونها هم لینوکس دوست دارن، یکی هست که به همجنسش علاقمنده، یکی هست که مهندسی قبول شده ولی دوست داشت نقاش بشه، یکی دیگه هست که اتفاقا اونم عموش شهید شده ولی وضع فعلی رو دوست نداره و یکی دیگه هم هست که می پرسه ۲۰مین اقتصاد جهان، چرا باید وضعش این شکلی باشه؟ دیدم اتفاقا افراد خیلی کمی هستن که اونجوری که تلویزیون «همه» رو معرفی کرده، زندگی کنن. باور بکنین یا نه،‌ قبلا خیلی ها فکر می کردن تنهان ولی الان وقتی به هم می رسیدن از هم آدرس وبلاگشون رو می پرسیدن تا ببین دیگه چند مدل آدم با چند مدل عقیده که تا حالا تو تلویزیون و کتاب درسی اثری ازشون نبوده، تو ایران هست (:و همون روزها بود که خاتمی فرمان فیلترینگ رو امضا کرد و اولین جاهایی که فیلتر شدن، سرویس دهنده های وبلاگ مثل بلاگ اسپات و وردپرس بودن و بعد هم کمیته سانسور درست شد که کلی از اعضاش تو دولت هستن و با نامه هاش دائما از سرویس دهنده های وبلاگ داخلی داخلی خواست که فلان وبلاگ رو پاک کنه و آرشیو فلان وبلاگ رو حذف کنه. در همین دوران کلی اردو برگزار شد تا به گروه خاصی که تلویزیون و روزنامه ها رو هم داشتن بگن که باید وبلاگ بنویسن چون مهمترین کار نشر ارزش های اونها در اینترنت است (:اما به نظرم کار از کار گذشته بود. وبلاگ ها کاری که باید رو کرده بودن و سدی که شکسته رو نمی شه به این راحتی ها جمع کرد. حداقل آدم های تیپ ما از همدیگه خبر داشتن؛ بخصوص که بعدش با اومدن شبکه های اجتماعی بیشتر به هم وصل شدیم و بعدش هم با سانسور شدن همه چیز، عملا توی آنتی فیلتری زندگی کردیم که ما رو به هم وصل نگه می داشت.اما بودن کسانی که توی این سپر ضد سانسور نبودن و ارتباطشون هنوز قطع بود. در واقع انگار سانسورچی ایران تونسته بود یک جایی ارتباط یک گروه از مردم رو با اینترنت قطع نگه داره و تا ده سال برای ما عجیب بود اگر پدرها و مادرهامون رو می دیدیم که خبری رو از اینترنت یا یاهو یا چنین چیزهایی نقل می کنن.دنیا اما منتظر سانسورچی نشد. جلو رفت و مسنجرها این مشکل رو حل کردن. مسنجرها و گوشی های هوشمند باعث شدن بقیه مردم ایران هم به اینترنت وصل بشن و تا سانسورچی بیاد بجنبه، مزایاش رو چشیده باشن و بعد از سانسور و بگیر و ببند، با آنتی فیلتر و پریدن به جاهای بدون سانسور و … در اینترنت بمونن.به تبع این حضور حداکثری در مسنجر، ما هم خیلی چیزهامون رو به داخل پیام‌رسان‌ها بردیم. آدم ها می خوان جایی حرف بزنن که بقیه هم باشن. وبلاگ نویسی ما تبدیل شد به درست کردن یه کانال برای نوشتن گزارش سفرهامون. فروم های ما تبدیل شد به کانال کاربران فلان، حتی خیلی خبرگزاری ها بدون هیچ سایتی،‌ فقط یک کانال هستن و تقریبا همه چیز رو بردیم تو این زیرزمین های تاریک و منفرد.. شایدم پر نور… اگر نظر من رو بخواین، اصلاح «منبر» برای این گروه‌های تلگرامی و غیره از همه چیز درست تره.مسنجرها شبیه منبرهایی هستن که توشون چیزها گفته و فراموش می شن. حداقل آرشیو درستی از هیچ چیزی نیست. و توان سرچ سراسری هم نداریم. قبلا اگر من یکبار در ۲۰۰۸ از مرگ انتخابی تری پراچت می نوشتم، هر بار که در تمام جهان کسی دنبال مرگ انتخابی یا تری پراچت می گشت، ممکن بود بهش برسه. اما الان فقط در همون لحظه کسانی که پای منبر من نشستن اونو می خونن که شاید هیچ ربطی هم بهشون نداشته باشه و خلاص. گم شد رفت در تاریخ (:حالا مشکل چیه؟ من نمی ترسم مطلبم خونده نشه. اتفاقا من طرفدار این هستم که در دنیای وبلاگ ها هم باید جرات می داشتیم و مطلب قدیمی رو می فرستادیم به آرشیو یا اون پایین مایین ها. اما نگرانی و ناراحتی من از اینه که مطالب روی هم انباشت نمی شن. اگر تاریخ علم رو بخونین، عملا دارین تاریخ انباشت دانش رو می خونن. انباشت دانش باعث پیشرفت می شده ولی الان در ایران ما که عملا فیلترینگ همه رو هل داده توی مسنجرها، ما دیگه چیزی رو انباشت نمی کنیم. هر بار چیزی رو می گیم و گم می شه، بدون امکان دسترسی مجدد عمومی بهش و بدون اینکه بشه سرچش کرد یا حتی بهش ریفرنس درست و درمون داد. حالا سوال ها دائما در گروه ها تکرار می شن و آدم ها بهشون جواب های تکراری می دن. توی چنین فضایی ما داریم خودمون رو تکرار می کنیم و چیزی رو انباشت نمی کنیم و در نتیجه جلو هم نمی ریم. من هیچ مشکلی با چت ندارم و به نظرم اگر کارکرد خودش رو داشته باشه خوبه ولی وقتی آدم ها تولیداتشون رو توی چت ارائه می کنن، پروسه قابل سرچ بودن دانش رو حذف می کنن. بدتر از اون اونهایی هستن که انتظار دارن با پیگیری این کانال ها و گروه ها «باسواد» بشن (: در ظاهر شما کلی اسم باکلاس و حرف خفن و اینها می بینین ولی در عمل به شکل رندم هر روز یک گوشه ای از یک چیزی نمایش داده می شه و می گذره و می ره که حتی به قبلی ها وصل هم نیست.زیاد می بینیم که کسی «کانال آموزش فلان» راه می ندازه و دقیقا شروع مطالبش که پایه ها رو می سازن اون ته است که اگر شما روزی عضو کانالش شدین، عملا اونها رو نمی بینین. یا می بینیم یکی کانال سفر به روسیه داره که خب دوستاش می تونن دنبالش کنن اما اگر سه سال دیگه کسی می خواست بره روسیه و این آدم رو نمی شناخت، این مطالب به هیچ دردش نمی خورن. یا کسی انتقادی از چیزی داره و تو کانالی می نویسه و خیلی هم پخش می شه ولی نه بعدا می شه بهش ریفرنس داد نه یک نفر می گه «بر خلاف خانم فلانی (لینک)،‌ نظر من در این مورد…» (: ما عملا به جای کسانی که روی دوش هم می ایستادن تا پیش برن، شبیه آدم هایی شدیم که تو بیابون سعی می کنن بلند داد بکشن (یا برقصن (: ))‌تا چند نفر دورشون جمع بشن. این یکی از بزرگترین آفت های اینترنت ایران بوده.برای مقابله با این وضع، بد نیست ما به انتشار دانش در جایی قابل سرچ، قابل فالو کردن، قابل ارسال به دیگران و غیره باشیم. اینستاگرام از این نظر بدترینه. چت ها بهتر هستن و رسانه های اجتماعی خوب و وبلاگ ها احتمالا بهترین. به نظرم واقعا خوبه همه ما تا حدی به متن قابل جستجو در اینترنت برگردیم. نه برای شهرت و اینها. برای کمک به انباشت دانش و در جا نزدنمون. برای همینه که من حسابی از راه افتادن ویرگول که مثل مدویم ایرانی است استقبال کردم. یک فرصت دیگه برای نوشته شدن مطالب در اینترنت قابل جستجو. اگر چیزی رو توی مسنجرها می نویسیم و ممکنه زمانی به درد کس دیگه هم بخوره، اونو یه جایی مثل وبلاگ یا ویرگول یا هر جای دیگه که گوگل اونو ببینه هم بذاریم تا از اون مدل منبری خارج بشیم و یکبار دیگه دانش یا دیتاهامون رو در عرض زمان و مکان به اشتراک بذاریم. سخت نیست و در مقابل بسیار ارزشمند است و شاید یک چیزی مثل پورتفلولیو هم برامون درست کنه.این بود انشای من در مورد روز وبلاگنویسی فارسی (:</description>
                <category>رایانش</category>
                <author>Jadi Mirmirani</author>
                <pubDate>Tue, 03 Sep 2019 11:31:59 +0430</pubDate>
            </item>
                    <item>
                <title>توان های دو</title>
                <link>https://virgool.io/rayanesh/%D8%AA%D9%88%D8%A7%D9%86-%D9%87%D8%A7%DB%8C-%D8%AF%D9%88-o60hliz6qgoo</link>
                <description>اگر همین الان سوار هواپیما شوید و به سمت مکه حرکت کنید، 3 ساعت دیگر در فرودگاه این شهر هستید. با سواری طبقِ گفته‌ی گوگل‌مپ، 26 ساعته میرسید. هیچ کس حتی به این فکر نمی‌کند که پای پیاده چقدر طول میکشد تا به مکه برسد، از بس مسیر بیابانی و گرم است. با این حال طبق گفته‌ی گوگل‌مپ، 21 روز پیاده در راهید تا به مکه برسید، به شرطِ آنکه شبانه‌روزی پیاده روی کنید و نخوابید و متوسط سرعتِ پیاده‌رویتان هم 5 کیلومتر بر ساعت باشد!توان های 2 لزومن عددهای خوبی نیستند. این توان ها شاید برای منِ کامپیوتری جالب باشند، اما برای یک مسافر نه. به‌طور دقیقتر بخواهم بگویم برای تعداد بار انجامِ یک سفر مناسب نیستند. چه‌کسی حاضر است 4 بار به سنپترزبورگ برود، یا مثلن 8 بار به دهلیِ نو؟ تکررش خستگی‌آور است.شاید اما 16 بار زیارتِ مکه خستگی نمی‌آورد. شاید کسی که 16 بار خدایش را در کعبه زیارت کرده، حدِ اعلای مسلمانی را به جای آورده است. میشناسم مردی، نامش «جوشن بن ربیعه». حتما اسمش به فرمِ دیگری به گوشتان خورده. «ذی‌الجوشن» را قطعن شنیده‌اید.پسرش 16 بار پیاده به مکه رفته است و 1 بار به قتلگاه.فکر میکردید 1 بزرگتر از 16 باشد؟</description>
                <category>رایانش</category>
                <author>سید علیرضا هاشمی</author>
                <pubDate>Sun, 01 Sep 2019 12:58:36 +0430</pubDate>
            </item>
                    <item>
                <title>در درس برنامه‌سازی پیشرفته شریف چه گذشت؟ قسمت ۳</title>
                <link>https://virgool.io/rayanesh/%D8%AF%D8%B1-%D8%AF%D8%B1%D8%B3-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%D8%B3%D8%A7%D8%B2%DB%8C-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-%D8%B4%D8%B1%DB%8C%D9%81-%DA%86%D9%87-%DA%AF%D8%B0%D8%B4%D8%AA-%D9%82%D8%B3%D9%85%D8%AA-%DB%B3-eciu1crtwdg7</link>
                <description>در نوشته قبل گزارش ترم بهار ۹۷ را بررسی کردیم و در این نوشته می‌خواهیم به گزارش ترم پاییز بپردازیم:گزارش تحلیلی پروژه برنامه‌سازی پیشرفته ترم پاییز ۹۷ و مستند تجربیات ما برای دستیاران آموزشی ترم‌های آیندهدر این پروژه تلاش کردیم اهداف مربوط به یادگیری را در دو بخش یادگیری‌های فنی و یادگیری‌های غیر فنی دنبال کنیم.نمونه پروژه یکی از تیم‌های کاندید جذاب ترین پروژهاهداف مرتبط با یادگیری‌های فنی:1) آشنایی با برنامه‌نویسی شی گرا - OOP در زبان جاوا (توانایی طراحی کلاس‌ها و استفاده از پترن MVC)2) استفاده از github3) انجام ریفکتور کد4) آشنایی با گرافیک در جاوا5) آشنایی با برنامه‌نویسی چند ریسه‌ای و دیباگ آن6) انجام انواع Serialization7) آشنایی با Socket و برنامه‌نویسی شبکه در جاوا8) طراحی و انجام تستاهداف مرتبط با یادگیری‌های غیر فنی:1) توانایی کار کردن در تیم2) تقسیم کار درست و درگیر بودن همه‌ی اعضای تیم3) زمان‌بندی و تخمین درست4) مدیریت شرایط بحرانی و توانایی اولویت بندی کار‌هادر راستای محقق شدن اهداف بالا اقدامات اجرایی زیر صورت گرفت:* الزام ساختن Repository در github* اضافه شدن قابلیت‌های جدید در فاز‌های بعد باعث می‌شد کد قبلی مرتباً نیاز به ریفکتور داشته باشد* در نظر گرفتن قابلیت‌هایی مانند ذخیره بازی و همچنین پخش زنده‌ی آن که تیم را درگیر طراحی مدل ذخیره و ارسال بهینه داده می‌کرد و از طرفی آشنایی با انواع Serialization را در پی داشتنقاط ضعف پروژه این ترم:1) جدی نبودن ددلاین‌های رلیز و اتمام فاز2)  لاتک نبودن داک هیچ یک از فاز ها3) نبود مکانیزمی برای جلوگیری از کم‌کاری نفر سوم در بعضی از تیم‌ها4) نبود الزام در استفاده از continuous integration5) عدم پرداختن به Unit Test6) فرد بودن ترم که باعث می‌شد وقت بچه ها محدود باشد و درس های سنگینی مثل ساختار و آمار باعث می‌شد فرصت دانشجویان و پشتیبان ها کم تر باشد، همین موضوع باعث افزایش مشکلات زمانبندی نیز می‌شد7) کیفیت پایین بعضی از کارگاه هااز موارد بالا، موارد 3 و 4 و 5 در  ترم بهار ۹۷ نیز به عنوان مشکل وجود داشت، به این نتیجه رسیدیم که تا گروهی انگیزه کافی نداشته باشد این کار انجام نمی شود و می توان گفت دست تی ای ها برای الزام کردن این موارد تا حدودی بسته است و یادگیری این مطالب باید خواست خود تیم باشد، و راه های اجرا کردن آن را در طول ترم (نه آخر ترم) از پشتیبان ها پیگیری کند.نقاط قوت و مواردی که اجرای آن‌ها با نتایج بسیار خوبی همراه بود: (بخشی از این موارد برای اولین‌بار اجرا می‌شدند)1) حفط 7 مورد از 8 مورد نقطه قوت ترم بهار 97 که در گزارش تحلیلی ترم بهار ۹۷ به آن اشاره شده است. با این که ترم فرد بود و وقت بسیار محدود تر از ترم زوج اما حفط اکثر موفقیت های ترم بهار بزرگترین دستاورد ترم پاییز بود.2) برگزاری چالش TW برای اولین بار که برای تعامل بیشتر اعضای تیم و پشتیبان ها و همچنین راه اندازی زیرساخت های اولیه تیم ها مثل گیت و تفکر جمعی روی یک طراحی در نظر گرفته شده بود، البته اشکالاتی نیز در این رویداد بود اما بر اساس بازخورد های مختلفی که گرفتیم روی هم رفته اقدام مثبت و موثری بود.3) تاکید بر انجام اصل بازی farm frenzy به جای خواندن داک های پیچیده، این مورد باعث شد که دانشجویان یک چشم انداز مناسب از خروجی نهایی داشته باشند و باعث شد کیفیت پروژه ها بسیار بالا رود. من به این نتیجه رسیدم اگر خود بازی مد نظر رلیز شود، تاثیری بسیار بهتری از نوشتن ده ها صفحه داک دقیق برای پروژه دارد. البته برای بخش شبکه که جزء خود بازی نبود داک خوبی رلیز شد که معماری شبکه مورد نظر را توضیح می‌داد.4) با توجه رضایت دانشجویان ترم بهار از پشتیبانان پروژه، در این ترم وظایف پشتیبانان گسترده تر شد و آنان در تمرین ها نیز به دانشجویان کمک کردند و به طور کلی تلاش شد کیفیت رائه درس برنامه سازی پیشرفته نسبت به ترم های قبل افزایش یابد.بر اساس بازخورد‌های دریافت شده از افراد مختلف و همچنین ارزیابی‌های انجام شده کیفیت خروجی نهایی پروژه‌ی دانشجویان این دو ترم اخیر به طور محسوسی از ترم‌های گذشته بالاتر بوده است که اصلاحات بالا و همچنین تلاش جدی خود دانشجویان در جهت یادگیری از دلایل اصلی آن است.کاندید‌های جذاب ترین پروژه ترم پاییز ۹۷ برنامه‌سازی پیشرفته دانشکده مهندسی کامپیوتر شریف:(بسیاری از پروژه ها کیفیت فنی بالایی داشتند اما فقط پروژه هایی که فیلم فرستادند را کاندید کرده‌ایم)گروه 1:https://www.aparat.com/v/RKrqxگروه 5:https://www.namasha.com/v/ab2QCCadگروه 10:https://www.aparat.com/v/IDidoگروه 11: https://www.aparat.com/v/59HVUگروه 17:https://www.aparat.com/v/2N10Yدر نهایت طبق نظرسنجی گروه 5 برنده این چالش بود!در پایان لازم می دانم از همه‌ی دستیاران آموزشی و دانشجویان عزیز به خاطر همراهی‌شان تشکر کنم و همچنین تشکری ویژه از استاد مصطفی زاده دارم که با حمایت و میدان دادن به تیم پروژه باعث شدند بتوانیم اصلاحات بالا را انجام دهیم. ان شاء الله که نقاط مثبت این گزارش در ترم‌های آینده با قدرت ادامه پیدا کند و نقاط منفی آن بر طرف شود.محمد حقیقت، مسئول پروژه درس برنامه‌سازی پیشرفته ترم پاییز ۹۷۱۰ اسفند ۹۷</description>
                <category>رایانش</category>
                <author>محمد حقیقت</author>
                <pubDate>Thu, 01 Aug 2019 04:39:10 +0430</pubDate>
            </item>
                    <item>
                <title>در درس برنامه‌سازی پیشرفته شریف چه گذشت؟ قسمت ۲</title>
                <link>https://virgool.io/rayanesh/%D8%AF%D8%B1-%D8%AF%D8%B1%D8%B3-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%D8%B3%D8%A7%D8%B2%DB%8C-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-%D8%B4%D8%B1%DB%8C%D9%81-%DA%86%D9%87-%DA%AF%D8%B0%D8%B4%D8%AA-%D9%82%D8%B3%D9%85%D8%AA-%DB%B2-hyh7zh8pbmfw</link>
                <description>در قسمت قبلی این نوشته در مورد انگیزه برای اصلاح شیوه‌ی ارائه این درس به خصوص در تمرین و پروژه صحبت کردیم. در این قسمت به گزارش اولین ترمی که به صورت جدی درگیر اصلاح فرآیند‌های مربوط به این درس شدیم می‌پردازیم.پروژه‌ی گروه شماره یک، علاوه بر پیاده سازی بازی Clash یک اپلیکیشن کنترل کننده‌ی اندروید از طریق نیز برای آن نوشته بودندگزارش تحلیلی برنامه‌سازی پیشرفته ترم بهار ۹۷ و مستند تجربیات ما برای دستیاران آموزشی ترم‌های آیندهدر این پروژه تلاش کردیم اهداف مربوط به یادگیری را در دو بخش یادگیری‌های فنی و یادگیری‌های غیر فنی دنبال کنیم.اهداف مرتبط با یادگیری‌های فنی:1) آشنایی با برنامه‌نویسی شی گرا - OOP در زبان جاوا (توانایی طراحی کلاس‌ها و استفاده از پترن MVC)2) استفاده از Git3) انجام ریفکتور کد4) آشنایی با گرافیک در جاوا5) آشنایی با برنامه‌نویسی چند ریسه‌ای و دیباگ آن6) انجام انواع Serialization7) آشنایی با Socket و برنامه‌نویسی شبکه در جاوا8) طراحی و انجام تستاهداف مرتبط با یادگیری‌های غیر فنی:1) توانایی کار کردن در تیم2) تقسیم کار درست و درگیر بودن همه‌ی اعضای تیم3) زمان‌بندی و تخمین درست4) مدیریت شرایط بحرانی و توانایی اولویت بندی کار‌هادر راستای محقق شدن اهداف بالا اقدامات اجرایی زیر صورت گرفت:* الزام ساختن Repository و عضویت دستیار آموزشی پروژه در آن و امکان مانیتور تعداد کامیت هر یک از اعضای تیم* اضافه شدن قابلیت‌های جدید در فاز‌های بعد باعث می‌شد کد قبلی مرتباً نیاز به ریفکتور داشته باشد* در نظر گرفتن قابلیت‌هایی مانند ذخیره بازی و همچنین پخش زنده‌ی آن که تیم را درگیر طراحی مدل ذخیره و ارسال بهینه داده می‌کرد و از طرفی آشنایی با انواع Serialization را در پی داشتنقاط ضعف پروژه این ترم:1) ابهام و ناهماهنگی در داک فاز اول که به دلیل ویرایش آن توسط چند نفر با درک‌های مختلف از پروژه رخ داد البته تلاش کردیم در داک فاز سوم آن را جبران کنیم و داک بسیار دقیقی تدوین شد2)  لاتک نبودن داک هیچ یک از فاز ها3) جدی نبودن ددلاین‌های رلیز و اتمام فاز4) سنگین بودن گرافیک پروژه5) نبود مکانیزمی برای جلوگیری از کم‌کاری نفر سوم در بعضی از تیم‌ها6) نبود الزام در استفاده از امکانات پیشرفته‌تر gitlab مثل برنچ،  pull Request و همچنین continuous integration7) عدم پرداختن به Unit Testنقاط قوت و مواردی که اجرای آن‌ها با نتایج بسیار خوبی همراه بود: (بخشی از این موارد برای اولین‌بار اجرا می‌شدند)1) در نظر گرفتن پشتیبان (مشاور یا راهنما) برای هر تیم به طوری که نقش پیگیری وضعیت، رفع اشکال و مشورت دادن به اعضای تیم را داشته باشد. پشتیبان هر تیم به گیت آن تیم دسترسی داشت که فرآیند مشورت گرفتن در مورد کد ها برای تیم آسان‌تر باشد. دستیاران آموزشی پروژه 6 نفر بودند که هر یک پشتیبان حدود 3 تیم بودند.2) الزام تیم‌ها به طراحی کلی کلاس‌ها قبل از شروع به برنامه‌نویسی و بررسی فایل‌های UML و مشورت دادن به تیم‌ها قبل از شروع پیاده‌سازی که باعث بهبود درک آن‌ها از فرآیند طراحی و در برخی موارد اصلاحات اساسی در طراحی شد3) هماهنگی کامل روند پیشرفت پروژه با کلاس حل تمرین به گونه‌ای که دستیار حل تمرین در جریان اهداف پروژه و زمان‌بندی آن و موارد فنی مورد نیاز بودند و بعد از رلیز هر فاز پروژه موارد فنی مربوط به آن را توضیح می‌دادند. در بعضی از موارد طرز استفاده از کتابخانه مورد نیاز پروژه در کلاس حل تمرین گفته شده است.4) در دسترس بودن دستیاران آموزشی پروژه برای همه دانشجویان: در این ترم پشتیبان و اعضای هر تیم یک گروه تلگرام داشتند و همین باعث می‌شد اولاً فرآیند رفع اشکال بسیار سریع‌تر از گذشته که مبتنی بر ایمیل بود انجام شود و ثانیاً تیم دستیاران آموزشی پروژه زودتر در جریان ابهام‌ها و مشکلات پروژه قرار گیرد و بازخورد های بیشتری را در زمان کوتاه‌تر دریافت کند و بر اساس آن اصلاحات لازم را انجام دهد.شاید بتوان گفت مورد چهارم نقش اصلی را در بالاتر بودن کیفیت پروژه‌های این ترم داشته است زیرا تعامل گسترده تیم پروژه با دانشجویان باعث شد تعداد سوالات و رفع اشکال‌های انجام شده چندین برابر حالت سنتی مبتنی بر ایمیل شود که باعث انتقال تجربیات فنی دستیاران آموزشی و یادگیری بهتر می‌شد.5) حضور افرادی با تجربه فنی بالا در تیم دستیاران آموزشی پروژه6) شفافیت کامل در داک نمرات: داک نمرات که در زمان تحویل حضوری توسط دستیاران آموزشی پر می‌شود قبل از شروع تحویل حضوری به صورت عمومی انتشار یافت تا همه‌ی دانشجویان امکان مشاهده و بررسی میزان نمره هر بخش داشته باشند بنابراین خودشان بین موارد امتیازی اولویت بندی می‌کردند و بر اساس هزینه/فایده موارد مهم‌تر را پیاده سازی می‌کردند. فایده دوم این کار نیز کاهش اشتباهات دستیاران آموزشی و اعتراضات بود چون اگر اشتباهی در نمره دهی تحویل حضوری رخ میداد دانشجویان به صورت آنلاین می‌دیدند که نمره آن‌ها اشتباه وارد شده است و تذکر می‌دادند.7) تلاش برای حذف موارد کم کاربرد و وقت گیر بدون ارزش یادگیری از پروژه: سعی کردیم مواردی از قبیل گرافیک swing و پیاده سازی‌های روتینی که کتابخانه‌های آن موجود است را از پروژه حذف کنیم و به جای آن استفاده از کتابخانه‌های مرسوم، استفاده و خواندن کد‌های متن باز را بگنجانیم که به مهارت‌های مورد نیاز یک برنامه‌نویس نزدیک‌تر باشد. همچنین اسپرایت‌ها و بخشی از عکس‌های مورد نیاز بازی را در اختیار دانشجویان قرار دادیم تا وقت آن‌ها کمتر تلف شود هر چند به موفقیت کامل نرسیدیم و مواردی چون حجم بالای گرافیک بازی از همین کار‌های بدون ارزش یادگیری بود که حدف نشد.8) برگزاری چالش بهترین پروژه ترم بر اساس رای گیری بین دانشجویانبر اساس بازخورد‌های دریافت شده از افراد مختلف و همچنین ارزیابی‌های انجام شده کیفیت خروجی نهایی پروژه‌ی دانشجویان این ترم به طور محسوسی از ترم‌های گذشته بالاتر بوده است که اصلاحات بالا و همچنین تلاش جدی خود دانشجویان در جهت یادگیری از دلایل اصلی آن است.در پایان لازم می دانم از همه‌ی دستیاران آموزشی و دانشجویان عزیز به خاطر همراهی‌شان تشکر کنم و همچنین تشکری ویژه از استاد حاتمی عزیز دارم که با حمایت و میدان دادن به تیم پروژه باعث شدند بتوانیم اصلاحات بالا را انجام دهیم. ان شاء الله که این روند اصلاحی در ترم‌های آینده ادامه پیدا کند.کاندید‌های بهترین پروژه ترم بهار ۹۷ (ورودی های ۹۶)‌ برنامه‌سازی پیشرفته دانشکده مهندسی کامپیوتر شریف:گروه 1:سید صادق مهدوی - امیر مجتبی صبور - حامد عبدیhttps://www.aparat.com/v/h3DgFگروه 3:حامد علی محمدزاده - سروش وفایی تبار - ارشیا مقیمیhttps://www.aparat.com/v/x7hQDhttps://www.aparat.com/v/Y9TC7گروه 6: (جا مانده از نظر سنجی)سید علیرضا فاطمی جهرمی - سینا معمر - مهران اصغریhttps://www.aparat.com/v/KtZpsگروه 7: (فیلم از فاز دوم)اشکان میرزایی - لیلی گلی - آراد محمدیhttps://www.aparat.com/v/QeWbGگروه 12:محمد مهدی عرفانیان - محمد امیدوار طهرانی - صابر دین پژوهhttps://www.aparat.com/v/pfniQگروه 15: (فیلم از فاز دوم)ثنا آیرملو - رودابه صفوی - سروش فرقدانیhttps://www.aparat.com/v/26MgQو در نهایت برنده نظرسنجی گروه ۳ بود!و اما در پایان:بسیار خوشحالیم که این ترم تلاش کردیم در حد توانمان به یادگیری مهارت‌های فنی و غیر فنی (مدیریتی و اجرایی) شما در پروژه برنامه‌سازی پیشرفته کمک کنیم. یادگیری مواردی چون کار تیمی، git، آشنایی با OOP، کدنویسی شبکه TCP و UDP، ریفکتور کد قدیمی در فاز‌های بعدی پروژه، آشنایی با برنامه‌نویسی Android، آشنایی با Serialize کردن داده‌ها برای ذخیره‌سازی و ارسال در شبکه، گرافیک، زمان‌بندی، تقسیم کار و متعهد بودن به ددلاین از اهداف اصلی پروژه بود.تلاش کردیم در پروژه این ترم تا جای ممکن موارد اضافی پروژه که بار یادگیری ندارند را حذف کنیم و به جای آن‌ها روی مواردی که کاربرد صنعتی دارند تاکید کنیم. هر چند موفق به حذف کامل آن‌ها نشدیم اما امیدواریم این روند اصلاحی در ترم‌های آینده حفظ شود و پروژه‌ها هر ترم به مهارت‌های مورد نیاز در صنعت نزدیک‌تر شود. همچنین آموزش جدی‌تر اندروید، در نظر گرفتن پشتیبان و مشاور برای هر تیم و شفافیت کامل داک نمرات قبل از تحویل حضوری و حین آن از تلاش‌های ما برای بهتر ارائه شدن پروژه بود.خوشحالیم که پذیرفته شدن تعداد قابل توجهی از دانشجویان این درس در مصاحبه‌ی شرکت‌های خوب کامپیوتری کشور گواهی بر مثمر ثمر بودن این تلاش‌هاست.و اما یکم خودمونی تر:در صورتی که پیشنهاد یا انتقادی نسبت به عملکرد و رفتار تیم پروژه دارین خوشحال میشیم با ما در میان بگذارین، اگر کمی و کاستی از ما دیدن امیدوارم ببخشین و ترم‌های بعد که خودتان دستیار آموزشی این درس شدید بهتر از آن را اجرا کنیددر اینجا لازمه از تیم دستیاران آموزشی پروژه آقایان عمران‌پور، عالیان، طاهری، ابوالقاسمی و دستیار آموزشی حل تمرین آقای حسن‌زاده بسیار تشکر کنم که تمام تلاش خودشون رو برای یادگیری شما انجام دادند و در رفع اشکال دانشجویان نقش زیادی داشتند. همچنین آقای اعلمی که پیگیری زیادی برای حل مسائل مربوط به درس داشتند.به طور ویژه از استاد محترم درس آقای حاتمی تشکر دارم که نهایت همکاری را با تیم پروژه داشتند.از همه‌ی دانشجویان عزیز که با همراهی و تلاش خود به ما در محقق کردن اهداف بالا کمک کردند و انصافاً پروژه‌های بسیار با کیفیتی را به سر انجام رساندند تشکر می‌کنم. کیفیت بعضی از پروژه‌ها به حدی بود که باعث تحسین دستیاران آموزشی و حتی برنامه‌نویسان حرفه‌ای در خارج از دانشگاه شد.قسمت بعدی این نوشته به گزارش ادامه‌ی بهبود‌ها در ترم بعدی یعنی ترم پاییز ۹۷ می‌پردازد.</description>
                <category>رایانش</category>
                <author>محمد حقیقت</author>
                <pubDate>Thu, 01 Aug 2019 03:40:36 +0430</pubDate>
            </item>
                    <item>
                <title>در درس برنامه‌سازی پیشرفته شریف چه گذشت؟ قسمت ۱</title>
                <link>https://virgool.io/rayanesh/%D8%AF%D8%B1-%D8%AF%D8%B1%D8%B3-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%D8%B3%D8%A7%D8%B2%DB%8C-%D9%BE%DB%8C%D8%B4%D8%B1%D9%81%D8%AA%D9%87-%D8%B4%D8%B1%DB%8C%D9%81-%DA%86%D9%87-%DA%AF%D8%B0%D8%B4%D8%AA-%D9%82%D8%B3%D9%85%D8%AA-%DB%B1-kwuyeieyiqzj</link>
                <description>چند ترم پیش همراه چند دوست عزیز و با انگیزه و اراده‌ی قوی تصمیم به بهبود وضعیت ارائه‌ی درس برنامه‌سازی پیشرفته دانشکده کامپیوتر شریف گرفتیم. جرقه‌ی اصلی در ذهن ما برای شروع این کار فاصله‌ی قابل توجه تمرین‌ها و به خصوص پروژه درس با نیاز های روز صنعت کامپیوتر بود و ما به این فکر فرو رفتیم که یک دانشجوی کامپیوتر وقتی این درس را می‌گذراند احتمالا باید بتواند روی یک پروژه برنامه‌نویسی شی گرا به راحتی همراه با یک تیم کار کند، مهارت تعامل و تعریف و تقسیم کار با تیم‌های کوچک را به دست آورده‌باشد، توان طراحی شی گرایی خوب در پروژه‌های کوچک داشته باشد و مهم‌تر آن که مهارت‌هایی که کسب می‌کند به‌روز و کاربردی باشد.می خواستیم کاری کنیم تا میانگین کسانی که این درس را در ترم دوم یا سوم می‌گذرانند با کیفیت بالایی مفاهیم برنامه‌سازی پیشرفته را یادگرفته باشند و آمادگی خوبی برای برنامه‌نویسی پروژه‌های متوسط دانشگاه و همچنین پروژه‌های کوچک صنعتی به صورت گروهی داشته باشند.رسیدن به این هدف می‌توانست تاثیرات مثبت مختلفی برای بدنه‌ی دانشجویان دانشکده کامپیوتر که همگی این درس را می‌گذرانند داشته باشد، به عنوان مثال انجام کار تیمی جدی برای پروژه این درس باعث می‌شد دانشجویان در همان ترم‌های دوم و سوم فرد گرایی را کنار بگذراند و با چالش‌هایی نظیر قانع کردن هم تیمی، تعریف و تقسیم کار در تیم، مسلط شدن روی ابزار git، همفکری و طراحی مشترک، pair programming و ... مواجه بشوند.راهکار مرسوم دانشگاه برای دانشجو هایی که دغدغه بهبود ارائه درس دارند، به عهده گرفتن مسئولیت دستیار آموزشی (اصطلاحاً TA یا Teacher Assistant) بود. می‌دانستم این کار در یک ترم محقق نمی‌شود بنابراین ۴ ترم (۱ ترم آزمایشی و ۳ ترم هم به صورت متوالی) دستیار آموزشی درس برنامه‌سازی پیشرفته شدم و در این راه همراه تعداد زیادی از دانشجویان دغدغه‌مند توانستیم شیوه‌ی ارائه‌ی درس برنامه‌سازی پیشرفته را با کمک اساتید محترم متحول کنیم.حالا پس از گذشت چند ترم از آن تصمیم و تلاش تعداد زیادی از دانشجویان و تی ای‌ها تجربیات زیادی کسب کردیم، در پایان هر ترم هم تحلیل اتفاقات و اقدامات آن ترم را نوشتیم تا بتوانیم بر اساس آن در ترم‌های بعد گام‌های بهتری برداریم.یکی از دوستان پیشنهاد داد این گزارش این اتفاقات را منتشر کنیم که ایده‌ی این نوشته چند قسمتی است و امیدوارم مفید باشد.قسمت دوم این نوشته به گزارش بهبود‌های ارائه درس برنامه‌سازی پیشرفته در ترم بهار ۹۷ (ورودی‌های ۹۶) می‌پردازد.</description>
                <category>رایانش</category>
                <author>محمد حقیقت</author>
                <pubDate>Thu, 01 Aug 2019 03:20:31 +0430</pubDate>
            </item>
                    <item>
                <title>رقابت جواب می دهد؛ اما بهینه نیست!</title>
                <link>https://virgool.io/rayanesh/%D8%B1%D9%82%D8%A7%D8%A8%D8%AA-%D8%AC%D9%88%D8%A7%D8%A8-%D9%85%DB%8C-%D8%AF%D9%87%D8%AF%D8%9B-%D8%A7%D9%85%D8%A7-%D8%A8%D9%87%DB%8C%D9%86%D9%87-%D9%86%DB%8C%D8%B3%D8%AA-ixdjbz1qkueu</link>
                <description>برای نگه داشتن یک طناب، نیازی به این همه زور نیست!شما در طول روز با آدم های بسیاری رقابت می کنید. اما چرا؟ آیا واقعا نیازی به رقابت با دیگران دارید؟ آیا باید از همه برتر باشید؟ زندگی خوب شما دست دیگران است و باید آن را از چنگشان در آورید؟ بیایید رقابت را با هم بیشتر بررسی کنیم.فرض کنید شما یک کشاورز هستید و با یک کشاورز دیگر در دو واحد از زمین های من زندگی می کنید. شما در زمین ها کشاورزی می کنید و در عوض من ملزومات زندگی شما ( غذا، مسکن و ... ) را فراهم می کنم و بقیه اش را در جیبم می گذارم ( چه ناعادلانه )سود من در بیشینه کردن سود زمین است. اما تاثیر من در آن کم است. پس من از روش معمول ایجاد رقابت استفاده می کنم. مثلا می گویم هر که زمینش کمتر محصول داشت، یک روز در میان غذا می خورد. ( یا کمی سخاوت مندانه تر، هر که زمینش بیشتر محصول داشت، مثلا خانه اش بزرگ تر می شود. )رقابت ناسالمشما که انسان کوشایی هستید تلاش بسیار می کنید و زمین را بسیار پربار می کنید. رقیب شما که این وضعیت را می بیند، می فهمد که توانایی اش از شما کمتر است و به طور عادی از شما شکست می خورد. پس او چه می کند؟ با بیلش پای شما را می شکند. او در رقابت پیروز شده، اما من نه تنها به هدفم که سود بیشینه بود نرسیدم، بلکه احتمالا از حالت عادی نیز کمتر سود کردم.کسی در بد بودن رقابت ناسالم شکی ندارداما آیا مشکل فقط رقابت ناسالم است؟ فرض کنید من مشکل رقابت ناسالم را حل کردم. مثلا یک پلیس کنار شما آوردم، یا دوربین گذاشتم، یا به هر طریقی جلوی خطا کردن شما را گرفتم. اکنون دیگر وضعیت بدتر از حالت عادی نمی شود؛ اما آیا من به هدفم که سود بیشینه بود رسیدم؟ خیر.همکاری بسیار بهتر از رقابت استفرض کنید که محصول شما هر روز به آبیاری نیاز دارد و همچنین کلاغ ها محصول شما را می خورند. و فقط همین دو معیار میزان محصول شما را تعیین می کند. شما یک دستگاه کلاغ پران دارید که وقتی پشت آن نشسته اید می توانید کلاغ ها را بپرانید. و مشکل این است که هنگام آبیاری، پشت دستگاه نیستید و کلاغ ها از همین زمان استفاده می کنند و به شما آسیب می زنند.آیا شما حاضرید هنگامی که شخص دیگر در حال آبیاری مزرعه اش است، کلاغ هایی که به مزرعه او می آیند را هم با دستگاه هدف قرار دهید؟ عقل سلیم می گوید که این کار را نباید بکنید. این مصداقی از رقابت ناسالم هم نیست و علاوه بر این که منطقیست، انسانی هم هست. شما هیچ وظیفه ای در قبال مزرعه شخص دیگر ندارید. اما من با این روش در ضررم.پس من به جای این که هدف شما را رقابت بگذارم، هدفی می گذارم که با همکاری بتوانید به آن برسید. مثلا اگر جمع محصولتان از حد معینی بیشتر شد، من به شما پاداش می دهم وگرنه مجازاتتان می کنم.شما تعیین کننده بازی هستیداما اگر از مثال مزرعه بیرون بیاییم، شما خودتان را در رقابت هایی می بینید که کسی شما را در آن قرار نداده است. بلکه به طور طبیعی در آن‌ها قرار گرفته اید. اگر کمی به جهان پیرامون خود دقت کنید، می بینید که بسیاری از توان انسان ها صرف رقابتی کاملا غیر مولد ( مثل آزمون ها، مسابقه ها، جنگ ها یا حتی رقابت بر سر بازاریابی یا فروش و ... ) و بسیاری دیگر صرف تولیدی ناکارآمد مانند مثال مزرعه می شود.برای کنار گذاشتن رقابت، باید ابتدا هدف اصلی را پیدا کنید. مثلا اگر در مثال مزرعه کسی به عنوان صاحب مزرعه وجود نداشت شما باید خودتان به صورت مجازی آن را می ساختید و خودتان به این نتیجه می رسیدید که همکاری برای شما بهتر است. شما باید به این درک برسید که لزومی برای ماکسیمم کردن منفعت شخصی نیست و خود را جزئی از یک کل بزرگتر ببینید ( مثلا عضو یک تیم، عضو یک سازمان، عضو یک کشور، عضو یک دین یا حتی عضو جامعه انسان ها ) و سعی کنید منافعتان را به لایه های بالاتر ببرید. ( مثلا به جای این که منفعت خود را در این ببینید که من امشب باید شام بخورم، در این ببینید که همه هم محله ای هایم باید در امشب شام بخورند ) و این طرز نگاه شما را از این که ناهار هم محله ایتان را بردارید که یک رقابت غیر مولد است دور نگه می دارد.رقابت در عمل از بین نمی رودرقابت، پایه های تمدن بشر است و اگر آن را حذف کنیم، می ریزد.رقابت، یکی از پایه های زیرین تمدن بشر امروز است. به طوری که اگر آن را حذف کنید، تمدن فرو می ریزد و آن قدر فشار برآن زیاد است که شاید همه انسان ها با هم نیز نتوانند آن را حتی ذره ای تکان دهند. اگر کمی با دقت بیشتر به پیرامون نگاه کنید بسیاری از چیز هایی که حتی فکر نبودشان را هم نمی توانید بکنید، حاوی درصد بالایی از رقابت غیر مولد هستند. مثلا فروش کتاب یا برنامه و قفل گذاشتن روی آن ها و منع مردم از استفاده آزاد از آن، کاری غیر مولد است که ریشه در رقابت دارد.پس اگر نمی توان رقابت را حذف کرد، من چرا این متن را نوشتم؟ چون اگرچه نمی توانید آن را به طور کامل از زندگی خود و دیگران کنار بگذارید ( و در خیلی از موارد جزئی نیز نمی توانید. عمدتا به خاطر این که اگر با دیگران رقابت نکنید، آن ها با شما رقابت می کنند ) اما می توانید آن را از هدف گذاری تان حذف کنید و هر چه قدر آدم های بیشتری به دنبال گریز از رقابت باشند، نقش رقابت در زندگی ما کم تر می شود. پس این را به اشتراک بگذارید و مانند آن را تولید کنید؛ شاید نوادگان ما از شر رقابت خلاص شوند.</description>
                <category>رایانش</category>
                <author>حمیدرضا کلباسی</author>
                <pubDate>Thu, 30 May 2019 23:13:00 +0430</pubDate>
            </item>
                    <item>
                <title>کار در کنار تحصیل - قسمت ۱- دانشگاه چه چیزهایی رو به من یاد نداد</title>
                <link>https://virgool.io/rayanesh/%DA%A9%D8%A7%D8%B1-%D8%AF%D8%B1-%DA%A9%D9%86%D8%A7%D8%B1-%D8%AA%D8%AD%D8%B5%DB%8C%D9%84-%D9%82%D8%B3%D9%85%D8%AA-%DB%B1-%D8%AF%D8%A7%D9%86%D8%B4%DA%AF%D8%A7%D9%87-%DA%86%D9%87-%DA%86%DB%8C%D8%B2%D9%87%D8%A7%DB%8C%DB%8C-%D8%B1%D9%88-%D8%A8%D9%87-%D9%85%D9%86-%DB%8C%D8%A7%D8%AF-%D9%86%D8%AF%D8%A7%D8%AF-gbhpxenqavin</link>
                <description>توی این سری از پست‌ها می‌خوام در مورد تمام تجربیاتم و نکات مثبت و منفی‌ای که در مورد کار در کنار تحصیل وجود داره صحبت کنم. من خودم حدود ۳ ساله که توی شرکت کافه‌بازار کار می‌کنم و این ۳ سال برام پر از تجربه‌های جورواجور بوده. من کار کردن رو حدود یک ماه قبل از شروع دوران دانشجویی آغاز کردم، بنابراین خیلی نمی‌تونم از دورانی که فقط تحصیل می‌کردم صحبت کنم. این پست تقریباً اولین پست غیر کامپیوتری‌ام هستش و امیدوارم که به دردتون بخوره. توی این پست در مورد تفاوت‌های بنیادین شرکت و دانشگاه صحبت می‌کنم. یه سری از بحث‌هام فقط در مورد یه سری شرکت خاص صادقه و یه سریش هم کلیه. خیلی از موضوعاتی که می‌گم موضوعاتی نیستند که تو چند ماه اول کار متوجه‌اش بشید، ولی به مرور زمان درک می‌کنید و خیلی لذت‌بخش می‌شه براتون.تعاملات انسانیکار کردن تو شرکت برای من باعث شد که از نظر انسانی خیلی رشد کنم. من آدم خجالتی و درون‌گرایی بودم اما الان خیلی فرق کردم.یادمه از اولین نکاتی که بعد از ورودم به شرکت یاد گرفتم، فرق «سلام» و «سلام صبح بخیر!» بود و این که دومی خیلی حس بهتری داره!فرق اصلی شرکت با دانشگاه اینه که کار بدون تعامل جلو نمی‌ره، و مجبور می‌شی که کار گروهی رو یاد بگیری. باید با بقیه اعضای تیم صحبت کنی، ازشون کمک بخوای، بهشون کمک کنی، اگر یه چیزی رو اعصابته بگی، اگر خودت اخلاق بدی داری اصلاح کنی و الخ. این که اعضای تیم از کارشون راضی باشن یه ارزشه اما این که دانشجو از درسی که برداشته راضی باشه عموماً ارزش نیست. بذارید چند تا مثال بزنم که واضح‌تر بشه: توی اکثر تیم‌ها توی شرکت، هر ۲-۳ هفته یکبار، یه سری جلسه retrospective برگزار می‌شه که توش بررسی می‌کنیم چیا تو مدتی که گذشت خوب نبود، با چیا حال کردیم و چیا رو عوض کنیم بهتر می‌شه اوضاع. توی دانشگاه یه فرم ارزشیابی اساتید داریم که سالی دوبار پر می‌شه و تاثیرش خیلی نزدیک به صفر هست. این لختی‌ای که توی پروسه بهبود وجود داره، این که کمتر دانشجویی مستقیماً پیشنهاداتشو به استاد می‌گه، همه و همه نشانه‌های بدی هستش که در دانشگاه وجود داره. در واقع این مدل بهبود مستمر چیزی بود که شرکت بهم یادش داد و نه دانشگاه.پروژه‌های گروهی تو دانشگاه اکثراً این مدلی انجام می‌شن که کارها به چند قسمت شکسته می‌شن و هر کس قسمت خودشو انجام می‌ده، نمره‌دهی نهاییش هم بسته به این که هر فرد چکاری انجام داده هستش. اما تو شرکت اینجوری نیست، اگر کد هر کسی مشکل داشته باشه، کل محصول دچار مشکل می‌شه. این احساس مسئولیت و همکاری رو شرکت به من یاد داد و نه دانشگاه.فیدبک. شرکت به معنای واقعی کلمه به من فیدبک دادن رو یاد داد. یعنی برای بچه‌ها ورکشاپ گذاشت و گفتش که آقا، اگر تو تیمتون با یه فردی مشکل دارید چطوری بهش بگید! این چیزی نبود که تو دانشگاه بتونم یادش بگیرم، شاید خیلی از دعواها و قهرها و کدورت‌ها هم می‌شد به وجود نیان اگر اکثر دانشجوها می‌تونستند درست به همدیگه فیدبک بدن.اعتمادتوی دانشگاه فرض اولیه اینه که اعتماد نکنید مگر این که خلافش ثابت بشه. TA ها به دانشجو اعتماد ندارند و باید چک کنند که تقلب می‌کنن یا نه، دانشجوها به TA ها اعتماد ندارند و فکر می‌کنند که الکی دارن تمرین‌ها رو سخت می‌دن، استاد به TA ها اعتماد نداره و پایان‌ترم رو خودش تصحیح می‌کنه، دانشجو به استاد اعتماد نداره و فکر می‌کنه مریضه که نمودار نمی‌زنه، TA ها به استاد اعتماد ندارند و اکثراً به دنبال recommendation letter هستند. از همه‌ی این‌ها بدتر... دانشجو هم به دانشجو اعتماد نداره! یکی می‌ره زیرآب یکی دیگه رو می‌زنه که تقلب کرده، یکی داره به اون خرخونایی فحش می‌ده که باعث شدند استاد نمودار نزنه و ... این حس اعتماد داشتن خیلی حس خوبیه که من تو شرکت تونستم تجربه‌اش کنم و نه دانشگاه. این که اگر مدیر محصول فلان تصمیم رو گرفته قطعاً دلیل داشته، دلیلش منطقی بوده و اگر ازش بخوام که دلیلش رو بگه می‌تونه تا حد خوبی من رو قانع کنه. این که اگر فلان عضو تیم نتونست یه تسکی رو برسونه، لابد براش مشکلی پیش اومده و تنبلی نکرده قطعاً. این که اگر یه کسی کارش عیب داره لابد یه مشکلی براش پیش اومده و ذاتاً مشکل نداره! این حس اعتماد باعث می‌شه که دغدغه‌های آدم کم بشه و تمرکز کنه روی موضوعات مهم. وقتی که وارد شرکت شدم، ۳۰-۴۰ نفر بودیم، و الان حدود ۲۰۰ نفر شدیم. حفظ کردن یک فرهنگ خوب و بزرگ شدن به شدت کار دشواری هستش و من خودم سختی‌هاش رو چشیدم. این که این فرهنگ تا حد خوبی حفظ شده باعث می‌شه که افراد یه مدل فکری منطقی نسبت به شرکت داشته باشند. در واقع می‌تونی به سازوکارهای شرکت اعتماد کنی و بدونی که منطقی هستند. این که یه نفر ارتقاء پیدا می‌کنه یا باید باهاش خدافظی کنیم وابستگی مستقیم داره به نحوه عملکردش و نه چیز دیگری. تو دانشگاه واقعاً اینطوری نیست، از استادایی بگیر که جنسیت دانشجو براشون مهمه، تا استادایی که نمره‌شون بستگی داره به آب و هوا و تاس و پله و مشکلات زناشویی و شقیقه و ...تمدید و تقلب و نموداراین ۳ تا، موجودات خیلی عجیب غریبی هستند که شاید فقط در دوران تحصیل وجود داره و دانشجو رو از زندگی واقعی دور می‌کنه. این که همیشه امید داریم به تمدید شدن ددلاین. توی شرکت اگر به ددلاین نرسید، اگر کدتون به موقع آماده نشه، نمره ازتون کم نمی‌شه، معدلتون خراب نمی‌شه، فقط کار عقب می‌افته و اعضای تیم ناراحت هستند از این که فلان تسک نرسیده. این که چرا باید براتون مهم باشه که کار عقب افتاده، چرا سایر افراد ناراحت می‌شن از این قضیه و ... همه‌اش به خاطر اون فرهنگ متفاوت شرکت هستش. این که تو شرکت تمدید وجود نداره و البته چندین دلیل دیگه باعث شد که من بهتر بتونم زمان رو مدیریت کنم. تقلب و نمودار هم در فضای بیرون دانشگاه معادلشون می‌شه دزدی و گدایی و کارهای جالبی نیستند!انگیزه برای درس‌های دانشگاهتو درسای دانشگاه کمتر می‌گن این چیزایی که دارید یاد می‌گیرید به چه درد می‌خوره. کار کردن توی شرکت و یه سری از چالش‌هاش باعث شد که انگیزه‌ی بیشتری برای یاد گرفتن دروس دانشگاه داشته باشم. این که می‌بینی استاد داره همون چیزهایی رو درس می‌ده که هفته‌ی پیش تو شرکت باهاشون به مشکل خوردی خیلی حس خوبیه. مثلاً این thread ای که توی درس OS گفت همون چیزیه که هفته پیش باعث شد سرور بترکه. یا مثلاً این تکنیک‌هایی که در مورد normalization گفتن تو درس DB خیلی به درد فلان جدول‌های پروژه می‌خوره! یه جورایی علم و عملتون قوی جوش می‌خوره و این که علمی‌تر، عمیق‌تر و پایه‌ای‌تر با قضایا برخورد می‌کنید. البته همه این دیدگاه من رو ندارند و حس می‌کنند که اگر خودشون بخونن بهتره، در هر صورت این مهمه که حمّال نشید. همونطور که تو دبستان بهمون می‌گفتن درستونو بخونید تا حمّال نشید، تو دانشگاه هم می‌شه گفت. صرفاً مدل حمّالی‌اش فرق داره و اگر درس‌های دانشگاه رو بلد نباشید می‌تونید تا ابد یه برنامه‌نویس دون‌پایه باقی بمونید.یه سری از موضوعاتی که گفتم رو خودم تو این یک سال اخیر به دست آوردم و قبلش خیلی شهود نداشتم. کلاً وقتی آدم تصویر بزرگ شرکت رو ببینه خیلی الگوها و نکات جالبی رو می‌تونه درک کنه و از فکر کردن بهشون لذت ببره.شرکت و پروژه‌های شرکتی موجودات پیچیده‌تری هستند تا درس‌های دانشگاه. توی دانشگاه (به خصوص شریف) جو رقابتی خیلی بیشتره. اما تو شرکت خیلی اینجوری نیست، باید کار تیمی انجام بشه و با همکاری و کار گروهی پروژه پیشرفت بکنه. تو دانشگاه کدتون زیر بار ۱۰۰ میلیون درخواست در روز نمی‌ره و هیچوقت ساعت ۱۲ نصف شب تمرینتون خراب نمی‌شه اما این پیچیدگی‌ها تو توسعه‌ی نرم‌افزار تو شرکت وجود داره و همه‌ی این پیچیدگی‌ها باعث می‌شه که جذابیتش نسبت به دانشگاه به مراتب بیشتر باشه.</description>
                <category>رایانش</category>
                <author>محمد امین خشخاشی‌مقدم</author>
                <pubDate>Thu, 22 Jun 2017 18:21:08 +0430</pubDate>
            </item>
            </channel>
</rss>