| مدرس: محمدحسین فرحناکیان | پیشنیاز: برنامهسازی پایتون |
| ترم: تابستان ۱۴۰۴ | محل برگزاری: کلاس مجازی |
| زمان ارائه: یکشنبه و سهشنبه ۱۶:۰۰ تا ۱۷:۳۰ | مشاهده: دریافت لایسنس |
برنامهسازی شیءگرا با جاوا؛ از مفاهیم پایه تا طراحی و توسعه نرمافزار باکیفیت
برنامهنویسی شیءگرا یکی از رویکردهای اصلی در توسعه نرمافزارهای مدرن است که با سازماندهی برنامه حول کلاسها و اشیاء، به طراحی ساختیافتهتر، توسعهپذیرتر و نگهداری آسانتر نرمافزار کمک میکند. زبان جاوا با پشتیبانی گسترده از مفاهیم شیءگرایی و برخورداری از امکانات متنوع برای توسعه نرمافزار، بستر مناسبی برای یادگیری این رویکرد و آشنایی با اصول طراحی نرمافزار است.
در این درس، ضمن آشنایی با زبان جاوا و مفاهیم اولیه برنامهسازی در آن، بر اصول برنامهنویسی شیءگرا و نحوه بهکارگیری آنها در طراحی و پیادهسازی نرمافزار تمرکز میشود. مفاهیمی مانند کلاس و شیء، لفافبندی، وراثت، چندریختی و واسطها، در کنار مدیریت حافظه، مجموعهها، دادههای عام و مدیریت خطا و استثنا بررسی خواهند شد. همچنین با نمودارهای کلاس UML و تفاوتهای جاوا با برخی زبانهای برنامهنویسی دیگر آشنا میشوید.
بخش مهمی از توسعه نرمافزار، فراتر از نوشتن کدی است که صرفاً کار میکند. به همین دلیل، در این درس موضوعاتی مانند آزمون واحد با JUnit، الگوهای طراحی، بازآرایی کد و اصول نوشتن کد تمیز نیز مورد توجه قرار میگیرند. در ادامه، امکاناتی مانند ورودی و خروجی فایل، برنامهسازی تحت شبکه، برنامهسازی همروند، بازتاب (Reflection) و سایر قابلیتهای زبان جاوا معرفی میشوند تا دید جامعتری از امکانات این زبان به دست آورید.
در پایان این درس چه تواناییهایی کسب میکنید؟
با گذراندن این درس، انتظار میرود بتوانید:
این درس برای دانشجویان و علاقهمندان به برنامهنویسی، بهویژه کسانی که میخواهند از برنامهنویسی مقدماتی به سمت طراحی و توسعه نرمافزارهای ساختیافته حرکت کنند، مناسب است. همچنین برای برنامهنویسانی که با زبانی مانند پایتون آشنا هستند و قصد دارند مفاهیم شیءگرایی را عمیقتر یاد بگیرند یا با زبان جاوا کار کنند، میتواند مفید باشد.
آشنایی مقدماتی با برنامهنویسی و تجربه کار با دستکم یک زبان برنامهنویسی، مانند پایتون، پیشنیاز این درس است. انتظار میرود دانشپذیر با مفاهیم پایهای مانند متغیر، شرط، حلقه، تابع یا متد و آرایه آشنا باشد. آشنایی مقدماتی با روشهای حل مسئله و الگوریتمهایی مانند جستوجو و مرتبسازی نیز مفید است. آشنایی قبلی با زبان جاوا یا برنامهنویسی شیءگرا الزامی نیست؛ مفاهیم اصلی این رویکرد در طول درس معرفی میشوند.