Tag Archives: مصاحبه کنکور

مصاحبه با استاد رضوانی پیرامون درس برنامه سازی C و ++C

  سوابق آموزشی، شغلی خود را در زمینه کنکور کاردانی به کارشناسی بفرمایید. من در زمینه کنکور حدود 4 سال است که کارم را به صورت جدی شروع کردم ولی قبل از آن هم در مقاطع پایینتر مشغول بودم. کلاً اگر بخواهیم جمع بندی کنیم 10 سالی هست که در این کار هستیم اما در آموزشگاه های تهران اگر بخواهم بگویم، الان سومین سال همکاریم با آموزشگاه کاوشگران است، دومین سال همکاریم با آموزشگاه ماهان است و در آموزشگاه سیمیا هم پارسال یک همکاری کوچکی داشتم که حالا به دلایلی از آنجا جدا شدم و کلاً در شهر تهران ما در این دو آموزشگاه به طور خیلی گسترده مشغولیم.   جزوات و کتابهایتان را لطفاً برای این درس معرفی بفرمایید. برای این درس ما یک جزوه با آقای مقسمی به صورت اشتراکی داریم که اسم جزوه هست جزوه طلایی درس ++C. آن را به صورت اشتراکی تالیف کردیم و خودم هم یک کتابی را در سال 82 چاپ کردم در انتشارات نص؛ آن البته فقط C است، سال 85 هم چاپ 2 شده. ما از روی آن کتاب درس می دهیم و از آن جزوه ها درس می دهیم. مدیر موسسه ماهان موافقت کرده که جزوه طلایی بیاید آنجا تدریس بشود منتها اجازه تکثیرش را غیر از افرادی که اینجا درس دارند، نداریم.   بنابراین در موسسات کاوشگران و ماهان از روی جزوه طلایی تدریس می کنید که در هر دو موسسه فروش آزاد ندارد. درست است؟ بله.   رفرنسهای اصلی این درس را به تفکیک کنکورهای سراسری، آزاد و علمی کاربردی لطفاً بفرمایید. تا آنجایی که من می دانم این درس از سرفصلهای مهمش تست طراحی می شود که همه می دانند چی است و باز هم کتاب خاصی برایش مطرح نیست. تستهای تالیف شده این درس معمولاً طراحی شده است یعنی خود طراحان طراحی می کنند. کمتر پیش آمده که بروند یک تست را عیناً از جایی کپی بکنند اما کتاب آقای هربرت شیلد یکی از کتابهای مهم است که در این زمینه دیدند که تستهایی از مطالبش آمده. کتاب آقای جعفرنژاد هم بد نیست و خلاصه این کتابها در کتاب آقای مقسمی جمع شده.   مطالعه این رفرنسهای اصلی را شما پیشنهاد می کنید؟ من به جای مطالعه این رفرنسها پیشنهاد می کنم که دانشجویان اول جزوات طلایی را کامل بخوانند بعد بروند کتاب 30 آزمون را که آقای عادلی نیا و آقای مقسمی نوشتند، تستهایش را بزنند. در درجه بعدی برای داوطلبانی که خیلی می خواهند عالی بزنند، این کتابی که ما نوشتیم برای انتشارات نص که فقط C هست این را هم می توانند بزنند.   در مورد اهمیت این درس در قبولی داوطلبان کنکورهای رسمی (سراسری، آزاد، علمی کاربردی) بفرمایید؟ درس برنامه سازی در تمام کنکورهایی که در آزاد و دولتی برگزار می شود، ضریب 4 دارد یعنی بالاترین ضریب 5 است که برای ذخیره، سیستم عامل و ساختمان داده است، این ضریب 4 دارد یعنی درسی است که از اهمیت نسبتاً می شود گفت بالایی برخوردار است اگر اهمیت فول را 100 درصد بگیریم این 90 درصد اهمیت را دارد و از درسهای تاثیرگذار است لذا دانشجویان باید واقعاً روی این درس باید یک سرمایه گذاری خاصی داشته باشند.   برای یادگیری کامل این زبانهای برنامه سازی چه راهکارهایی را توصیه می کنید؟ یادگیری به منظور کنکور یا کار عملی؟   برای کنکور. برای یادگیری کاملش اولین مساله این است که در کلاس استاد حضور داشته باشند یا اگر به صورت خودآموز در منزل دارند مطالعه می کنند، ما جزوات را طوری نوشتیم که برای کسانی که در منزل هم مطالعه می کنند، قابل استفاده است. کافی است جزوه را کامل مطالعه کنند با مثالهایی که زده شده بعد در انتهای هر SubSection یا هر فصل گفتیم حالا تستهای فلان تا فلان را بزنید. با این روش می توانند در واقع اگر جزوه طلایی را تمام بکنند، بگویند که ما C را یاد گرفتیم با نکاتش اما برای تستهای عمیقتر و بیشتر می توانند آن کتاب 30 آزمون را بزنند.   شما توصیه می کنید که داوطلبان چه میزانی از زمان مطالعه این درس را به یادگیری مباحث و چه میزانی را به تست زدن اختصاص بدهند؟ نظر من و آن چیزی که همیشه در کلاسها تدریس کردم و روند من این را نشان داده این است که من اهمیت زدن تست را کمتر از اهمیت یادگیری خود نکات نمی دانم به دلیل اینکه درس برنامه سازی بسیار نکات ریز و درشت دارد و از درسهایی است که خیلی حفظ کردنی است بعضی از نکته هایش؛ این که تا شما تست نزنید این نکته ها ملکه ذهنتان نمی شود؛ بنابراین من توصیه ام این است که دانشجویان از تایم خودشان 30 درصد را برای یادگیری بگذارند در هر وعده ای که کار می کنند 70 درصد را به زدن تست مشغول بشوند. خیلی مهم است تست زدن؛ بسیار مهم است.   به منظور اینکه داوطلبان بتوانند از زمان مطالعه این درس استفاده بهینه بکنند شما پیشنهاد می کنید که چه میزان از زمانشان را صرف مطالعه زبانهای C و C++ و چه میزانی را صرف مطالعه زبان VB بکنند؟ جواب این سوال با توجه کردن به تعداد سوالات این درسها خود به خود بدست می آید. شما 15 تا سوال برنامه سازی دارید که 10 تای آن C و ++C است و 5 تای آن Visual Basic؛ بنابراین مشخص است که حداقل باید 65 درصد وقت، 66 درصد وقت که می شود دو سوم به درس برنامه سازی C و C++ اختصاص پیدا بکند چون 10 تا از 15 سوال می شود 66 درصد اما با توجه به اینکه سوالات VB در 2 سال اخیر یک جوری طراحی شده که واقعاً بعضی وقتها کنکوری نبوده و بیشتر سوالات را برای کسانی که حرفه ای تر VB هستند، در واقع از آن دیدگاه طراحی شده، بچه ها اکثراً سوئیچ می کنند روی C و ++C و بعضاً Visual Basic را نمی خوانند اما C و  C++  را عمیق می خوانند منتها من همیشه پیشنهادم این است که اگر دانشجویان وقت دارند به جای اینکه مثلاً وقت بگذارند روی یک درسی مثل فرض بکنید زبان فنی، بیایند آن 5 سوال VB را حداقل در حد تعریف و متغیرها و آن دستورات بخوانند. حالا دستورات محیطی اش را کار نداشته باشند ولی آن دستورات ساخت یافته خود VB را برای کدنویسیش را بخوانند. حداقل می توانند آن وقت بگویند ما از آن 5 تا سوال هم شاید بتوانیم روی 2 تای آن قطعاً حساب کنیم؛ ذخیره خوبی می شود.   یکی از سوالات داوطلبان این است که با توجه به اینکه سوالات برنامه سازی 87 به جز سوالات VB از  C++ طرح شده، شما احتمال حذف سوالات زبان C  )مانند دستورات ورودی/خروجی) را از کنکور سراسری 88 می دهید؟ یکی از اشتباهاتی که خیلیها می کنند یک اشتباه لفظی است البته؛ یک اشتباه در لفظ است و خیلی از دانشجویان همین سوال را از من می پرسند. می گویند سوالات C++ بوده و دیگر C نمی آید. اشتباه اینجاست؛ همان سوالات C++ را شما نگاه کنید خیلیهایش آمده سوال را از کجا مطرح کرده، C منتها به جای Printf، Scanf دستورات Cin، Cout داده؛ من شخصاً آن سوالات را جزء C++ محسوب نمی کنم. من فقط سوالاتی که مال کلاس و مبحث ارث بری هست، آنها را می گویم سوالات C++؛ بنابراین هیچ وقت درس C از کنکور حذف نشده و نخواهد شد. C یک زبان فنی است و چون زبانهای خیلی مهم دنیای فنی کامپیوتر مثل Java براساس C++ نوشته شدند، با آن دیدگاه نوشته شدند، هیچ گاه حذف C از کنکور انجام نخواهد شد برعکس من فکر می کنم که این کار منطقی نیست که آورند Visual Basic در کنکور چون Visual Basic یک زبان حرفه ای و یک زبان کاربردی است؛ یک زبان Applicationی است. درست نیست که ما آن را بیاوریم در کنکور.   در مورد تفاوتهای زبانهای C و C++ بفرمایید. من فکر می کنم در سوال قبلی قسمت زیادی از جواب این سوال را دادم ولی در کل دوباره تکرار می کنم که زبان C یک فرمت خاصی برای خودش دارد و زبان C++ همان زبان C است منتها مفاهیم Object Oriented یا همان شی گرا به آن اضافه شده مثل مفاهیم کلاس، ارث بری و Virtual Function ها و غیره. بنابراین می شود گفت ++C در درون خودش C را هم دارد.   یکی از سوالات داوطلبان این است که Syntax دستورات مختلف را به دلیل مشابهتشان فراموش می کنند. توصیه شما چیست؟ بله این اشکال هم در پاسکال رخ می دهد و هم در Visual Basic یعنی در کنکور آزاد پاسکال با دستورات C بعضاً اشتباه می شود و در کنکور دولتی Visual Basic با C. به طور مثال علامت انتساب در زبان C شبیه علامت مساوی در زبان Visual Basic است و الی آخر. من تنها چیزی که می توانم بگویم این است که چون این شباهتها تعدادش می شود گفت از انگشتان دست هم تجاوز نمی کند بنابراین کافی است که این شباهتها را فقط یک جا یادداشت کنند که البته من توی خود کلاسها به بچه ها می گویم و به آنها توجه کنند. همین کفایت می کند؛ آنقدر زیاد نیست که بگوییم دردسرساز می شود. بیشتر در علامت انتساب بوده. انتساب خیلی مشکل انداخته بچه ها را.   بیشتر منظورشان شباهت Syntaxهای دستورات هر زبان است مثلاً تفاوت تعداد آرگومانهای توابع رشته ای و … . بله، ببینید این تنها راهش این است که ما در کلاسها می گوییم ولی توابع رشته ای خیلی عجیب و غریب و خیلی کم کاربرد را نه خوب است که طراحان در کنکور بدهند که تا حالا هم ندادند واقعاً این کار را؛ مثلاً در مورد توابع رشته ای که فرمودید ما در کنکور فقط StrCpy را تا حالا داشتیم، StrLen را داشتیم و Strcmp را داشتیم(مقایسه رشته ها). توابع خیلی مهجور و عجیب و غریب را نداشتیم. بنابراین لزومی به آن صورت نیست. این فکر نمی کنم این معضل اصلی بچه ها باشد.   برای جلوگیری از فراموشی مطالب برای داوطلبان چه توصیه ای دارید؟ من توصیه ام این است که داوطلبان دو تا فاز برای مطالعه درس برنامه سازی داشته باشند مثل کلاسهایی که ما برگزار می کنیم. در فاز اول که معمولاً دو سه ماه قبل از کنکور باید تمام شده باشد این فاز، یادگیری نکات برنامه سازی هست حالا از دیدگاه C من بحث می کنم یعنی دیگر نکته ای نماند و تستی نماند که داوطلبان اینها را نزده باشند اما به علت فرار بودن درس C توصیه من این است که حالا در حدود 20 روز مانده به کنکور یک فازی را بگذارند به اسم فاز یادآوری مطالب از یاد رفته یا مثلاً می شود گفت یک خانه تکانی بکنند در ذهنشان. تستهایی را بزنند که در فاز اول علامت گذاشتند که این تستها یک جور مطالب حفظی حساب می شود. با این کار معمولاً اگر سعی کنند در دو هفته آخر، 20 روز آخر کنکور این تستها را بزنند معمولاً تستها یادشان می آید.   طبق گفته داوطلبان یکی از مشکلاتشان این است که بعد از مطالعه نکات هر مبحث مانند حلقه ها، دستورات شرطی و … تستهای همان مبحث را به خوبی می زنند ولی در حل تستهای ترکیبی که از نکات مختلف دستورات طرح می شوند، به دلیل بی دقتی و یا اینکه نمی توانند نکات همه آنها را به ذهن بیاورند، قادر به پاسخگویی صحیح به این تستها نیستند. توصیه شما در این باره چیست؟ علت اصلی این، این است که داوطلب در هر فصلی که داشته مطالب آن فصل را می خوانده تستهای کافی نزده؛ یعنی احاطه ندارد هنوز به مطلب وگرنه کسی که به مطلب احاطه داشته باشد حالا شما بیایید تست ترکیبی هم طرح بکنید حتماً می تواند حل بکند؛ صددرصد. ممکن است حالا تایم بیشتری بگیرد حل تست ترکیبی چون باید یک ذره فکر بکنی و نکات فصلهای مختلف را یادت بیاید ولی این فقط علتش این است که شما در هر فصل وقت کافی برای فهم همه نکات آن فصل نگذاشتید.   یک مورد دیگر این است که داوطلبان در حل تستهای برنامه نویسی زمانی که گزینه ای مانند “خطا” می بینند دچار شک می شوند که آیا تست خطا دارد یا تست را حل کنند. شما توجه به گزینه “خطا” را چه زمانی پیشنهاد می کنید؟ بله این سوال را ما زیاد در کلاس به آن می پردازیم در آموزشگاه. معمولاً در تستهایی که تا حالا بوده منظور از کلمه خطا، خطای کامپایلر است مثلاً در کنکور دولتی 87 هم ما تستهایی داشتیم که پرسیده بودند کدام خط ها خطا دارند یا ندارند یا گزینه 4 خطا. هر وقت این چنین کلمه ای دیده شد منظور از خطا به حالت پیش فرض خطای کامپایلر است مگر اینکه در گزینه ها جدا کرده باشد گفته باشد خطای کامپایل و خطای مفهومی؛ بنابراین ما همیشه پیش فرض خطا را می گوییم خطای کامپایل.   علیرغم اینکه میزان مطالعه هر داوطلب می تواند کاملاً متفاوت از سایر داوطلبان باشد، به این منظور که داوطلبانی که هدفشان قبولی در دانشگاه های معتبر سراسری (فقط روزانه و شبانه) هست، حدوداً بدانند چه میزان ساعتی در هفته برای این درس اختصاص بدهند تا بتوانند درصد مناسبی کسب کنند، چه توصیه ای دارید؟ تجربه ای که ما داشتیم ما معمولاً کلاسهایمان در هفته 3 ساعت است منتها به بچه ها همیشه می گوییم که در منزل هم باید دو برابر همین زمان را هم به زدن تست اختصاص بدهند. بنابراین یک چیزی حدود 6 ساعت در هفته یا 7 ساعت در هفته اگر شما حساب بکنید می شود روزی 1 ساعت. روزی 1 ساعت حداکثر؛ برای برنامه سازی برای تست زدن اختصاص بدهند.   روزی یک ساعت برای زمان چند ماهه؟ اینکه من می گویم روزی 1 ساعت در آن فاز اولی که گفتم فاز یادگیری است که دو سه ماه قبل از کنکور باید تمام شده باشد. توی آن فاز دوم که 20 روز مانده به کنکور شروع می شود که شما فقط تست می زنید. بنابراین در فاز دوم این زمان می تواند کمتر بشود چون دیگر تستها الان برای شما به چشمتان آشنا است حدود مثلاً 45 دقیقه.   در مقابل، برای داوطلبانی که هدفشان صرف قبولی است و برایشان شهر یا دانشگاه محل قبولی تفاوتی نمی کند، شما پیشنهاد می کنید چه مباحثی را بخوانند تا طبق بودجه بندی سالهای گذشته بتوانند یک درصد حداقلی را کسب کنند؟ درست است؛ از اصلیترین مباحثی که می توانم از درس C به آن اشاره کنم، مباحث زیر هستند(به ترتیب جزوات خودمان دارم می گویم): 1 – عملگرها 2 – حلقه ها 3 – دستورات کنترلی 4 – اشاره گرها و توابع 4 فصل از 8 فصل. این 4 فصل، فصلهای بسیار کلیدی اند یعنی شما اگر نگاه کنید توی تقریباً 90 درصد به بالای سوالات اثر و ردپای این 4 فصل هست و توی درس Object Oriented و C++ هم روی این مفاهیم باید تکیه بکنند: 1 – آموزش کلاس و شی 2 – ارث بری 3 – دستورات I/O   یکی از سوالات داوطلبان این است که امکانش هست این درس را سفید بگذارند و با بالا زدن دروس تخصصی دیگر جبران کنند؟ البته روی کاغذ قابل جبران است همین جوری که حساب می کنید تئوریک ولی عملاً با توجه طراحی دروس ضریب 5 این کار، کار درستی نیست یعنی عملاً بچه ها معمولاً می گویند که ما درس برنامه سازی راحتتر تست می زنیم تا مثلاً در درسهای دیگر که ضریب 5 هستند. این کار در برنامه سازی کار درستی نیست.   در پایان اگر نکته خاصی برای کسب درصد عالی در زبان تخصصی هست بفرمایید. من فقط در پایان به این اشاره بکنم که برای قبولی در کنکور باید تمامی دروس را داوطلب به یک اندازه به آن اهمیت داده بشود وگرنه همان اتفاقی می افتد که در سال 86 برای بعضیها افتاد. در سال 86 که بعضی از داوطلبان دروسی را کنار گذاشته بودند و مثلاً برنامه سازی را خوانده بودند، به علت اینکه اعلام نشده بود C++ در کنکور می آید و Visual Basic، عملاً ما دیدیم که بچه ها ماکزیمم درصدی که در برنامه سازی زدند، آنهایی که خیلی تاپ بودند، 25 درصد زده بودند یا 30 درصد؛ بنابراین هیچ وقت نباید درسی را کنار گذاشت. تا آنجایی که می شود سعی کنند درسی را کلاً نگذارند کنار

Read More »