۱۳۸۸ دی ۵, شنبه

امتحان پايان ترم ساختمان داده


لازم به ذكر است كه سوالات امتحان پايان ترم ساختمان داده به گونه‌اي طراحي مي‌شود كه افرادي كه كتاب مرجع درس (ساختمان‌داده هورويتز) را به خوبي خوانده و فهميده باشند بتوانند نمره قابل قبولي از اين درس كسب كنند.

تقريبا هر سوال چند قسمت است كه بخش آخر آن تحليلي خواهد بود نه تمام آن.

مثلا اين مي‌تواند يك سوال باشد: درخت Heap چه درختي است؟ از آن چه استفاده‌اي مي‌شود؟ اگر دريك درخت heap داده‌هايي كه كمتر از نصف مقدار ريشه هستند در زيردرخت چپ و داده هايي كه بيشتر از نصف مقدار ريشه هستند در زيردرخت راست نگهداري شوند، اين درخت آيا مزيتي بر درخت heap خواهد داشت؟

دومين پروژه ساختمان داده


پياده سازي ADT يك درخت جستجوي دودويي.
اين پروژه 1 نمره دارد.

۱۳۸۸ دی ۲, چهارشنبه

Triggers!


مقدمه اي بر Trigger ها:

بخش اول:
http://www.sqlteam.com/article/an-introduction-to-triggers-part-i

بخش دوم:
http://www.sqlteam.com/article/an-introduction-to-triggers-part-ii

۱۳۸۸ آذر ۳۰, دوشنبه

نمونه سوال ساختمان داده


سوالات انتخابي ليست پيوندي و درخت:
http://www.2shared.com/file/10126982/20a18d59/ds880930.html

پايين صفحه سمت راست در بخش

Save file to your PC: click here
كليك كنيد.


۱۳۸۸ آذر ۲۸, شنبه

پروژه پايگاه داده


پروژه نهايي پايگاه داده، همان‌طور كه سر كلاس عنوان شد يك سيستم فروشگاه است.
مثلا فروشگاه رفاه كه چندين شعبه دارد و اجناس بسيار متنوعي به فروش مي‌رسد. اين فروشگاه مي‌خواهد اطلاعات كالاهاي خود را نگهداري كند و در هنگام فروش اطلاعات فاكتور فروش را داشته باشد. در نهايت مي‌خواهد موجودي هر كالا را در انبار در هر لحظه داشته باشد.
يك برنامه بسيار ساده‌، فقط با يك فرم بنويسيد كه اطلاعات يك كالا يا فاكتور را اضافه كرد و نمايش دهد.
هدف از اين پروژه چگونگي طراحي database مي‌باشد. تمامي كنترل‌ها را در در سطح database‌ انجام دهيد.
از stored procedure ، trigger استفاده كنيد. تعريف constraintها مهم است.
تاريخ تحويل پروژه يك هفته پس از اتمام امتحانات خواهد بود.
تحويل به دو صورت ممكن است كه از نظر نمره كاملا يكسان هستند. تحويل حضوري و تحويل با ايميل و توضيح به صورت تلفني!!!! ساعت مشخصي جهت تماس تلفني در نظر گرفته شده و دانشجو به سوالات مطرح شده در مورد پروژه خود توضيح مي‌دهد.
نمره پروژه 1.5 نمره است.

نمره ساختمان داده


با توجه به اينكه درس ساختمان داده ماهيت اصلي آن تئوري است، نمره امتحان پايان ترم نقش بسيار زيادي در نمره نهايي خواهد داشت.

پروژه شماره 1 ساختمان داده


پياده سازي ADT ماتريس اسپارس با ليست پيوندي.

عمليات ايجاد ماتريس، جمع دو ماتريس و ترانهاده ماتريس از عمليات اين ADT هستند.
(به دليل زمان كم براي انجام پروژه عمل ضرب دو ماتريس نياز به انجام نيست)

زمان تحويل پروژه يك هفته پس از اتمام امتحانات خواهد بود.
به دليل محدوديت‌هاي آموزشي امكان تمديد اين مهلت وجود ندارد.
نمره اين پروژه 1 نمره است.
نمره پروژه دوم نيز كه در مورد درخت‌ها خواهد بود 1 نمره خواهد بود.

بديهي است كه نمره پروژه تنها براي دانشجوياني منظور مي‌گردد كه از امتحان پايان ترم بيش از نيمي از نمره را دريافت كرده باشند.

۱۳۸۸ آذر ۲۵, چهارشنبه

۱۳۸۸ آذر ۲۳, دوشنبه

سوالات كوئيز ساختمان داده


كوئيز پشته،‌صف، مرتبه زماني:

http://www.2shared.com/file/9973044/5aeb59df/ds880827.html


كوئيز مرتب‌سازي:
http://www.2shared.com/file/10072088/437b944a/ds880921.html

پايين صفحه سمت راست در بخش

Save file to your PC: click here
كليك كنيد.
______________

لينك سوالات كوئيز مرتب سازي درست شد!!

۱۳۸۸ آذر ۲۱, شنبه

نمايشي از درخت دودويي!


http://www.2shared.com/file/9923208/fc558bee/ds_binaryTree.html
پايين صفحه سمت راست در بخش

Save file to your PC: click here
كليك كنيد. درخت بودن يك درخت دودويي نشان داده مي‌شود.

۱۳۸۸ آذر ۲۰, جمعه

تمرين پايگاه داده گروه كارشناسي ناپيوسته


تمرين‌هاي http://elearningquchan.blogspot.com/2009/11/blog-post_22.html را كه با SQL حل كرده‌ايد، اكنون با جبررابطه‌اي حل كنيد. تمرين‌ها پنج شنبه تحويل گرفته خواهد شد.

۱۳۸۸ آذر ۱۴, شنبه

روش يادگيري


Tell me and I will forget
Show me and I may remember
Involve me and I will understand

تاريخ كوئيزهاي ساختمان داده


بر اساس گزارشي كه آقاي گودرزي فرستادن تاريخ دو كوئيز آتي درس ساختمان داده به صورت زير خواهد بود:

كوئيز مرتب سازی: شنبه 88/9/21 ساعت 18-16
كوئيز لیست پیوندی: شنبه 88/9/28 ساعت 18-16

توجه كنيد كه كليه مطالبي كه تا قبل از آن تاريخ در مورد ليست پيوندي گفته شود در كوئيز خواهد بود.

۱۳۸۸ آذر ۱۳, جمعه

نمونه سوال ساختمان داده - بخش مرتب‌سازي


فعلا چند سوال از مبحث مرتب سازي مي‌گذارم. ممكن است كه بعدا سوالات جديدي به اين ليست اضافه شود.

  1. كدام يك از الگوريتم‌هاي مرتب سازي اگر داده ها در فايل باشند، بهتر عمل مي‌كنند؟ فرض مي‌شود كه حافظه اصلي خالي وجود ندارد يعني نمي‌توان هيچ آرايه‌اي در حافظه تعريف كرد، فقط مي‌توانيد متغير تعريف كنيد و مرتب سازي بايد داخل فايل صورت گيرد.در واقع الگوريتم‌هاي مرتب‌سازي را بر اين اساس مرتب كنيد (كدام بسيار مناسب، كدام متوسط و كدام نامناسب است)
  2. فرض كنيد چندين كامپيوتر داريم كه مي‌توانند به صورت مستقل با هم كار كنند (برنامه نويسي موازي) (محدوديتي در تعداد كامپيوترها وجود ندارد) (مي‌توانيد فرض كنيد كه چندين نفر هستيد كه مي‌خواهيد ليست بسيار بزرگي را مرتب كنيد بدون اينكه ارتباط زيادي با هم داشته باشيد)، كدام يك از الگوريتم‌هاي مرتب‌سازي در اين مورد بهتر عمل مي‌كند؟ چرا؟ در واقع الگوريتم‌هاي مرتب‌سازي را بر اين اساس مرتب كنيد (كدام بسيار مناسب، كدام متوسط و كدام نامناسب است)
  3. اگر الگوريتم‌هاي مرتب سازي بخواهند براي يك ليست يك پيوندي بكار روند كدام بهتر عمل مي‌كنند؟ براي ليست دو پيوندي چطور؟ در واقع الگوريتم‌هاي مرتب‌سازي را بر اين اساس مرتب كنيد (كدام بسيار مناسب، كدام متوسط و كدام نامناسب است). چه ساختمان‌داده‌اي پيشنهاد مي‌كنيد كه عمل مرتب‌‌سازي در آن سريعتر از آرايه باشد؟ پاسخ خود را دقيقا شرح دهيد.
  4. كدام يك از روش‌هاي مرتب‌سازي ناپايدار هستند؟ جهت پايدار كردن هر يك از روش‌ها چه تغييراتي بايد در الگوريتم آن داده شود؟ كاملا توضيح دهيد.

۱۳۸۸ آذر ۱۱, چهارشنبه

Stored Procedures


اين يه Tutorial براي Stored Procedures در Sql Server است:

http://www.mssqltips.com/tutorial.asp?tutorial=160


Shell Sort!!


اين فايل بحتش راجع به مقدار k است كه اينجا بهش H مي گه.

http://www.waset.org/journals/waset/v27/v27-12.pdf

فرمول قبلي كه براي H وجود داشته اين بوده: h1 = 1 و ديگر h ها: h2 = 3h1 + 1 و به همين ترتيب تا وقتي كه ht+2 ≥ N.
براي 100 عضو داريم: 1و 4و 13و40 و 121 كه بر اساس فرمول بالا دو تاش رو كم مي‌كنيم و در نهايت {1و4و13}h
اين مقاله پيشنهاد مي‌كنه كه (h1=ceil(n/2 باشه و ديگر h ها به صورت: (h2=ceil(h1/2 و به همين ترتيب. (Ceil يعني قسمت بالاي جزء صحيح)
اين مقاله ميگه كه در اين صورت گرچه h هاي بيشتري داريم اما تعداد جابچايي ها كمتر ميشه.
گرچه كه صحت اين مقاله رو نمي دونم اما حداقل نتيجه‌اي كه واسه ما داره اينه كه فرمولي كه سر كلاس پيشنهاد دادين درسته!!!

۱۳۸۸ آذر ۹, دوشنبه

ساختمان داده


ساعت 16-18 اين هفته مورخ 88/09/12 كلاس فوق‌العاده ساختمان داده‌ها برگزار مي‌شود.

در راستاي برنامه ريزي براي كلاس‌هاي آتي، با توجه به ساعات كلاسي دانشجويان كه آقاي صالحي تهيه كرده‌اند روزهاي شنبه و يك‌شنبه صبح ساعت 8-12 دانشجويان كلاس ندارند. بنابراين روز شنبه مورخ 88/09/21 ساعت 8-12 كلاس فوق‌العاده ديگري خواهيم داشت. افرادي كه در اين ساعت آن روز كلاس دارند هر چه سريعتر از طريق بخش نظرات اطلاع دهند.


تمرين پايگاه داده - آز پايگاه داده


با توجه به جداول صفحه 45 كتاب Silberschatz به سوالات زير پاسخ دهيد.

  • چه مشترياني هيچ حسابي در هيچ بانكي ندارند.
  • چه كساني حداقل شماره يك وام آنها يكي بيشتر از شماره يك حسابشان برابر شده است. (مثلا دارنده حساب شماره 100 وامي گرفته است كه شماره آن 101 است)
  • چه كساني در يك شعبه بيش از يك حساب دارند.
  • چه كساني تعداد وامهايي كه از كل شعبات گرفته اند بيشتر از تعداد حسابهاي آنها در يك شعبه است.
  • كساني كه تمام وام‌هايي كه گرفته اند از شعبه آزادي بوده است در چه شهري زندگي مي‌كنند.
  • چه كساني كه حداقل يك وام از شعبه اي گرفته اند كه در شهر خودشان است.
  • كساني كه تمام حسابهايي كه دارند و تمام وام ‌هايي كه گرفته‌اند از شعبات شهر خودشان بوده است، آدرس شان چيست؟
با توجه به اينكه وقت زيادي براي حل تمرين‌ها نمانده است، تعداد تمرين كمي داده شده است.

۱۳۸۸ آذر ۱, یکشنبه

تمرين پايگاه داده

query هاي زير را بنويسيد (جداول همان جداول كتاب هستند)
از دستور except، intersect نمي‌توانيد استفاده كنيد.

  1. شعباتي كه هيچ مشتري اي ندارند مشخص كنيد.
  2. شعباتي كه هيچ مشتري اي از شهر ديگري ندارند.
  3. شعباتي كه يك مشتري دارند كه موجودي وي نصف موجودي كل آن شعبه است.
  4. چه كسي در هر شعبه در كل بيشترين موجودي را دارد.
  5. چه كساني وامي كه گرفته است از مبلغ موجودي اش بيشتر است
  6. چه كساني مبلغ وام آنها از يك شعبه از كل موجودي يك شعبه ديگر بيشتر است.
  7. چه شعبه اي بيشترين وام را داده است.
  8. چه كساني بدون داشتن حساب، وام گرفته‌اند.
  9. چه كساني شماره دو وام آنها دو عدد پشت سر هم شده است (مثلا شماره وام اول:100 و شماره وام دوم:101)
  10. چه كساني حداقل شماره يك وام آنها با شماره يك حسابشان برابر شده است. (مثلا دارنده حساب شماره 100 وامي گرفته است كه شماره آن نيز 100 است)
  11. كسي كه كل وامي كه تا به حال از يك شعبه دريافت كرده است، از همه بيشتر است، كل موجودي وي چقدر بوده است؟ شعبه اي كه از آن وام را دريافت كرده است كل موجودي آن چقدر است.
  12. بيشتر مشتريان هر شعبه از چه شهري هستند.
  13. چه شعباتي فقط به افرادي كه در همان شعبه حساب دارند وام داده است.
  14. چه شعباتي به تمام افرادي كه در همان شعبه حساب دارند وام داده است.
  15. اطلاعات مشتريان هر شعبه را نمايش دهيد (اين سوال هم واسه اينكه خستگي تون بره!)
تمرين‌ها روز پنج شنبه مورخ 88/09/05 تحويل گرفته مي‌شود.


۱۳۸۸ آبان ۳۰, شنبه

كلاس فوق العاده


ساختمان داده:

كلاس فوق‌العاده روز چهارشنبه 88/09/04 ساعت 10-12 و ساعت 12-14 برگزار مي گردد. در اين ساعات ارائه روش‌هاي مرتب‌سازي مي‌باشد.
كوئيز روز سه‌شنبه 88/09/03 ساعت 14-16 برگزار مي‌شود. 5 سوال دارد و 2 ساعت فرصت. توجه كنيد كه برخي مسائل را در ساختمان داده بايد بدانيد؛ مثلا اينكه مربع جادويي چيست؛ چگونه حل مي‌شود يا maze چيست و حل آن چگونه است.

پايگاه داده:
كلاس خالي وجود ندارد! روز پنج‌شنبه ساعت 8-10 كلاس درس و ساعت 10-12 ارائه خواهيم داشت. دانشجوياني كه ارائه دارند بايد فايل‌هاي تكميل‌شده خود را براي من تا روز دوشنبه بفرستند.


۱۳۸۸ آبان ۲۳, شنبه

دانشجويان ساختمان داده


كلاس فوق العاده همان طور كه گفته شد، دوشنبه مورخ 88/09/02 برگزار خواهد شد ساعت 8-12 و ارائه ها در آن تاريخ خواهد بود. كوئيز همان‌گونه كه روي برد دانشگاه نصب گرديده جمعه خواهد بود.

فايل‌هاي ارائه‌اي كه براي من فرستاده‌ايد مي‌توانند خيلي كامل‌تر باشند. سايت www.youtube.com خيلي فيلم‌هاي كوتاهي دارد كه مرتب سازي را نمايش مي‌دهد. كمي خلاقيت به خرج دهيد.
در مورد سوالات مرتبه زماني الگوريتم مي‌توانيد مراجع متنوعي را مطالعه كنيد. در مورد اكثر روش‌هاي مرتب‌سازي منابع زيادي وجود دارد، هم به زبان فارسي و هم به زبان انگليسي. چندين منبع را بخوانيد تا به فهم درستي برسيد.
سعي كنيد يك پياده‌سازي از الگوريتم را داشته باشيد؛ (مي‌توانيد از اينترنت پيدا كنيد)؛ برنامه‌اي كه اجرا كنيد و خروجي آن مرحله به مرحله، مراحل sort را نشان دهد.
حتما بيش از يك مثال در document خود داشته باشيد. توجه كنيد كه ارائه شما را بايد تمام دانشجويان متوجه شوند.

To All Students!


I was supposed to tell you about our make up class.
There is no vacant room on some hours in Wednesday. The time of the class also interfere with some other classes time or work hours of other students.
I really don't like to ignore even one student when arranging a time.
Tell me bout Mondays 88/09/02. Who has a serious problem on that day? Don't tell me about your preference please.
So probably we will not have any make up classes this week.
Any Comment? Tell me.

۱۳۸۸ آبان ۱۸, دوشنبه

قوانين كلاس مهندسي نرم‌افزار


هر گروه فقط 15 دقيقه فرصت ارائه دارد. در اين 15 دقيقه مي‌تواند هر مطلبي را كه در مورد پروژه خود است عنوان نمايد؛ اما به نفع وي است كه از اين زمان حداكثر استفاده را بنمايد!
پس از هر ارائه 5 دقيقه فرصت پرسش و پاسخ است. در اين فرصت دانشجويان حق دارند سوالات خود را مطرح نمايند.
هر دانشجويي كه در حين ارائه يا در هنگام پرسش و پاسخ مطلبي را عنوان كند كه خارج از بحث مهندسي نرم‌افزار باشد و البته كه تشخيص آن با من است، به وي تذكر داده شده و 1 نمره از نمره پايان ترم وي كسر شده و بايد كلاس را ترك كند.

هدف از ارائه علاوه بر آشنايي با بحث هاي مهندسي نرم‌افزار، آشنايي با تحليل چندين سيستم مهم تجاري نيز مي‌باشد. سيستم‌هاي مالي، انبار و اموال، دبيرخانه و فروش سيستم‌هاي مهمي در دنياي كار كنوني ايران هستند.

۱۳۸۸ آبان ۱۷, یکشنبه

مهندسي نرم افزار


مرسي بچه ها كه اكثريت نظراتتون رو برام فرستادين!! بعضي نظرات خيلي با هم متفاوت بودن!

فعلا كلاس رو از ديدگاه خودم بگم:
كلاس عاليه! دانشجويان فعالانه مطالعه مي‌كنن. مطالب رو بررسي و تحقيق مي‌كنن. از نتيجه تحقيقات كوئيز گرفته شده و مي‌دونم كه اون چندتايي كه به هر دليل تحقيق نكردن چه افرادي بودن.
من اگه هزاران حرف بزنم در زمينه انواع متدولوژي ها، هيچ وقت جاي اون كاري رو كه خودتون تحقيق كردين و سعي كردين بفهمين نمي‌گيره.
گروه‌ها دارن روي پروژه‌هاشون كار مي‌كنن. رقابت جنبه خارجي اش كه من مي‌بينم خوبه! خيلي شركت‌ها هستند كه واسه شركت ديگه مي‌زنن!! من خودم شركتي كه بودم از طرف اماكن اومدن و دو روز در شركت رو بستن!! مسئولان شركت مي‌دونستن كه فلان شركت اين كار رو كرده و باعث شده كه اين‌ها بيان. چقدر سختي كشيدن كه هيچ مشتري نفهمه شركت بسته شده اون هم از طرف اماكن!!

شماها هر كدوم قابليت‌هاي متفاوتي دارين، تيم‌هاي متفاوتي رو تشكيل دادين؛ و در آينده هم مشتريان متفاوتي رو مي‌تونين به سمت خودتون جلب كنين!!
من سر كلاس هم گفتم كه گروهي كه اول ارائه كرد اگه قرار بود يه اداره دولتي معمولي قراردادي رو ببنده با اونها مي‌بست!!!
به نظر من تمام كلاس مفيد صرف مي‌شه، مفيد و مفيد و البته كاربردي. خود اين كلاس يه تجربه اوليه خيلي خوب شده كه من اصلا انتظارش رو نداشتم!!
يه بررسي بكنين ببينين كلاس‌هاي ديگه مهندسي نرم‌افزار چي مي‌گن؟! و چه قدر از مطالب گفته شده رو دانشجو درك مي‌كنه؟ من خودم نمره خيلي خوبي از اين درس گرفتم، خوندم و حفظ كردم و امتحان دادم، اما هيچي نمي دونستم!! گفتم كه حتي نمي دونستم چرا توي مرحله امكان سنجي هم بعضا پول دريافت مي‌شه!!!!!
انواع متدولوژي‌ها خيلي از اين‌ها بيشتره. ظاهرا انواع متدولوژي‌ها رو ياد مي‌گيرين اما در حين اون، انواع نگرش ها رو براي تحليل يك مسئله مي‌بينيم و اين‌ متدولوژي‌ها حداقل‌هايي هستند كه سر هر كلاسي بحث مي‌شه اما بعضا صرفا به صورت حفظي.

فكر نمره رو بگذارين كنار. من هزار و يك فاكتور واسه نمره‌دهي دارم؛ كار افراد رو مي‌فهمم؛ وضعيت گروه رو درك مي‌كنم.

ببينيد نگاه من با شما فرق داره. شما پيش داوري مي‌كنين كه چرا فلان گروه فلان مطلب رو سر كلاس عنوان كرده كه مي‌تونسته بيان نكنه؛ چرا گروه ديگه زودتر از كلاس اومده و اجازه خواسته و ارائه كرده. شايد هم پيش داوري نمي‌كنين و هم رو مي‌شناسين و مي‌بينين؛ و من نگاه مي‌كنم كه يه دانشجوي علاقمند مي‌خواد مطلبي رو واسه ديگران عنوان كنه و همه روش بحث كنيم. XP , RUP كه دوستاتون عنوان كردن همه كلاس هم در ارائه مشاركت داشتن و نظر دادن. خوب هم توضيح دادن، من هم توضيحات لازم رو در بين ارائه عنوان كردم. همه كلاس هم همه مطلب رو كاملا نمي‌دونست؛ از كوئيزها معلومه.

و اما
قبول دارم كه بايد قبل از ارائه هر گروهي، اين فرصت به ديگران هم داده بشه و كسي كه زودتر من رو ديده و از من اجازه گرفته نياد و ارائه بده و بقيه به جاي اينكه گوش كنن توي ذهنشون هي حرص بخورن كه جرا اين گروه اومده و و و و !!!!!
قبول دارم كه جلسه گذشته يه گروه خيلي صحبت كرد و به بقيه وقت نرسيد كه البته تاثيري روي نمره‌شون نداره اما بالاخره هر گروهي زحمت كشيده و بايد از شرايط مساوي بهره‌مند باشه تا حرف‌هاش رو بزنه.
قبول دارم كه كلاس كمي شلوغ شد و بحث‌هايي شد و جملاتي گفته شد كه بايد جلوي اونها گرفته مي‌شد.

قانوني واسه ارائه‌ها وضع مي‌كنم تا اين طور مشكلات حل بشه.




۱۳۸۸ آبان ۱۶, شنبه

تمرين ساختمان داده

اين تمرين با يك مدل جديده!! چاره اي نيست. بايد ياد بگيرين كه اين جور تمرين‌ها رو هم بفهمين و حل كنين!! اين ها رو حل كنيد و جلسه آينده تحويل بدين.
حل تمرين‌ها رو زود شروع كنيد تا اگه اشكالي داشتين فرصت داشته باشين ايميلي از من بپرسين.
1. Design a O(N log N) algorithm to read in a list of words and print out all
anagrams. For example, the strings "comedian" and "demoniac"
are anagrams of each other.

Assume there are N words and each word contains at most 20 letters.

Designing a O(N^2) algorithms should not be too difficult,
but getting it down to O(N log N) requires some cleverness.)

________________________
2. Prove a lower bound for the following two problems:
2.1. You are given an array votes of size 4 with each element holding either a 1 or a 2 (which indicates the candidate for which a vote was cast). The goal is to determine if there is a candidate who received 3 or more votes. The output should either be the empty set if no candidate received at least 3 votes, or otherwise a set holding the indices in votes for a candidate with 3 or more votes.Consider a model of computation in which the algorithm can only access votes by asking if v[i] == v[j] for any i, j. You are to give the best lower bound you can on the number of comparisons.
2.2. You are given n coins identical in appearance; either all are genuine or exactly one is fake. It is unknown whether the fake coin is heavier or lighter than the genuine ones. Your model of computation to solve this problem is as follows. You can only learn about the coins through a provided weigh(set1,set2) method that takes as input two sets of coins set1 and set2 and returns one of the three possibilities:the two sets of coins have the same weight, set1 is heavier, or that set2 is heavier.The problem is to determine if any coin is fake, and if so which coin is fake and whether it is heavier or lighter than the genuine ones.
_________________________
3. Let L1, . . . ,Lr be r unsorted lists, whose elements hold integers in the range [0, k−1]. Let n be the total number of elements among all of the lists. That is, if ni is the number of elements in Li, then n = n1 + n2 + · · · + nr. Describe an algorithm with total worst-case asymptotic time complexity of O(r +k +n) for getting all of the r lists into sorted order. So your final output will be r sorted lists (containing L1,L2, . . . ,Lr in sorted order). Be sure to analyze the time complexity of your algorithm.
3-1. If you cannot think of an algorithm with the specified time complexity, then for partial credit describe the most efficient algorithm you can and correctly analyze its time complexity.
_________________________
4. Consider the problem of sorting an unsorted array A of n elements which take on only two different values (e.g. A = [37, 60, 37, 37, 60, 60, 60, 60]).Note that the two values are not known to the algorithm.
4-1. Briefly but clearly describe an O(n) comparison-based algorithm for solving this problem.
4.2. Why doesn’t the comparison sorting lower bound of (n log n) apply to this problem?

دانشجويان ساختمان داده


1. دو هفته پنج شنبه مورخ 88/08/28 كوئيزي از مباحثي كه از ابتداي سال تا آن تاريخ گفته خواهد شد، گرفته مي‌شود. اين كوئيز،2 نمره از امتحان پايان ترم را خواهد داشت.


2. جمعه همان هفته، مورخ 88/08/29 ساعت 8-10 و 10-12 صبح كلاس فوق العاده خواهيم داشت. در آن كلاس فوق العاده ارائه دانشجويان در خصوص روش‌هاي مرتب سازي صورت مي‌گيرد.
دانشجوياني كه در آن تاريخ كلاس دارند تا حداكثر دوشنبه مورخ 88/08/18 فرصت دارند كه به من اطلاع دهند.

تمامي دانشجوياني كه ارائه دارند لازم است حداكثر تا تاريخ 88/08/22 يك فايل word از مطالبي كه قصد ارائه آن را دارند، تهيه كرده و به من ارسال نمايند تا بررسي شود و اصلاحات لازم صورت گيرد. فايل word تكميل شده، پس از ارائه در اختيار ديگر دانشجويان قرار مي‌گيرد تا براي امتحان مطالعه نمايند.

3. هفته بعد از آن، مورخ 88/09/05 كوئيزي از مباحث فقط مرتب سازي گرفته خواهد شد كه اين كوئيز، 1نمره از امتحان پايان ترم را خواهد داشت.
_________________

توجه: پروژه تحقيقي خانم ابراهيمي و رحيم فرخاني درست تعيين نشده بود كه اصلاح گرديد.
توجه: سه روش مرتب سازي هنوز مانده است كه دانشجوياني كه تمايل به ارائه دارند، لازم است هرچه سريعتر اطلاع دهند. ارائه روش‌هاي مرتب سازي فقط در جلسه 88/08/29 خواهد بود.
_________________
توجه: كلاس جبراني جمعه به ساعت ديگري احتمالا سه شنبه مورخ 88/08/26 بعدازظهر موكول خواهد شد.
بهرحال، از نظر ارائه لازم است كه آماده باشيد. ساعت كلاس را تنظيم خواهم كرد.


۱۳۸۸ آبان ۹, شنبه

ساختمان داده


كل دانشجويان ساختمان داده:

سبك هاي يادگيري متفاوتي وجود دارد.
  • سبك يادگيري ديداري:بـا مشـاهـده و تـركيـب تـصـاويـر بـا اطلاعات، اطلاعات را به خاطر مي‌سپارند. جذب كتابهاي مصور مي‌گردند.
  • سبك يادگيري شنيداري: از طريق گوش دادن ياد مي‌گيرند.
  • سبك يادگيري جنبشي- بساوايي: بـراي يادگيري و بخاطر سپردن اطلاعات از جسم و حس لامسه خود بهره مي‌گيرند.
خيلي دوست دارم در مورد كلاس ساختمان داده اين رو بدونم كه افراد كلاس هر كدام چه سبك يادگيري اي دارند. اين كمك مي كنه كه مطالب رو به چه شكلي عنوان كنم!!
يادگيري خود من بيشتر به سبك ديداري يه و اين همون دليلي يه كه واسه ياددادن صف، صف تشكيل مي‌دم، صفي كه بتونين ببينين.

بنابراين، واسه داشتن كلاسي بهتر، هر كدوم از دانشجويان اين درس، نحوه يادگيري خودشون رو در بخش نظرات اين پست بنويسيد.


گروه‌هاي تحقيقي ساختمان داده:

اول اين كه يك سري از گروه‌ها عدد مورد نظر خودشون رو انتخاب نكردن و به اين صورت پروژه اونها نامشخص است!! اگر تا 3 روز ديگه اين كار رو نكنند اسم اونها از ليست حذف خواهد شد. دوم اين كه مرتبه زماني رو تقريبا آشنا شدين و در مورد الگوريتم‌هاي مرتب سازي هم مي‌تونين بخش زمان‌بندي اون رو مطالعه كنين.

۱۳۸۸ آبان ۵, سه‌شنبه

پروژه مرتب سازي دانشجويان ساختمان داده‌


در هر الگوريتم، نحوه مرتب سازي توسط الگوريتم بايد توضيح داده شود؛ مرتبه زماني الگوريتم نيز بايد بحث شود. مدت زمان هر فرد براي ارائه ماكزيمم 15 دقيقه خواهد بود.

يك document هم هر گروه بايد تهيه كند كه مطالب گفته شده را در آن توضيح دهد. document تهيه شده در اختيار ديگر دانشجويان جهت مطالعه قرار خواهد گرفت.
زمان ارائه اواخر آبان ماه خواهد بود.
نمره اين ارائه بين -1.5 تا 1.5 نمره مي‌باشد.

  • Radix Sort: سيامك گودرزي، مازيار كاظمي
  • Quick Sort: محسن درخشاني، محمد صالحي
  • Bubble Sort: زكيه هقان نيري، بهناز كياني
  • Insertion Sort: نويد غني زاده، حسين يوسفي
  • Bucket Sort: مهياد روان، فاطمه رحيم فرخاني
  • Shell Sort: فاطمه ابراهيمي نيك، كبري رحيمي
  • ‍ Counting Sort: زهرا اسديان، مريم نجاتي
  • Merge Sort: پروانه صاحبكاري، فهيمه اعظم لطفي
  • Bead Sort: شهناز عاملي
  • Selection Sort: نفيسه طالبي، افسانه غلامي

۱۳۸۸ آبان ۴, دوشنبه

گروه‌هاي مهندسي نرم‌افزار


تيم 1:
پروژه: سيستم جامع مالي دانشگاه (حسابداري، اعتبارات، دريافت و پرداخت، دفترداري)
  1. مريم اسماعيلي
  2. سمانه پايكاري
  3. فريبا خون رز
  4. آمنه كوشايي پور
  5. خديجه منصوري
  6. زهرا سعادتي
  7. سيد مجتبي رضوي
  8. سليمان شريفي
  9. فؤاد جهان مهر
  10. كاوان فاتحي
  11. زانكو محمدزاده
مدير تيم: فؤاد جهان مهر
_________________________________

تيم 2:
پروژه: سيستم دبيرخانه يك اداره با چندين بخش در كشور
  1. طاهره قربان زاده
  2. سهيلا جلالي
  3. مهدي ايماني
  4. مهدي حضوري
  5. امين عوض زاده
  6. ذبيح الله وزيري
  7. ميكائيل آقچه لي
  8. ولي محمد سمندر
  9. مسعود محمدي
مدير تيم: مهدي ايماني
_________________________________
تيم 3:
پروژه: سيستم خريد، انبار و اموال دانشگاه
  1. سعیده پاکیده دلشاد
  2. منیژه رئیسی
  3. لاله سلیمانی اله دادی
  4. عصمت نفیسی
  5. پریوش یزدانی
  6. علی نجفی
  7. محمد برزگر
  8. امین بیرانوند
  9. علیرضا حسن شاهی
مدير تيم: عليرضا حسن شاهي
_________________________________

تيم 4:
پروژه: فروشگاهي زنجيره‌اي با چندين شعبه در سطح كشور (مثلا فروشگاه رفاه با امكان خريد online)
  1. خانم اسماعيلي
  2. خانم محبي
  3. خانم گيمديل
  4. شهرام براتي
  5. حجت عظيمي
  6. مهدي صبور
  7. عماد حسيني مقدم
  8. شمس الدين رشيدي
مدير تيم:عماد حسيني مقدم

كليه دانشجويان


در هنگام ارسال فايل به ايميل من، نام فايل را همنام با نام خانوادگي و نام خود به زبان انگليسي فرار دهيد.

  • موضوع ايميل دانشجويان ساختمان داده حتما با كلمه DS_ ، سپس عنوان پروژه به شكل خلاصه و در انتها نام خانوادگي و نام باشد. مثلا DS_Prefix_JalalyazdiMansooreh.
  • موضوع ايميل دانشجويان مهندسي نرم‌افزار حتما با كلمه SE_ ، سپس عنوان پروژه به شكل خلاصه و در انتها نام خانوادگي و نام باشد. مثلا SE_Failure_JalalyazdiMansooreh.
  • موضوع ايميل دانشجويان پايگاه داده حتما با كلمه DB_ ، سپس عنوان پروژه به شكل خلاصه و در انتها نام خانوادگي و نام باشد. مثلا DB_Concurrent_JalalyazdiMansooreh.
  • موضوع ايميل دانشجويان آز پايگاه داده حتما با كلمه PDB_ ، سپس عنوان پروژه به شكل خلاصه و در انتها نام خانوادگي و نام باشد. مثلا PDB_Bank_JalalyazdiMansooreh.
در مورد هر تحقيق در صفحه اول تحقيق حتما نام و نام خانوادگي و موضع تحقيق را بنويسيد و در صفحه انتهايي نيز منابع تحقيق را ذكر كنيد.

۱۳۸۸ آبان ۲, شنبه

دانشجويان ساختمان داده


گروههايي كه تمايل به تحقيق در مورد الگوريتم مرتب سازي داشتند، هر گروه يك عدد بين 1تا 20 انتخاب كنند. هر عدد را فقط يك گروه مي‌تواند انتخاب كند. عدد انتخابي را در بخش نظرات همين پست اعلام نماييد.
الگوريتم مرتب سازي گروه شما، با توجه به عدد انتخابي شما انتخاب خواهد شد. بعضي از اعداد خالي است!!!

تحقيق مهندسي نرم‌افزار


برخي روش‌هاي توسعه نرم‌افزار مانند روش آبشاري در كلاس بحث شد، اين سه روش را براي جلسه آينده (چهارشنبه مورخ 88/08/06) آماده كنيد.
تا ساعت 12 شب 88/08/06 فرصت داريد كه آن را با ايميل براي من ارسال كنيد.
سر كلاس نيز از آنها سوال خواهد شد. بايد دقيقا هر روش را فهميده باشيد.
تحقيق قبلي را نيز تعداد كمي از دانشجويان براي من ايميل كرده‌اند. ديگران نمره آن را از دست دادند.

Software development methodology
  1. Extreme Programming
  2. Rational Unified Process
  3. Agile Unified Process
هر يك از 4 گروه مهندسي نرم افزار نيز،‌ لازم است مدير گروه خود را اعلام نمايد.


۱۳۸۸ مهر ۲۵, شنبه

تمرين درس ساختمان داده


جلسه آينده مورخ 88/07/30 لازم است كه تمرين‌هاي زير را انجام داده و روي كاغذ به من تحويل ‌دهيد:

  1. الگوريتمي بنويسيد كه يك عبارت postfix را به prefix تبديل كند (بدون اينكه به infix تبديل كنيد مستقيما به prefix تبديل كنيد) سعي كنيد در اين الگوريتم از stack استفاده كنيد.
  2. توضيح دهيد چرا در الگوريتم maze آنچه در stack قرار مي دهد dir+1 است نه dir. مي توانست در stack مقدار dir را قرار دهد و پس از pop كردن مقدار آن را +1 نمايد. چرا اين كار را نكرده است؟
  3. حلقه while (variable <8 چه نقشهايي بر عهده دارد؟
  4. اگرآرايه maze را به طول m*p در نظر بگيريم نه به طول (m+2)*(p+2) برنامه maze چه تغييراتي مي كند؟
  5. مثالي را در كلاس حل كرديم كه دو پشته با هم را در يك آرايه قرار داديم. اگر بخواهيد دو صف خطي را در يك آرايه قرار دهيد چگونه عمل مي كنيد؟ اگر بخواهيد دو صف حلقوي را در يك آرايه قرار دهيد چطور؟ اگر بخواهيد يك صف و يك پشته را قرار دهيد چطور؟
پاسخ اين تمرين‌ها را كه به صورت خوانا و همراه با شكل آماده كرده‌ايد، جلسه آينده تحويل گرفته مي‌شود و سر كلاس نيز از آن‌ها سوال مي‌شود.

۱۳۸۸ مهر ۲۰, دوشنبه

قابل توجه دانشجويان مهندسي نرم افزار

لازم است كه براي انجام پروژه مهندسي نرم افزار به 4 گروه 10 نفره تقسيم شويد.
به هر گروه يك پروژه داده مي‌شود. پروژه را من تعيين مي كنم. افراد تيم را خودتان مشخص كنيد.
توجه كنيد كه چه بسيار پروژه‌هايي كه به خاطر كم كاري چند تن از اعضاي تيم محكوم به شكست شده است!!
بنابراين به نوعي كار كل تيم روي نمره كل شما تاثير بسياري دارد. اگر كار تيمي به خوبي انجام نشود كل اعضاي تيم نمره كمي خواهند گرفت.
نمره پروژه مهندسي نرم افزار، درصد بالايي از نمره كل خواهد بود، حدود 40%.
تا پنج شنبه مورخ 88/07/23 مهلت داريد كه اعضاي تيم خود را از طريق وبلاگ اطلاع دهيد. هر تيم يك مدير (manager) نياز دارد كه مدير تيم ليست اعضاي تيم را براي من ارسال مي نمايد.
تعيين مدير تيم نيز به عهده خود شماست.

قابل توجه دانشجويان ساختمان داده ها


كلاس ساختمان داده اين هفته مورخ 88/07/23 ساعت 12-14 و ساعت 14-16 خواهد بود.

۱۳۸۸ مهر ۱۱, شنبه

دانشجويان آز پايگاه داده


بنا به خواسته تعدادي از دانشجويان تصميم گرفتم درس پايگاه داده رو هم واسه بچه هاي كارداني كامپيوتر ارائه بدم كه متاسفانه 3 واحدي هست و چون 1 ساعت عملي داره در كل 4 ساعت در هفته كلاس لازمه كه من وقت اضافي به اندازه يك 2 واحدي يا ماكزيمم يك 3 واحدي داشتم. زمستون هم نمي شه اصلا ساعت كار رو زياد كرد و مجبورم به موقع كلاس‌هام رو تموم كنم و مشهد برگردم.

بنابراين نتونستم اين درس رو بردارم.

۱۳۸۸ مهر ۹, پنجشنبه

تبريك


شروع سال تحصيلي جديد رو بهتون تبريك مي‌گم. ايشالله كه سال خيلي خوبي باشه و خيلي چيزهاي تازه ياد بگيريم و بهم ياد بديم.

۱۳۸۸ شهریور ۲, دوشنبه

حرف هايي از جنس خودماني!!


يه وقتهايي يه اتفاقاتي ميافته كه خستگي يه يا چند ترم تدريس رو واقعا مي‌بره و يكي از اين اتفاق‌ها ديشب افتاد! وقتي يكي از دانشجوهاي كارداني چندين ترم قبلم تماس گرفت و فقط گفت كه مي خواد يه خبر خوش بده!! گفت كه نتايج آزمون كارداني به كارشناسي اعلام شده و اون و يكي ديگه از آقايون رتبه هاي خوبي آوردند و مي‌تونن احتمال قوي بشن دانشجوي كارشناسي كامپيوتر.

خوشحال شدم .... و فقط تونستم بهش بگم كه به زير فوق ليسانس هرگز راضي نشه.
مثل يه ترم پيش كه يه دانشجو گفت كه توي آزمون كارشناسي ارشد، درس پايگاه داده رو 100% زده .... و اين حقيقت تمام خستگي تدريسم رو برد.... تمام خستگي ناشي از از غرغرهاي بچه‌ها در مورد تمرينات زياد طول ترم و بررسي تمرين‌ها .... و باز هم تصميم گرفتم كه ادامه بدم.
اميدوارم همتون، مقاطع بالاي تحصيلي رو طي كنين اگه دوست دارين.

۱۳۸۸ مرداد ۲۰, سه‌شنبه

۱۳۸۸ مرداد ۱۴, چهارشنبه

۱۳۸۸ مرداد ۱۰, شنبه

تحويل پروژه و اعلام نمره


  • تحويل پروژه درس برنامه نويسي پيشرفته در تاريخ 88/05/15 و درس پايگاه داده در تاريخ 88/05/16 صورت مي گيرد.
  • شروع تحويل پروژه از ساعت 8 صبح است و تا ساعت 11 ادامه دارد.
  • تحويل در دانشكده فني و مهندسي (محل تشكيل كلاس‌ها در طول ترم) و در اتاق كامپيوتر صورت مي گيرد.
  • دانشجويان لازم است برنامه خود را بر روي سيستم اچرا نمايند. اگر از نرم افزار خاصي استفاده كرده ايد (مثلا Visual C++ 2005 يا Sql Server 2008 يا ....) بهتر است ‍CD نصب برنامه را با خود داشته باشيد.
  • زمان تحويل براي هر دانشجو، زمان كوتاهي است (با توجه به تعداد زياد دانشجويان) و دانشجو در آن فرصت بايد برنامه خود را توضيح داده و اجرا نمايد. از توضيحات اضافي خودداري نماييد.
  • تحويل به صورت تك نفره خواهد بود.
  • جنانچه تشخيص داده شود كه دانشجويي پروژه را خودش ننوشته است، علاوه بر اينكه نمره‌اي از پروژه دريافت نخواهد كرد، 3 نمره از نمره نهايي وي كسر خواهد شد.
  • نمره امتحان كتبي و نمره دريافتي از پروژه، در هنگام تحويل، اعلام نخواهد شد. نمرات نهايي چند روز بعد از طريق سايت دانشجويي به اطلاعتان خواهد رسيد.
  • هر دانشجو لازم است كه يك فايل word تهيه كرد و برنامه خود و توابع مختلف استفاده شده در آن را كاملا توضيح دهد. (دانشجويان درس برنامه نويسي پيشرفته برنامه خود را توضيح دهند و دانشجويان درس پايگاه داده ساختار پايگاه داده و stored Procedure و trigger ها و مختصري در مورد برنامه و نحوه كار با پايگاه داده در برنامه را شرح دهند)؛ سپس source برنامه و قايل word خود را در يك CD كپي كرده و نام و نام خانوادگي خود را نيز بر روي CD بنويسد. هنگام تحويل حضوري پروژه، CD نيز لازم است به من تحويل داده شود.
_____________________

برگه هاي درس برنامه نويسي پيشرفته تصحيح شده است. تصحيح اوراق بسيار با دقت صورت گرفته و البته با ارفاق فراوان!! نمرات دانشجوياني كه در امتحان پايان نمره، كمتر از نصف نمره را كسب نموده‌اند به‌گونه اي به اطلاع آنان خواهد رسيد. تحويل پروژه اين دانشجويان فقط باعث مي‌شود كه با نمره بهتري درس را بيافتند كه البته تاثير خود را روي معدل آنان خواهد داشت.
در حال حاضر، نمره هيچ دانشجويي اعلام نخواهد شد. از ارسال هر گونه ايميل در اين خصوص خودداري نماييد.


در امتحان كتبي پايان ترم، بارم برخي سوالات تغيير كرد. اين تغيير به دليل افزايش سطح نمره كل كلاس بود.

در درس برنامه نويسي پيشرفته، دو سوال توضيحي در مورد تفاوت متغير const از كلاس و كلاسي كه تمامي متغيرهاي آن const مي‌باشد و سوال بررسي يك زبان برنامه نويسي فقط با امكان ارث بري، نمره آنها از 40 به 10 تغيير پيدا كرد.

در درس پايگاه داده كه بارم سوالات مشخص نبود به اين صورت تنظيم گرديد.
سوال 1: تفاوت table و view، بارم 5
سوال 2: مشكلات مقدار تهي، بارم آن 5
سوال 3: پرس و جوها: نام و كل موجودي، بارم آن 37 (27 نمره sql و 10 نمره جبر رابطه‌اي) و بيشترين وام، بارم آن 15 (10 نمره sql و 5 نمره جبر رابطه‌اي)
سوال 4: وابستگي تابعي مثال ورزشكار، بارم 5
سوال 6: تشخيص رابطه‌ها و نرمال فرم، بارم 30
سوال 7: تراكنش يا XML، بارم 5


قابل توجه دانشجويان دروس برنامه نويسي پيشرفته و پايگاه داده:

نمرات دانشجوياني كه در امتحان كتبي نمره‌اي كمتر از نصف نمره اتخاد كرده اند، در سيستم دانشجويي قابل مشاهده است.


___________________

اعتراضات خود را مي‌توانيد از طريق ايميل عنوان نماييد. مهلت اعتراض تا روز يك شنبه مورخ 88/05/18 مي‌باشد.


نمرات درس برنامه نويسي پيشرفته اعلام شد. ارفاق بسيار زياد صورت گرفته است!!!!
چنانچه اعتراضي داريد تا سه شنبه 88/05/20 فرصت داريد از طريق ايميل اعتراضات خود را مطرح نماييد.
نمرات روز چهارشنبه قطعي خواهند شد و امكان هيچ گونه تغييري وجود نخواهد داشت.
_____________

توجه: نمرات كساني كه اعلام شده است از 20 بوده است در حالي كه نمره اصلي آن از 20 نبوده است. مثلا اگر از 20 نمره، 9.26 شده است نمره وي 9.50 اعلام شده است. اين نمره مثلا از 17 نمره، 7.87 مي‌شود. فعاليت كلاسي نمره‌اي اضافه بر 20 نمره داشته است. نمره پروژه‌هاي طول ترم و نمره پروژه نهايي و كوئيزها هم لحاظ شده است.
_____________

از فرستادن اعتراضاتي با اين محتوا كه "من خيلي بلد هستم و اين نمره حق من نبوده است" اجتناب كنيد. به بقيه محتواي چنين ايميل‌هايي توجه نخواهد شد. تصور شما اين است كه فقط يك اشكال در برگه داشته‌ايد. بارم سوالات در سايت گذاشته شده است.

اعتراض به اين معنا است كه شما تصور مي‌كنيد كه نمره بيشتري مي‌گرفته ايد. برگه شما يك بار ديگر بررسي خواهد شد. ممكن است در جمع نمرات اشتباه شده باشد يا يك سوال كلا ديده نشده باشد.

البته با توجه به اينكه نمره هر برگه حداقل دو بار محاسبه شده است و موقع جمع نمرات، يك بار ديگر تمام برگه بررسي شده است، تا به حال در طول سنوات تدريس من چنين حالاتي رخ نداده است. اما بهرحال اعتراض شما بررسي مي‌شود. شايد اين بار رخ داده بود.


به دليل نياز به زمان زياد جهت بررسي فايلهاي ارسالي، نمره پايگاه داده روز شنبه مورخ 88/05/24 اعلام خواهد شد و روز يك شنبه مورخ 88/05/25 قطعي مي گردد.
لذا حتما روز شنبه نمره خود را در سايت نگاه كرده و اگر اعتراض داشتيد، ايميل بزنيد.

__________________

نمرات يك شنبه اعلام خواهد شد.
__________________

نمرات پايگاه داده اعلام گرديد.
درصد اهميت نمره پروژه تحقيقي و عملي كمي كاهش يافت. دانشجوياني كه پروژه عملي را حضورا تحويل دادند، نمره مثبت دريافت كردند و آنهايي كه حضوري تحويل ندادند در صورت تحليل مناسب نيمي از نمره را كسب نمودند.
تمرين و كوئيز نيز بخشي از نمرهاي پاياني را تشكيل دادند.
نمرات صبح چهارشنبه قطعي خواهد شد.


۱۳۸۸ مرداد ۷, چهارشنبه


سبک يادگيري(Learning Style):

روش‌ها و سبک‌هاي يادگيري در دانشجوان مختلف، متفاوت هستند و سيستمي که اين سبک‌ها را درک کند مي‌تواند به آموزگار در انتخاب استراتژي مناسب آموزش کمک کند. همچنين آگاهي از سبک يادگيري مي‌تواند نقش به سزايي در ترغيب و تشويق دانشجوان داشته باشد.

فِلدِر و سيلورمَن 32 سبک يادگيري بر اساس 5 بُعد را براي دانشجوان مهندسي ارائه کرده‌اند. اين ابعاد شامل دريافت(Perception)، ورودي(Input)، سازمان(Organization)، پردازش(Processing) و فهم(Understanding) مي‌باشد.

  • - بُعد دريافت نشانگر نوع اطلاعاتي است که دانشجو بيشتر ترجيح مي‌دهد دريافت کند : حسي(Sensory) (خارجي) مانند صداها، تصاوير، لمس فيزيکي يا شهودي(Intuitive) (داخلي) مانند احتمالات، درون‌بيني و بينش، ظن وگمان.
  • - بُعد ورودي کانال‌هاي حسي که دانشجو از طريق آنها اطلاعات خارجي را به طور موثرتري دريافت و درک مي‌کند، است: اشکال، نمودار‌ها، گراف‌ها، تصاوير و به طور کل اطلاعات ديداري(Visual) يا اطلاعات صوتي و کلامي(Verbal).
  • - بُعد سازمان نشانگر ساختاري از استدلال است که دانشجو با آن راحتتر است: استنتاج(Deduction) يا استقرا(Induction).
  • - بُعد پردازش چگونگي پردازش اطلاعات توسط دانشجو را نشان مي‌دهد: فعالانه از طريق درگير بودن در فعاليت‌ها و بحث‌هاي فيزيکي(Active) يا انعکاسي از طريق باطن‌بيني و تاملي(Reflective).
  • - بُعد فهم نحوۀ پيشرفت دانشجوان در درک مطالب را نشان مي‌دهد: در گام‌هاي پيوسته متوالي(Sequential) يا در شروع‌ها و جهش‌‌ها( Global). اين ابعاد در جدول 1 آورده شده‌اند.

بر اساس اين مدل:
- دانشجوان حسي داده‌ها، حقايق و آزمايشات را دوست دارند در حاليکه دانشجوان شهودي اصول و تئوري‌ها را ترجيح مي‌دهند. دانشجوان حسي در کار با جزئيات صبور هستند اما پيچيدگي را دوست ندارند. در مقابل دانشجوان شهودي علاقه‌اي به جزئيات ندارند و پيچيدگي مطالب را بيشتر ترجيح مي‌دهند.
- دانشجوان بصري آنچه را که مي‌بينند بيشتر به خاطرشان مي‌ماند: تصاوير، نمودارها، زمانبندي‌ها، فيلم‌ها. اما دانشجوان سمعي بيشتر آنچه را که مي‌شوند بيشتر ياد‌ مي‌گيرند.
- دانشجوان استقرايي براي اثبات بيشتر روند استدلال از جزء به کل را دنبال مي‌کنند، درحاليکه گروه استنتاجي روند عکس دارند. استقرا روند طبيعي يادگيري انسان است. تحقيقات نشان مي‌دهد اکثر دانشجوان مهندسي يادگيرندگان استقرايي هستند. به همين دليل در بيشتر موارد اين بُعد در نظر گرفته نمي‌شود.
- يادگيرندگان فعال در محيط غيرفعال کمتر ياد مي‌گيرند. همچنين يادگيرندگان انعکاسي براي يادگيري درس داده شده نياز به فرصت براي فکرکردن دارند. گروه اول به خوبي در کار گروهي شرکت مي‌کنند، ولي گروه دوم تنهايي يا حداکثر با يک نفر ديگر به عنوان همگروه بهتر کار مي‌کنند.
- دانشجوان ترتيبي فرايند‌ استدلال خطي را در حل مسائل دنبال مي‌کنند اما دانشجوان کل‌نگر جهش‌هاي شهودي و دروني انجام مي‌دهند و نمي‌توانند بگويند چگونه راه حل را پيدا کرده‌اند. گروه اول با مطالبي که به طور سطحي يا فقط بخشي از آنها را يادگرفته‌اند مي‌توانند کار کنند، در حاليکه گروه دوم به سختي مي‌تواند اين‌‌ کار را انجام دهد و بايد عمق مطلب را درک کنند.


۱۳۸۸ تیر ۳۱, چهارشنبه

۱۳۸۸ تیر ۲۸, یکشنبه

كار با mouse در پروژه ++C


مي توانيد به جاي كار با موس، از صفحه كليد استفاده كنيد. كار با موس در Turbo ++C نياز به استفاده در interrupt ها دارد كه با برنامه نويسي windows يادگيري آن سود چنداني نخواهد داشت.

۱۳۸۸ تیر ۱۶, سه‌شنبه

۱۳۸۸ تیر ۱۳, شنبه

توضيحاتي درباره پروژه درس برنامه نويسي پيشرفته



پياده سازي بازي Bubble Breaker
نمونه اي از بازي را مي‌توانيد در اين سايت‌ها ببينيد:


برنامه بايد به زبان ++C باشد.
حتما از كلاس‌ها استفاده شود.
رعايت كردن قواعد مهندسي نرم‌افزار الزامي است.

تاريخ تحويل پروژه 88/05/15 مي‌باشد كه آخرين مهلت تحويل نمرات است.
ساعت تحويل آن از ساعت 8 تا 12 مي‌باشد.

كساني كه پروژه خود را زودتر آماده مي‌كنند، به من اعلام نمايند. ممكن است تاريخي زودتري براي تحويل پروژه آنان مشخص گردد.

پروژه بايد با ++C نوشته شود، بدون استفاده از امكانات Visual يعني بدون استفاده از Component‌هاي موجود در محيط‌هاي Visual.
به عنوان يك
«مهندس نرم افزار»، توابع ساده گرافيكي را در ++C پيدا كنيد. توابع توليد اعداد تصادفي را هم به همين صورت. مثلا در اولين جستجو براي اعداد تصادفي اين سايت به چشم مي خورد:
http://www.daniweb.com/forums/thread1769.html


پروژه پايگاه داده


پروژه نهايي پايگاه داده از دو بخش تشكيل مي‌شود:
  • بخش تحقيقي كه براي تحويل نياز به حضور فيزيكي نيست.
  • بخش عملي كه براي تحويل نياز به حضور فيزيكي است.

بخش عملي پروژه پايگاه داده به صورت زير است:
يك كتابخانه را فرض كنيد. افرادي عضو كتابخانه هستند و از آن كتاب به امانت مي‌گيرند يا رزرو مي‌كنند.
در اين سيستم امكان جستجو بر اساس نام كتاب، موضوع كتاب، نام ناشر، نويسنده كتاب، وضعيت كتاب (امانت، رزرو، موجود، فقدان) بايد وجود داشته باشد.
Database مربوط را در SQL Server ايجاد كنيد. قيدهاي جامعيت را در پايگاه داده تعريف كنيد. حتي امكان كارهاي خود را از طريق Stored Procedure يا Trigger انجام دهيد.
سپس برنامه‌اي بنويسيد (به هر زباني كه با آن آشنايي داريد) و از طريق برنامه به Database متصل شده و اطلاعات را اضافه، حذف و ويرايش كنيد. براي انجام تمامي اين امور از Query استفاده كنيد.
User Interface برنامه هيچ نمره اي ندارد؛ صفحات زيبا با دكمه هاي رنگارنگ در اين پروژه هيچ نمره اي ندارد.

بيشترين نمره مربوط به ساختار Database از جمله Tables, Constraints, Index, Stored Procedures, Triggers مي‌باشد.

در برنامه فقط بخش نوشتن Query ها مهم است؛ Query براي Insert, Update, Delete
زمان تحويل پروژه احتمالا روزي بين 15 تا 20 مرداد است.
كساني كه پروژه خود را زودتر آماده كنند، در صورت تمايل به تحويل زودتر، از طريق ايميل اطلاع دهند. حداقل يك هفته بعد زماني براي تحويل پروژه آنها، احتمالا در مشهد، در نظر گرفته خواهد شد .
سوال داريد؟ بپرسيد.



پروژه عملي پايگاه داده:


دانشجوياني كه مايلند پروژه عملي درس پايگاه داده را زودتر تحويل دهند، روز شنبه مورخ 88/05/20 ساعت 10 صبح در محل مركز آمار، اطلاعات و امور رايانه‌اي دانشگاه فردوسي مشهد حضور داشته باشند. لازم است كه اين افراد حتما قبل از روز تحويل پروژه، نام و نام خانوادگي خود را از طريق ايميل يا از طريق همين سايت، اعلام نمايند.

دانشجوياني كه پروژه پايگاه داده را به‌جاي تحويل حضوري، با ايميل به من ارسال كنند، بايد يك ِDocument تهيه شده با Word هم بايد ضميمه پروژه شان باشد كه ساختار بانك اطلاعاتي و تك تك Stored Procedure و Trigger ها در آن توضيح داده شده باشد. در اين صورت، اگر هيچ مشكلي پيش نيايد و بتوان Database ايميل شده را در Sql Server ايجاد كرد و برنامه را اجرا نمود، ماكزيمم نمره دريافتي آنها، 0.75 خواهد بود.

نمره پروژه عملي تقريبا 2 نمره مي‌باشد.
تاريخ تحويل پروژه عملي 88/05/16 ساعت 8:00 مي‌باشد.

پروژه تحقيقي پايگاه داده:

لازم است حاصل تحقيق در قالب يك فايل Word به من ايميل مي‌شود؛ شايد در پايان مهلت مقرر، تحقيقات را در وبلاگ نيز قرار دهم تا مورد استفاده همگان قرار گيرد.
براي انتخاب موضوع، اگر چند گروه يك موضوع را انتخاب كنند، اولويت با گروهي است كه ابتدا آن را انتخاب كرده است.
براي انتخاب موضوع، پس از اعلام موضوعات، در همان بخش، در قسمت نظرات، نام و نام خانوادگي اعضاء گروه (در برخي عناوين دو نفر و در برخي از پروژه‌ها سه نفر) و عنوان موضوع انتخابي خود را بنويسيد.
توجه كنيد كه پس از انتخاب موضوع، ديگر امكان تغيير موضوع يا گروه وجود ندارد.
ذكر اين مطلب الزامي است كه ترم قبل، اكثريت دانشجويان، نمره پروژه تحقيقي را از 3 نمره، 0.5 گرفتند. پروژه تحقيقي را بايد كامل و دقيق نوشته و از همه مهمتر آنچه مي‌نويسيد را كاملا فهميده باشيد.

نمره پروژه تحقيقي تقريبا 3 نمره مي‌باشد.
مهلت تحويل پروژه‌هاي تحقيقاتي ساعت 88/05/10 ساعت 23:00 مي‌باشد.

توجه:

بارم هاي اعلام شده، تقريبي مي‌باشند و ممكن است تا 0.5 نمره تلورانس وجود داشته باشد.


ليست پروژه‌هاي پايگاه داده:


1) Fuzzy Database (3 students)

2) Spatial Database (3 students

3) Real time Database

4) Object database models

5) Hypermedia Database

6) Query Language and its Parallelism (3 students)

7) Distributed Database Systems (3 students)

8) Parallel Database Systems (3 students)

9) Analytical Database

10) In-memory Database

11) Data Warehouse

12) Compression in databases

13) Query Optimization

14) Join Algorithms (3 students)

15) Replication in Database Systems

16) Adaptive Query Processing (3 students)

17) Indexing and Access Methods

18) Database Performance in Haystack

19) Database Security

20) Optimistic Concurrency Control (3 students0

21) Locking in Database

22) Query processing on wireless sensor networks (3 students)




دانشجويان درس پايگاه داده، توجه كنيد كه پروژه ها دو يا سه نفري مي‌باشد. كساني كه براي پروژه اسم يك نفر را نوشته‌اند در اسرع وقت همگروهي ديگر خود را نيز تعيين كنند.

توجه: دانشجوياني كه به صورت گروه يك نفره پروژه‌اي را انتخاب كرده‌اند، چنانچه تا روز پنج شنبه مورخ 88/04/25 ديگر نفرات همگروهي خود را در همين بخش نظرات اعلام نكنند، پروژه ايشان حذف شده و نمره صفر منظور مي‌گردد.


يه جستجويي مي‌كنين و موضوعتون رو انتخاب مي‌كنين يا همين طوري شانسي از اسم هر كدوم خوشتون بياد سريع اعلامش مي‌كنين؟!
در آينده از اين استدلال‌ها قابل قبول نيست كه موضوع ما سخت بود و هيچي گير نياورديم و و و ....


دانشجوياني كه روز شنبه 88/04/21 براي تحويل پروژه مشهد هستند، در صورت امكان يك laptop با خود داشته باشند كه برنامه را روي آن اجرا كنند.
براي تحويل پروژه ساعت 13:30 الي 14:30 در مركز كامپيوتر باشيد.


با توجه به درخواست كتبي تعدادي ازا دانشجويان از آموزش، تاريخ تحويل پروژه‌ها تغيير كرده است. براي اطلاع به پست‌هاي مربوطه مراجعه كنيد.
  1. Database Security: خدیجه منصوری، مریم اسماعیلی
  2. Hypermedia Database: سعیده پاکیده دلشاد، خانم سمانه پایکاری
  3. Spatial Database: سید مجتبی رضوی،علی نجفی، علیرضا حسنشاهی
  4. looking in Database: فریبا خون رز، زهره حسینی گل
  5. In-memory Database: ذبیح اله وزیری، علی کرم زاده
  6. Parallel Database System: محمد برزگر، مهدی صبور، امین بیرانوند
  7. Fuzzy Database: زهرا خاكي، اعظم رفيعي
  8. Compression in databases: سليمان شريفي، مسعود محمدي
  9. Query Optimization: پریوش یزدانی، منیژه رئیسی
  10. Analytical Database: رمضان محمد رحیمی، سید حمید موسوی
  11. Query processing on wireless sensor networks: كاوان فاتحي، فواد جهان مهر، زانكو محمدزاده
  12. Object Database Models: رقيه اسماعيلي، محدثه محبي
  13. Replication in Database Systems: علي كمانكش، مظفرپشتام
  14. Join Algorithm: عصمت نفیسی، لاله سلیمانی الله دادی، آمنه کوشایی پور
  15. Distributed Database Systems: شمس الدین رشیدی، شهرام براتی، حجت عظیمی
  16. Real time Database: ليلا گيمديل
  17. Data Warehouse: مهدي حضوري


آخرين تاريخ تحويل پروژه تحقيقي پايگاه داده، بنا به درخواست تعدادي از دانشجويان، تغيير كرده و 88/05/16 ساعت 24، آخرين مهلت آن مي‌باشد.
تمامي دانشجوياني كه 88/04/20 پروژه عملي پايگاه داده را حضوري تحويل داده‌اند، تحليل خود را كامل كرده و database را تكميل مي‌نمايند. در نهايت، فقط database را براي من تا تاريخ 88/05/16 ارسال نمايند. علاوه بر آن، يك فايل word تهيه كرده و در آن توضيح كاملي در مورد تحليل خود و ساختار database خود ارائه مي‌نمايند.
________________________
زمان تحويل پروژه پايگاه داده، روز جمعه مورخ 88/05/16 ساعت 8:30 تا 10:30 در اتاق كامپيوتر دانشكده فني و مهندسي قوچان مي‌باشد.


۱۳۸۸ تیر ۷, یکشنبه

تحويل پروژه پايكاه داده


مطلب به اين پست http://elearningquchan.blogspot.com/2009/07/blog-post_07.html انتقال پيدا كرد.


پروژه درس برنامه نويسي پيشرفته


اين مطلب به بخش http://elearningquchan.blogspot.com/2009/06/c.html انتقال پيدا كرد.

۱۳۸۸ خرداد ۲۰, چهارشنبه

پروژه هاي دير ارسال شده


مهلت ارسال پروژه همان است كه قبلا گفته شده است يعني 88/03/09.
پروژه هايي كه بعد از اون تاريخ به دست من رسيده اند، هيچ نمره اي از بخش تحويل به موقع دريافت نمي كنند.
در صورتي كه 88/03/19 پروژه را تحويل داده‌ايد نمره تحويل حضوري را دريافت مي‌كنيد و در غير اين صورت هيچ نمره اي به شما تعلق نخواهد گرفت.
نمره تحويل حضوري حدود 70% نمره كل پروژه است.

۱۳۸۸ خرداد ۱۵, جمعه

آخرين جلسات ترم


هميشه كلاس هاي روزهاي پاياني ترم، دردسرساز بوده است!!
دانشجويان اين روزها (جاي تعجب است كه فقط اين روزها) سه دغدغه مهم دارند:
اول اين كه زمان مي خواهند كه مطالعه كنند و خودشان را براي امتحانات پايان ترم آماده سازند.
دوم اين كه ترجيح مي دهند كه هر درس مباحث كمتري داشته باشد تا آماده شدن براي امتحان زمان كمتري لازم داشته باشد.
سوم دلتنگي براي خانواده و برگشتن به شهر و ديار خودشان است، حتي براي مدت كوتاهي به نام فرجه امتحانات و حتي با علم به اين كه به زودي پس از امتحانات به خانه باز خواهند گشت.
و اين سه دغدغه تا حدودي حل مي شود اگر حداقل آخرين جلسات كلاس ها تشكيل نشود؛ زمان بيشتر و مباحث كمتر و برگشتن به آغوش خانوداه!!

و اما استادان كه بيش از حال،‌آينده را مد نظر دارند دغدغه هايشان از نوع ديگري است. مهم اين است كه دانشجو تا چه حد مباحث را فرا گرفته است؛ مباحث باقيمانده چقدر مهم هستند. آيا دانشجويي كه قصد ادامه تحصيل در مقاطع بالاتر در رشته خود را دارد، مطالب كلاس به گونه اي گفته شده است كه نياز او را مرتفع كند؟
و متاسفانه! هميشه آخرين مباحث گزيده ترين و سخت ترين مباحث هستند كه يادگيري آن ها به صورت خودخوان آسان نمي باشد.
يادم است كه وقتي براي كنكور كارشناسي ارشد درس مي خواندم، يادآوري استاداني كه مباحث را كامل گفتند، در طول ترم مجبورمان كردند كه بخوانيم! و در آخرين روزها نيز، مباحث درسيشان را، نه عجولانه، دنبال كرده بودند خوشحالم مي كرد.

خوشحالم كه مباحث كلاسهايم به زعم خودم به خوبي تمام شد. 21 خرداد كلاس رفع اشكال خواهم داشت.
ساعت 12-10 رفع اشكال درس برنامه نويسي پيشرفته، گروه 87
ساعت 15-13 رفع اشكال درس برنامه نويسي پيشرفته، گروه 88
ساعت 17-15 رفع اشكال درس پايگاه داده، هر دو گروه


۱۳۸۸ خرداد ۱۱, دوشنبه

قابل توجه دانشجويان درس پايگاه داده، گروه 40661-197



مطالب مربوط به كار عملي با SQL Server در جلسه روز شنبه 16/03/88 ارائه خواهد شد.
آقاي بيرانوند، لطفا ارائه خود را به جاي چهارشنبه 13/03/88 در روز شنبه 16/03/88 انجام دهيد.

ساعات تشكيل كلاس هاي فوق العاده


ساعت كلاس هاي فوق العاده به صورت زير است:

16/03/88 ساعت 10-8 : پايگاه داده، گروه 40661-197
16/03/88 ساعت 12-10: پايگاه داده، گروه 40661-68
16/03/88 ساعت 15-13: پايگاه داده، گروه 40661-197
16/03/88 ساعت 17-15: پايگاه داده، گروه 40661-68
16/03/88 ساعت 19-17: برنامه نويسي پيشرفته، گروه 40647-87
16/03/88 ساعت 21-19: برنامه نويسي پيشرفته، گروه 40647-88

17/03/88 ساعت 10-8 : برنامه نويسي پيشرفته، گروه 40647-87
17/03/88 ساعت 12-10: برنامه نويسي پيشرفته، رنگ متنگروه 40647-88
17/03/88 ساعت 15-13: برنامه نويسي پيشرفته، گروه 40647-87
17/03/88 ساعت 17-15: برنامه نويسي پيشرفته، گروه 40647-88


۱۳۸۸ خرداد ۹, شنبه

قابل توجه دانشجويان درس برنامه نويسي پيشرفته و درس پايگاه داده


كلاس فوق العاده در روزهاي 16 و 17 خرداد ماه خواهد بود. برنامه زمانبندي كلاس از طريق همين سايت اعلام خواهد شد.


۱۳۸۸ اردیبهشت ۲۶, شنبه

پروژه درس برنامه نويسي پيشرفته


گروه پنچ شنبه 10-8 و گروه پنج شنبه 15-13:

يك فروشگاه لوازم التحرير قصد نگهداري اطلاعات اجناس خود را دارد. كلاس‌هاي لازم را طراحي كنيد.

حتما از كلاس ها و ارث بري استفاده كنيد. حداقل 6 كلاس بايد تعريف كرده باشيد و حداقل 3 سطح ارث بري بايد داشته باشيد (يعني كلاس‌هايي داشته باشيد كه كلاس پايه غيرمستقيم داشته باشند).
عملگرها را به‌گونه اي سربارگذاري كنيد كه:
اگر دو كالا را با هم جمع يا از هم كم كنيم، تعداد آنها با هم جمع شده از هم كم شود. عملگر ++ به تعداد كالا يكي اضافه كرده و عملگر -- يكي از تعداد كالا كم كند.
در مقايسه دو كالا تعداد آنها با هم مقايسه شود.
خودتان مفهمومي را براي عملگر پرانتز در نظر بگيريد و آن را نيز انجام دهيد!!
اگر به دلخواه عملگرهاي ديگري را نيز سربارگذاري كنيد نمره مثبت خواهد داشت (مفهوم درستي را براي سربارگذاري عملگرها در نظر بگيريد).
اطلاعات بايد در فايل نگهداري شود.
نحوه كد نويسي و رعايت قوانين مهندسي نرم افزار مهم است.
برنامه حتما بايد از اشاره گر ها استفاده كند.
توجه: آخرين مهلت ارسال به ايميل: 88/03/09

آغاز


هوالعليم

با توجه به فاصله فيزيكي بين قوچان و مشهد، براي ارتباط بيشتر، كاراتر و موثرتر، ميان دانشجويان و من، از تكنولوژي استفاده مي كنيم.
هدف از اين وبلاگ برقراري ارتباطي موثر با دانشجويان دانشكده فني و مهندسي قوچان، در زمينه هاي دروسي كه من تدريس مي كنم، مي باشد.