آشنایی با زبان جاوا (۱ جلسه)
تاریخچه
ویژگیهای زبان جاوا
اولین برنامه در جاوا
مفاهیم اولیه برنامهسازی در جاوا (۳ جلسه)
مقدمهای بر طراحی و برنامهسازی شیءگرا (۲ جلسه)
برنامهسازی شیءگرا در جاوا (۶ جلسه)
نحوه تعریف کلاسها
اشیاء در حافظه و مدیریت حافظه
بارگذاری اولیه و مرگ اشیاء در حافظه
زبالهروب (Garbage Collector)
روشهای ارسال پارامتر در زبانهای مختلف و جاوا
سازنده
this
اعضای ایستا
بسته (package)
آشنایی اولیه با نمودار UML Class Diagram
وراثت (۲ جلسه)
مفهوم وراثت
Protected, abstract, super
وراثت چندگانه در سایر زبانها
چندریختی (۱ جلسه)
واسط (interface) (۱ جلسه)
آزمون نرمافزار (۱ جلسه)
مفهوم تضمین کیفیت نرمافزار، اهمیت، جایگاه و مصادیق آن
آزمون واحد
نوشتن آزمون واحد با استفاده از JUnit
چگونگی تست پرتاب استثناء با استفاده از JUnit
مفهوم بدلسازی (Mocking) و مقدمه ای بر یک کتابخانه بدلسازی در جاوا
الگوهای طراحی (۱ جلسه)
تعریف الگوها در مهندسی نرمافزار، جایگاه و اهمیت آنها
الگوهای طراحی GoF و دستهبندی آنها
شرح الگوهای طراحی Singleton، Sate، Strategy، Observer، Fecade
شرح الگوی معماری MVC
بازآرایی کد (Refactoring) (۲ جلسه)
مدیریت خطا و استثنا (۲ جلسه)
دادههای عام (Generics) (۱ جلسه)
مجموعهها و ظرفها (Containers) (2 جلسه)
ساختماندادههای موجود در جاوا
Colections, ArrayList, LinkedList, Set, Map
Iterator
فایل، جویبار و شبکه (۲ جلسه)
برنامهسازی همروند (۱ جلسه)
Reflection (۱ جلسه)
نیاز به RTTI
RTTI در جاوا
کاربردها
مفاهیم پیشرفته و تکمیلی (۱ جلسه)