Tag Archives: درس برنامه سازی

مصاحبه با استاد یوسفی پیرامون درس برنامه سازی در کنکور کاردانی به کارشناسی

  سوابق آموزشی، شغلی خود را در زمینه کنکور کاردانی به کارشناسی بفرمایید. از سال 78 دانشگاه صنعتی شریف، دانشگاه علم و صنعت، دانشگاه شریعتی، صدرا، موسسات پوران پژوهش و نصیر و جهاد دانشگاهی و کاوشگران هستم. حدود 10 سال است. مشهد و رشت و کرمانشاه و همه جا می روم.   در موسسه کاوشگران از روی جزوه طلایی تالیف استاد رضوانی و استاد مقسمی تدریس می کنید؟ نه جزوه درسی خودم است که هنوز نوشته نشده است، کتاب نیست. کتاب خودم بوده ولی تغییرات دادم که به صورت جزوه دادم. از روی جزوه طلایی نیست.   چه کتابی را در حال حاضر به داوطلبان توصیه می کنید؟ تنها کتابی که به نظرم می شود به آن اعتماد کرد جزوه پارسه است تا یک حدودی و کتاب مقسمی. کتابهای دیگر در این زمینه خوب نیستند.   رفرنسهای اصلی زبانهای برنامه نویسی C و C++ را به تفکیک کنکورها معرفی بفرمایید. برای کنکور دولتی کتاب C++ دیتل و برای کنکور آزاد جعفرنژاد و مقسمی. برای پاسکال هم کتاب کافمن و پاسکال مقسمی؛ کتاب خودم هم هست که فعلاً دیگر تجدید چاپ نشد تا بگذاریم برای چاپ بعدی. برای VB هم اصلاً هیچ گونه توصیه ای نمی کنم به بچه ها که بخوانند. درسی نیست که بشود با آن راحت کنار آمد. انشا… که دیگر نمی آید!   پیشنهاد می کنید داوطلبانی که چقدر فرصت دارند رفرنسهای اصلی که نام بردید را مطالعه کنند؟ اصولاً این کار را پیشنهاد می کنید؟ فکر نمی کنم فرصت بشود در وقت 4-3 ماهه کنکور کتابها را مطالعه کرد. ترجیحاً همان کتابهای کنکوری یا جزوات کنکوری مطالعه شود، کافی است. همان کتاب مقسمی یا کتاب خودم یا جزوه خودم یا کتاب پارسه به همراه تستهای کنکورها تا الان برای کنکور کافی است و بیشتر از این لازم نیست.   در مورد اهمیت درس برنامه نویسی در قبولی داوطلبان کنکورهای رسمی (سراسری، آزاد، علمی کاربردی) توضیحات لازم را بفرمایید. در درس برنامه نویسی چون معمولاً بچه ها خیلی درصد پایینی می زنند، بچه هایی که در این درس موفق باشند و بالا بزنند درصدشان خیلی بالا می رود. ضریبش هم 4 است یعنی می توانم بگویم مثل مدار منطقی از آن درسهایی است که تراز را خیلی خیلی جابچا می کند. از این نظر درس خیلی مهمی است. متاسفانه در کنکور دولتی تستهای خیلی معقولی نمی آید ولی در کنکور آزاد می شود روی آن حساب کرد. در کنکور آزاد می شود درصدهای خیلی بالایی زد ولی در کنکور دولتی نه، خیلی دقت می خواهد که بچه ها هم تقریباً دقت ندارند و درصدها خیلی پایین می آید.   با توجه به اینکه سوالات برنامه نویسی کنکور سراسری سال قبل از C++بوده، شما پیشنهاد می کنید داوطلبان مباحثی از C مانند دستورات I/O مثل Printfرا که باC++ متفاوت است مطالعه نکنند؟ نه اینکه کامل مطالعه نکنند در حد تعاریف اولیه بلد باشند یعنی فرمت Printf و Scanf را بدانند ولی اصلاً دنبال نکات ریزش نروند. شاید در حد نصف صفحه Printf و نصف صفحه Scanf کافی است. نکات بیشتر از آن را توصیه نمی کنم و خودم هم به آن شدت درس نمی دهم. توصیه هم می کنم کسی نخواند بیشتر گیج کننده است. چون مطمئنم تست دیگر به آن شکل نمی آید.   زبانهای برنامه نویسی C وسی پلاس پلاسبه چه میزان با هم متفاوت هستند و در چه دستوراتی؟ C در واقع بیس سی پلاس پلاساست و نمی شود از هم جدا کرد؛C++   شامل همه مباحث C هست اما در چند تا بحثش با هم تفاوت دارند مثل فایلها یا همان ورودی-خروجی تفاوت دارند؛ یکسری مباحث هم هست که اضافه شده است به C++ مثل سربارگذاری توابع، سربارگذاری عملگرها و یکسری نکات در بخشهای مختلف و کلاً بحث کلاس و شی و وراثت. جدا از هم نیستند. C++ شامل C است با یکسری مباحث اضافی.   یکی از مشکلات داوطلبان برای این درس فراموش کردن Syntax ها است (برای مثال فراموش کردن جزئیات توابع رشته ای)، پیشنهاد می کنید در کنکور سراسری این قدر به Syntaxهای مختلف توجه باشد؟ Syntax ها را بهتر است با مثال یاد بگیرند خیلی توصیه نمی شود که Syntaxها را بشینند حفظ کنند؛ با چند مثال؛ مثالها را ملکه ذهنشان کنند با مثال می شود Syntax ها را خوب یاد گرفت. من خودم برای هر دستوری اصلاً فرمت را نمی گویم، یک مثال می زنم همان یک مثال اگر بشیند در ذهن دانشجوها کافی است.   برای یادگیری کامل این درس چه روشی را توصیه می کنید؟ این درس یک زمینه دانشگاهی که می خواهد که معمولاً بچه ها ندارند ولی خوشبختانه در کنکورهای ما خیلی برنامه نویسی سوال نمی دهند بیشتر نکته ای است؛ یعنی همین جزواتی که سر کلاسها گفته می شود، بتوانند یاد بگیرند برای کنکور کافی است. اگر زمینه هم نداشته باشند، با همین نکاتی که گفته می شود می توانند موفق بشوند بعد هم توصیه می شود جزواتی که سر کلاسهای کنکور گفته می شود را بخوانند یا کلاسها را بیایند. این بهترین توصیه است. یعنی اگر دانشگاه هم چیزی نخوانند اشکالی ندارد خیلی تاثیری در کنکور ندارد.   برای جلوگیری از فراموش کردن نکات برنامه نویسی خصوصاً در فاز مرور چه توصیه هایی برای داوطلبان دارید؟ این درس و درس ذخیره و بازیابی چندین بار مطالعه می خواهد یعنی 3 یا 4 بار حتماً بخوانند و سعی کنند مفهومی بخوانند؛ با یکبار دوبار خواندن مسلماً فراموشی حاصل خواهد شد. توصیه خاصی ندارم فقط چند بار بخوانند چون کار خاصی نمی شود کرد. تعدادی از داوطلبان بعد از یادگیری هر مبحث تستهای همان مبحث را به خوبی حل می کنند (مانند دستورات شرطی، حلقه) ولی قادر به حل تستهایی از کنکور که ترکیبی از نکات دستورات مختلف هست (مثلاً داخل توابع از مباحث اشاره گر و رشته و حلقه با هم مطرح می شود)، نیستند؛ توصیه های لازم را بفرمایید   شاید راه حلش فقط تست زدن بیشتر باشد؛ راه حل خاصی ندارد. شاید دانشجویان آن مباحثی را که گفتید احتمالاً خوب، با دقت و کافی یاد نگرفته اند. اگر چندین بار بار مطالعه شود و با دقت مطالعه شود فکر نمی کنم مشکلی باشد. راه حلش فقط تست زدن است؛ در تست زدن حالا به غیر از کتابهایی که هست کتابهای 30 آزمون کاوشگران هم خوب است؛ برای درس ++C خوب است و به بچه ها کمک می کند.   تعدادی از داوطلبان در حل تستهایی که گزینه ای مانند “خطا” دارند، دچار تردید می شوند؛ شما پیشنهاد می کنید چه زمانی به این گزینه ها توجه کنند؟ معمولاً در کنکورهای دولتی و علمی کاربردی معمولاً 1 تست یا حداکثر 2 تست بیشتر نیست؛ چون منظورش خطا است معمولاً یکی؛ به نظر من خیلی به گزینه خطا توجه نکنند و بیشتر سعی کنند به جواب برسند.   با توجه به جوابهای تستهای کنکورهای گذشته در این باره، Erorr هایی که مدنظر طراح بوده بیشتر از نوع خطاهای کامپایل، اجرا یا منطقی بوده است؟ بیشتر Erorrها کامپایلری است. ولی چون معمولاً خطاهای تایپی هم در گزینه ها خیلی زیاد است، خب طراح نمی تواند منظورش را درست برساند. خیلی از تستها اصلاً اشکال کامپایلری دارند، سمی کالن کم دارند، نقطه ندارند و … . به نظر من اصلاً طراح نباید این چنین تستهایی را مطرح کند که بخواهد خطا را از دانشجویان بگیرد ولی باز هم می گویم دانشجویان خیلی به فکر گزینه ای که Erorr گفته، نباشند؛ سعی کنند به جواب برسند.   برای داوطلبانی که هدفشان قبولی در کنکور سراسری دوره های روزانه و شبانه هست، هر چند که مشخص کردن یک میزان ساعات مشخص برای همه داوطلبان کار دقیقی نیست ولیکن برای داوطلبانی که آشنایی ندارند، برای اینکه یک معیار کلی داشته باشند، پیشنهاد می کنید حدوداً چه میزان ساعاتی در هفته برای برنامه نویسی اختصاص بدهند؟ به قول شما ساعت دقیقی نمی شود داد؛ به بیس بچه ها بستگی دارد ولی مثل درسهای دیگر مثلاً در هفته شاید 2 جلسه 4 ساعته.   این تایم برای فرصت چند ماهه است؟ 3 ماه هفته ای 2 جلسه 4 ساعته فکر می کنم برای C و C++ خوب باشد.   از طرف دیگر، داوطلبانی که هدفشان به دلایل مختلف (مانند ترخیص از خدمت سربازی) فقط قبولی است (برای مثال غیرانتفایی های شهرستان در کنکور سراسری یا دانشگاه های تراز پایین در کنکور آزاد)، توصیه می کنید برای کسب درصد حداقل چه مباحثی که طبق بودجه بندی سالهای گذشته تستهای بیشتری از آن طرح شده، درعین سادگی و اینکه مستقل مباحث دیگر باشند، را برای مطالعه توصیه می کنید؟ از مباحثی که همیشه سوال می آید: نکات ورودی-خروجی، عملگرهای C است که حتماً سوال می آید و اشاره گرهای C است؛ اینها حتماً سوال می آید. بحث کلاس و شی را نمی توانم توصیه کنم به بچه هایی که می خواهند با این هدف بروند دانشگاه بخوانند چون درکش خیلی ساده نیست و تستهایش هم خیلی راحت نیست. ولی اگر می خواهند در حد حداقل تست بزنند، همان مباحث C را بخوانند کافی است به علاوه ورودی-خروجی.   یکی از سوالات داوطلبان این است که می توانند درس برنامه نویسی را سفید بگذارند و با بالا زدن دروس تخصصی دیگر درصد این درس را جبران کنند؟ به نظر من این درس جبران پذیر نیست؛ چون یک درسی است که مستقل ترازگیری می شود ولی از آنجایی که اکثر بچه ها پایین می زنند، خیلی ضربه نمی زند. نه اینکه بگویم سفید بگذارند ولی مثل درس مدار منطقی نیست؛ مدار منطقی چون الان اکثراً بچه ها دارند خوب می زنند، کسی که سفید بگذارد خیلی ضربه می خورد ولی برنامه نویسی خیلی نه.   برای برنامه نویسی شما پیشنهاد می کنید داوطلبان چه درصدی از زمان مطالعه این درس را به یادگیری نکات و چه درصدی را به تست زدن اختصاص بدهند؟ یادگیری نکات هم اگر در تستها حاصل شود خیلی بهتر است. این درس از آن درسهایی است که دانشجو باید بیشتر تست بزند؛ هم تستهای کنکور و هم تستهای تالیفی. خود نکات را هم در تستها یاد بگیرد چون همین جوری بخواهد حفظ کند، فراموش می شود. بهترین کار تست زنی است هر چه بیشتر بهتر. درس را که یکبار گرفتند کافی است و بروند سراغ تست؛ چون نکته را می خوانند شابد آن لحظه خیلی به آن عمیق نشوند و وقتی در تست می آید آن موقع درست است؛ می فهمند که آن نکته در کجا دارد استفاده می شود. درس یکبار بعد تست.   از میزان ساعاتی که برای این درس در نظر می گیرند، توصیه می کنید چند درصد از تایمشان را به C وC++ و چند درصد به VB (با توجه به اینکه تعداد تستهای VB کنکورهای گذشته محدود است و نمی توان گفت چه مباحثی مهمتر هستند) اختصاص بدهند؟ توصیه خاصی برای VB ندارم. خیلی درس گسترده ای است و در این دو سال هم خوب نتوانستیم نتیجه بگیریم که چطوری سوال می آید. کلاً 10 تا تست داریم و خیلی هم متفاوت. توصیه خاصی برای VB ندارم.   داوطلبان تمرکزشان را روی C و C++ بگذارند؟ بیشتر روی C و   C++ ؛ اگر هم VB خواندند زیاد به آن امیدوار نباشند. مثلاً اینکه از تستهای پارسال نتیجه بگیرند که مثلاً در حد کتاب هنرستان؛ کتاب را یک مطالعه ای بکنند فقط مطالعه ولی خیلی به آن امیدوار نباشند.   کتابهای هنرستان مباحث را پوشش می دهد؟ بله؛ پارسال که اینطور بود پوشش می داد؛ باز امسال هم انشا… پوشش بدهد چون بیشتر از این نمی شود دنبالش رفت.   با توجه به نحوه طراحی تستهای برنامه نویسی اگر داوطلبان بین دو گزینه 50 – 50 شک داشته باشند، شما پیشنهاد می کنید یک گزینه را انتخاب کنند؟ من قطعاً می گویم یکی را بزنند در همه درسها اگر واقعاً بین دو گزینه است حتماً یکی را انتخاب کنند صد درصد. از نظر احتمالی هم خوب بهتر است.   با تشکر از راهنماییهای ارزشمند شما، اگر توصیه دیگری برای داوطلبان دارید بفرمایید. توصیه خاصی نیست فقط این که کنکور کاردانی به کارشناسی کل کنکورش کنکور بسیار بسیار پیش پا افتاده است و توصیه ام این است که بچه ها خیلی سخت نبینند این کنکور را و قبولیش هم از سایر کنکورها خیلی راحتتره چون پذیرش ها الان بالاتر رفته؛ خیلی راحت اگر کسی واقعاً یکم معقول وقت بگذارد صد در صد نتیجه می گیرد صد در صد. مثل کنکور ارشد نیست که مشخص نیست واقعاً وقت بگذاری نتیجه بگیری یا نه. در کنکور کاردانی همه وقت هر کس وقت بگذارد حتماً قبول است.

Read More »