بر اساس گزارش سایت  pcworlds.com ، اندروید بیش از ۸۴/۷ درصد بازار سیستم عامل تلفن‌های هوشمند دنیا را به خود اختصاص داده است. همچنین بنا به آمار سایت indeed.com یک توسعه‌دهنده ارشد اندروید سالانه به طور متوسط ۱۱۵،۰۰۰ دلار دریافتی دارد. این سیستم عامل متن باز مبتنی بر لینوکس، از جاوا به عنوان زبان اصلی توسعه نرم‌افزارها استفاده می کند.

دوره «برنامه نویسی سیستم‌های اندروید» دانش و مهارت های مورد نیاز را جهت توسعه برنامه‌های جاوا تحت اندروید به دانشجویان می‌آموزد و آن‌ها را برای ورود به بازار کار عظیم این بستر آماده می سازد.

محتوا:

مباحث مربوط به برنامه نویسی سیستم عامل اندروید به کمک زبان جاوا

هدف:

کسب دانش و توانایی لازم برای برنامه نویسی سیستم‌های اندروید با استفاده از زبان جاوا

مدت دوره:

۴۸ ساعت کمپ (۶۴ ساعت عادی)

تاریخ برگزاری:

لطفا به تقویم آموزشی مراجعه نمایید.

پیش نیاز:

برای شرکت در این دوره تنها به دانش ابتدایی در کامپیوتر و اینترنت نیاز است.

مباحث:

بخش اول: مقدمات برنامه نویسی به زبان جاوا

1-1 مقدمه‌ای بر جاوا

1-1-1 طبقه بندی زبان‌های برنامه نویسی

2-1-1 زبان‌های سطح بالای پر استفاده

3-1-1 معرفی جاوا

4-1-1 تاریخچه جاوا

5-1-1 اصول پنج‌گانه جاوا

6-1-1 ویژگی‌های جاوا

7-1-1 ساختار ماشین مجازی جاوا

8-1-1 نسخه های جاوا

9-1-1 ویرایش های جاوا

10-1-1 JIT Compiler

11-1-1 فرآیند ترجمه و تفسیر برنامه‌های جاوا

  •  دستور javac
  •  دستور java
  •  Class Loader
  •  Bytecode Verifier

12-1-1 مدیریت خودکار حافظه

13-1-1 محیط های توسعه مجتمع جاوا

  •  Eclipse
  •  NetBeans
  •  IntelliJIdea
  •  JDeveloper

14-1-1 مقدمه‌ای بر UML

  •  نمودار کلاس
  •  نمودار فعالیت

2-1 مقدمه‌ای بر برنامه های جاوا

1-2-1 ساختار برنامه‌های جاوا

2-2-1 ورودی و خروجی

3-2-1 اعداد صحیح

4-2-1 مفاهیم حافظه

5-2-1 محاسبات ریاضی

6-2-1 تصمیم گیری (دستور if)

بخش دوم: مقدمه‌ای بر برنامه نویسی شیءگرا

1-2 مبانی شیءگرایی

1-1-2  روش‌های برنامه نویسی

  • رویه ای
  • تابعی
  • منطقی
  • شیءگرا

2-1-2 C & O

3-1-2 اشیاء

4-1-2 تاریخچه شیءگرایی

5-1-2 تکنیک های مورد استفاده در شیءگرایی

  • انتزاع
  • کپسوله سازی
  • ارث بری
  • چندریختی

 6-1-2 اعضای کلاس

  • خصوصیات کلاس
  • رفتارهای کلاس

 7-1-2 مزایای شیءگرایی

2-2 شیءگرایی در جاوا

1-2-2 پشتیبانی جاوا از شیءگرایی

2-2-2 کلاس‌ها

3-2-2 فیلدها

4-2-2 متدها

5-2-2 محصورسازی

  • متدهای دستیابی
  • getters
  • setters

سازنده ها 6-2-2 

7-2-2 انواع اولیه در برابر انواع ارجاعی

8-2-2 اعداد اعشاری

بخش سوم: کنترل روند اجرای برنامه

1-3 ساختارهای کنترلی ۱

1-1-3 الگوریتم ها

2-1-3 شبه کد

3-1-3 عبارت if

4-1-3 عبارت while

5-1-3 فرموله سازی الگوریتم ها

6-1-3 عبارات انتساب ترکیبی

7-1-3 عملگرهای افزایشی و کاهشی

2-3 ساختارهای کنترلی ۲

1-2-3 حلقه for

2-2-3 حلقه do...while

3-2-3 عبارت switch

4-2-3 عبارت break

5-2-3 continue

6-2-3 عملگرهای منطقی

7-2-3 اصول برنامه نویسی ساخت یافته

3-3 نگاهی عمیق‌تر به متدها

4-3 متدها و فیلدهای ایستا

5-3 پشته فراخوانی متد و رکوردهای فعال سازی

6-3 حوزه تعریف

7-3 سربازگذاری متدها

بخش چهارم: ساختمان داده‌های پایه

1-4 آرایه ها

1-1-4 تعریف ساختمان داده

2-1-4 تعریف، ایجاد و استفاده از آرایه ها

3-1-4 مقادیر پیش‌فرض

4-1-4 حلقه for افزوده

5-1-4 ارسال آرایه ها به متدها

6-1-4 آرایه های چند بعدی

7-1-4 لیست آرگومان با طول متغیر

8-1-4 استفاده از آرگومان های خط فرمان

9-1-4 کلاس Arrays

10-1-4 مقدمه‌ای بر کلسیون ها و کلاس ArrayList

بخش پنجم: برنامه نویسی شیءگرا 

1-5 نگاهی عمیق‌تر به کلاس‌ها و اشیاء

1-1-5 ارجاع this

2-1-5 ترکیب اشیاء

3-1-5 انواع شمارشی

4-1-5 Garbage Collector و متد finalize

5-1-5 اشیاء نهایی

6-1-5 static import

2-5 ارث بری

1-2-5 تعریف ارث بری و مزایای آن

2-2-5 ابر کلاس‌ها و زیر کلاس‌ها

3-2-5 اعضای protected

4-2-5 مسأله سازنده ها در ارث بری

5-2-5 کلاس Object

3-5 چندریختی

1-3-5 رفتار چندریختی

2-3-5 کلاس‌ها و متدهای انتزاعی

3-3-5 کلاس‌ها و متدهای نهایی

4-3-5 واسط ها

5-3-5 کلاس‌های گم نام

4-5 مدیریت استثنا‌‌ء

1-4-5 مقدمه

2-4-5 عبارت try...catch...finally

3-4-5 انواع استثناءها

4-4-5 سلسله مراتب استثناءها در جاوا

5-4-5 استثناءهای زنجیری

6-4-5 تعریف استثناءهای جدید

7-4-5 Assertions

8-4-5 ملاحظات طراحی

9-4-5 Multi-catch

10-4-5 امکان try-with-Resources

بخش ششم: ساختمان داده‌ها و الگویتم ها: نگاهی کامل‌تر

1-6 Java Collection  Framework

1-1-6 معرفی چارچوب گردآیه ها در جاوا

2-1-6 انواع ارجاعی متناظر انواع داده‌ای اولیه

3-1-6 بسته بندی خودکار و از بسته در آوردن خودکار

4-1-6 لیست ها

5-1-6 Generics

6-1-6 مجموعه ها

7-1-6 نگاشت ها

8-1-6 کلاس Collections

2-6 مباحثی در الگوریتم ها

1-2-6 مسأله جستجو

2-2-6 مسأله مرتب سازی

3-2-6 تحلیل زمانی الگوریتم ها

4-2-6 توابع بازگشتی

بخش هفتم: نخبندی

1-7 مبانی همروندی

2-7 کلاس Thread

3-7 واسط Runnable

4-7 مدیریت و کنترل چرخه عمر نخ ها

بخش هشتم: مقدمات اندروید

1-8 مروری بر اندروید

1-1-8 معرفی

2-1-8 تکامل اندروید

3-1-8 دستگاه‌هایی که از اندروید استفاده می‌کنند

4-1-8 ویژگی‌های اندروید

2-8 توسعه اندروید

1-2-8 بستر اندروید

2-2-8 Android SDK

3-2-8 محیط توسعه مجتمع اندروید

4-2-8 مبانی برنامه‌های اندروید

بخش نهم: برنامه نویسی اندروید

1-9 Activities و Intents

1-1-9 کلاس Activity

2-1-9 کلاس Intent

3-1-9 چرخه عمر یک Activity

4-1-9 Multiple Activities

2-9 نخ بندی و سرویس ها

1-2-9 نخ ها

2-2-9 AsyncTask

3-2-9 Alerts

4-2-9 سرویس ها

5-2-9 کلاس BroadcastReciever

6-2-9 App Widgets

7-2-9 مجوزها

8-2-9 User Notifications

9-2-9 ارتباطات میان پردازه ای در اندروید

بخش دهم: شبکه بندی

1-10 بلوتوث

1-1-10 روشن کردن بلوتوث

2-1-10 کشف سایر دستگاه‌های بلوتوث

3-1-10 جفت شدن با سایر بلوتوث ها

4-1-10 باز کردن یک سوکت بلوتوث

5-1-10 استفاده از ویبره

2-10 برنامه نویسی شبکه در اندروید

1-2-10 برنامه نویسی با سوکت ها

2-2-10 استفاده از SMS

3-2-10 استفاده از وب

3-10 کلاس ContentProvider

4-10 مدیریت داده‌ها

بخش یازدهم: مباحث تکمیلی اندروید

1-11 چندرسانه ای

1-1-11 گرافیک و پویانمایی

2-1-11 Multi-touch & Gestures

2-11 حسگرها

1-2-11 دوربین

2-2-11 ژیروسکوپ

3-2-11 حسگر نوری

3-11 سرویس مکان  و نقشه

1-3-11 سرویس مکان

2-3-11 سرویس نقشه