دانستنی‌ها

نمونه‌ای از یک تجربه‌ی موفق در استفاده از زبان جاوا برای آموزش رویکرد شئ‌گرا

یکی از روش های نامناسب که در تدریس زبان‌های برنامه‌سازی مانند آموزش جاوا در برخی از دانشگاه‌ها وجود دارد این است که اصول و قواعد برنامه‌سازی به عنوان مبحث اصلیِ درس آموزش داده می‌شوند و به گام‌های قبل و بعد از برنامه‌نویسی تعداد جلسات محدودی اختصاص داده می‌شود.

 

در نتیجه ی این رویکرد آموزشی نادرست، نداشتن خطاهای نحوی و معنایی به عنوان معیارهای اصلی ارزیابی برنامه ی موفق در ذهن دانشجویان شکل می گیرند. این در حالی است که در تعدادی از دانشگاه ها از همان ترم های آغازین دانشجویان به کارگیری صحیح رویکردهای برنامه نویسیِ موفق را آموزش می بینند و برنامه نویسیِ اصولی را فراتر از نوشتن برنامه ای می دانند که بدون خطا ترجمه شود (نداشتن خطای نحوی) و خروجی مورد نظر را تولید کند (نداشتن خطای معنایی).
در تعدادی از دانشگاه ها، متناسب با اهدافی که آن دانشگاه در ارائه ی یک درس برنامه نویسی دنبال می کند و نیز بازه ی زمانی که به آن درس اختصاص داده می شود، چارچوب هایی طراحی شده اند که دانشجویان می توانند با به کارگیری آن مبانی یک رویکرد موفق برنامه نویسی را تمرین کنند. یکی از رویکردهای مشهور ایجاد نرم افزار، رویکرد شئ گرا (Object-Oriented) است. در این رویکرد، ایجادکنندگان نرم افزار (و از جمله برنامه نویسان) قلمرو مسئله ای که قرار است برای آن نرم افزار طراحی شود را به صورت مجموعه ای از اشیاء مدل می کنند و با تحلیل و تدقیق نمودارهای قلمرو مسئله، نرم افزار را ایجاد می کنند.برگرفته از https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTHhj-L1chSEGX2qddgugJ3r2c0biju1_dC_Ss1lbL8AEGYLnKK
در برخی از دانشگاه های کشور آلمان، یک چارچوب مبتنی بر زبان جاوا برای آموزش رویکرد شئ گرا ایجاد شده است [1]. از جمله نقاط قوتی که می توانند در رابطه با این تجربه ی موفق مورد الگوبرداری قرار گیرند، می توان به این موارد اشاره کرد:
سفارشی بودن: علی رغم اینکه چارچوب های مشابهی در تعدادی از دانشگاه های سایر کشورها مورد استفاده قرار گرفته بودند، این دانشگاه ها چارچوب سفارشی متناسب با اهداف خود را ایجاد کردند و شرایطی مانند تعداد زیاد دانشجویان این درس را در نظر داشته اند.
تکامل مستمر مبتنی بر بازخورد: نسخه ی ابتدایی این چارچوب قابلیت ارضاء تمامی اهداف را نداشته است و در طی ترم های متوالی مبتنی بر بازخورد دانشجویان تکامل یافته است.
قابلیت استفاده برای دانشجویان مبتدی (Novice): این چارچوب در یکی از دروسی که برای دانشجویان ترم های آغازین ارائه می شود، مورد استفاده قرار گرفته است.
پشتیبانی از گام های قبل و بعد از کدزنی: پروژه ی این درس در پنج مرحله ی آشنایی، تحلیل، طراحی و ایجاد نمونه آزمایشی، پیاده سازی و آزمون، و نگهداری تعریف شده است. استفاده از چارچوب مذکور، به محقق سازی اهداف این مراحل کمک می کند.
پشتیبانی از فهم عمیق مباحث درس: دانشجویان این درس این گونه بازخورد داده اند که استفاده از این چارچوب باعث شده است با فهم عمیق مزایای شئ گرایی سعی کنند تا اصول را به درستی به کار برند؛ به عنوان مثال، الگوهای طراحی را شناسایی کنند و کد را به گونه ای تکامل دهند که حتی الإمکان قابلیت استفاده ی مجدد داشته باشد.
پشتیبانی از مهارت های اجتماعی در کنار مهارت های تخصصی: پروژه ی این درس به گونه ای تعریف شده است که دانشجویان بایستی در گروه های چهار تا شش نفره فعالیت داشته باشند و هر یک از دانشجویان باید علاوه بر نقش برنامه نویس، یک نقش دیگر (که برای گام های قبل یا بعد از کدزنی لازم است) را نیز ایفا کنند؛ به عنوان مثال هر تیم باید یک آزمون گر داشته باشد. تشکیل گروه ها و تخصیص مسئولیت ها نیز به عهده ی خود دانشجویان است.
پشتیبانی از پنهان سازی اطلاعات غیر ضروری: با توجه به اینکه دانشجویان، این درس را در ترم های آغازین می گذرانند با برخی از مفاهیمِ ایجاد سیستم های نرم افزاری آشنایی ندارند. به همین دلیل چارچوب ایجادشده امکان استفاده از برخی وظیفه مندی ها را فراهم می کند؛ به عنوان مثال با توجه به اینکه دانشجویان با مفهوم پایگاه داده آشنایی ندارند، این چارچوب لایه ی داده را از دانشجویان پنهان می کند ولی امکان استفاده از آن را فراهم می آورد.

 

منبع:

[1] Zschaler, Steffen, Birgit Demuth, and Lothar Schmitz (2014), “Salespoint: A Java framework for teaching object-oriented software development”, Science of Computer Programming, Vol. 79, pp. 189-203.

 

 

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا