ثبت نام پنجمین آزمون و مسابقه کشوری جاواکاپ

خانه / آموزش / فیلم آموزش جاوا (رایگان) شامل اسلاید + ویدیو + خودآزمون + نمونه‌کد

فیلم آموزش جاوا (رایگان) شامل اسلاید + ویدیو + خودآزمون + نمونه‌کد

انجمن جاواکاپ، با افتخار تقدیم می‌کند: آموزش رایگان ویدیویی برنامه‌نویسی جاوا به زبان فارسی. این دوره شامل اسلایدهای آموزشی، تمرین‌های عملی، کوییز، تمرین، و فیلمهای آموزشی خواهد بود. هدف این دوره، ارائه مفاهیم و مهارت‌های مهم در زبان جاوا برای تولید نرم‌افزار در صنعت است.

مخاطبین این دوره، علاقمندان به فراگیری زبان جاوا و مدرسان دوره‌های مبتنی بر جاوا در دانشگاهها، آموزشگاهها و صنعت هستند. هدف اصلی این دوره، ارائه یک بسته آموزشی عام‌المنفعه است که در آن آموزش جاوا به شکل صحیح، دقیق و روزآمد در اختیار عموم علاقمندان قرار می‌گیرد. هرچند تغییر محتوای این اثر بدون اطلاع و تأیید انجمن جاواکاپ مجاز نیست، اما بازنشر یا تدریس آن‌چه توسط جاواکاپ و به صورت عمومی منتشر شده است، با ذکر مرجع (جاواکاپ) بلامانع و البته مایه خوشحالی تهیه‌کنندگان این دوره آموزشی است. انجمن جاواکاپ، از همه متخصصان و صاحب‌نظران دعوت می‌کند تا در این فرایند ما را یاری کنند و نظرات خود را درباره ساختار و محتوای آموزشی این دوره (از طریق همین صفحه در سایت جاواکاپ، گروه  برنامه‌نویسان جاوا در لینکدین یا از طریق ایمیل info [AT] javacup [DOT] ir) ارائه فرمایند.

دوره آموزشی جاوا در پنج بخش و بیست جلسه طراحی شده است:

الف) آشنایی با مبانی برنامه‌نویسی جاوا

در این بخش، تاریخچه زبان و فناوری جاوا مرور می‌شود و ویژگی‌های این فناوری و جایگاه آن در میان سایر فناوری‌های مهم بررسی می‌شود. سپس مبانی اولیه برنامه‌نویسی جاوا آموزش داده می‌شود. هدف این بخش، آشنایی با مفاهیم اولیه برنامه‌نویسی است به نحوی که مخاطب بتواند برنامه‌نویسی را آغاز کند و اصطلاحاً دست‌به‌کار (یا دست‌به‌کد) شود. در این بخش مفاهیمی مانند متغیرها، انواع داده، عملگرها، حلقه‌، شرط، متد، رشته و آرایه گنجانده شده است. همچنین برخی نکات و مهارت‌های اولیه عملی، مانند استفاده از محیط‌های توسعه نرم‌افزار (IDE)، بیان می‌شود. از نظر رویکردهای برنامه‌نویسی، روح حاکم بر این بخش رویکرد رویه‌ای (Procedural) است.

این بخش مجموعاً در ۴ ساعت و ۳۰ دقیقه آماده شده است.

۱- آشنایی با مبانی جاوااسلاید  (pdf)اسلاید (pptx) لینک اصلیمشاهده در آپارات
مشاهده در نماشا
تمرین خودآزمون
۲- مفاهیم اولیه زبان جاوا اسلاید  (pdf)اسلاید (pptx)لینک اصلیمشاهده در آپارات
مشاهده در نماشا
 تمرین خودآزمون
۳- رشته، آرایه و چند داستان دیگر اسلاید  (pdf)اسلاید (pptx)لینک اصلیمشاهده در آپارات
مشاهده در نماشا
 تمرین خودآزمون
— پروژه اولاسلاید  (pdf)اسلاید (pptx)لینک اصلیمشاهده در آپارات
مشاهده در نماشا
 نمونه کد

 

 

ب) مبانی برنامه‌نویی شیء‌گرا (Object Orientation) در جاوا

در این بخش، مفاهیم شیءگرا در جاوا آموزش داده می‌شود. مفاهیمی مانند کلاس، شیء، وراثت (Inheritance)، چندریختی (Polymorphism) و واسط (Interface) بیان می‌شود.

این بخش مجموعاً در ۸ ساعت و ۵۷ دقیقه آماده شده است.

۴- برنامه نویسی شئ گرا 
اسلاید  (pdf) اسلاید (pptx)لینک اصلیمشاهده در آپارات
مشاهده در نماشا 
تمرین خودآزمون
۵- اشیاء در جاوااسلاید  (pdf)اسلاید (pptx)لینک اصلی
 مشاهده در آپارات تمرین خودآزمون
۶- تولد و مرگ اشیاءاسلاید  (pdf)اسلاید (pptx)لینک اصلی مشاهده در آپارات تمرین خودآزمون ۱

تمرین خودآزمون ۲

۷- امکانات شیءگرا در جاوااسلاید  (pdf)اسلاید (pptx)لینک اصلی مشاهده در آپارات تمرین خودآزمون ۱

تمرین خودآزمون ۲

تمرین خودآزمون ۳

تمرین خودآزمون ۴

۸- چند داستان کوتاه درباره امکانات جاوااسلاید  (pdf)اسلاید (pptx)لینک اصلی مشاهده در آپارات تمرین خودآزمون
۹- مهارت‌های برنامه‌نویسیاسلاید  (pdf)اسلاید (pptx)لینک اصلی مشاهده در آپارات تمرین خودآزمون
— پروژه دوماسلاید  (pdf)اسلاید (pptx)لینک اصلی
 مشاهده در آپارات کد نفر اول

 

ج) مفاهیم پیشرفته شیءگرا در زبان جاوا

در این بخش، با مفاهیم پیشرفته‌تری درباره امکانات شیءگرا در زبان جاوا آشنا می‌شویم.

۱۰- وراثت (Inheritance)اسلاید  (pdf)اسلاید (pptx) لینک اصلی
تمرین خودآزمون ۱

تمرین خودآزمون ۲

مشاهده در آپارات
۱۱- چندریختی (Polymorphism)اسلاید  (pdf)اسلاید (pptx) لینک اصلی
تمرین خودآزمونمشاهده در آپارات 
۱۲- واسط (Interface)اسلاید  (pdf)اسلاید (pptx)لینک اصلی
تمرین خودآزمونمشاهده در آپارات 
۱۳- مدیریت استثناء (Exception)اسلاید  (pdf)اسلاید (pptx)لینک اصلی
تمرین خودآزمونمشاهده در آپارات 
— پروژه سوماسلاید  (pdf)اسلاید (pptx)

 

د) کیفیت نرم‌افزار

در این فصل به راهکارهای بهبود کیفیت نرم‌افزارهایی که تولید می‌کنیم، می‌پردازیم. به خصوص، برنامه‌نویسی تست‌محور با کمک فناوری JUnit تدریس می‌شود. این فصل بعد از ۲۰ جلسه آموزشی در جاواکاپ منتشر شده است، ولی بهتر است آموزش آن بعد از جلسه ۱۳ (بعد از موضوع Exception و قبل از موضوع ظرف‌ها و ساختمان‌های داده) انجام پذیرد.

برنامه‌نویسی تست‌محور با کمک JUnitاسلاید  (pdf)اسلاید (pptx)  لینک اصلیتمرین خودآزمون ۱

تمرین خودآزمون ۲

مشاهده در آپارات
بازآرایی برنامه‌ها (Code Refactoring)اسلاید  (pdf)اسلاید (pptx) لینک اصلیمشاهده در آپارات

 

 

هـ) ساختمان‌های داده و انواع عام

در این فصل به بیان مفاهیم و امکاناتی مانند داده‌های عام (Generics) و ساختمان‌های داده‌ای جاوا (مثل Collection، Map و غیره) می‌پردازیم.

۱۴- ظرفها و ساختمانهای داده
(Containers and Data Structures)
 اسلاید  (pdf)اسلاید (pptx) لینک اصلی
تمرین خودآزمون ۱

تمرین خودآزمون ۲

مشاهده در آپارات 
۱۵- انواع داده عام (Generics)اسلاید  (pdf)اسلاید (pptx) لینک اصلی
تمرین خودآزمونمشاهده در آپارات 
— پروژه چهارم

 

و) مفاهیم پیشرفته در زبان جاوا

مطالب پیشرفته‌تری مانند برنامه‌نویسی همروند (Multi-Thread) ، فایل‌ (IO)، برنامه‌نویسی تحت شبکه (Socket) و موضوع بازتاب (Reflection) در این فصل بیان می‌شوند.

۱۶- فایل و IO اسلاید  (pdf)اسلاید (pptx)  لینک اصلی
تمرین خودآزمونمشاهده در آپارات
۱۷- برنامه‌های چندنخی (Multi-Thread)  اسلاید (pdf)اسلاید (pptx) لینک اصلیتمرین خودآزمونمشاهده در آپارات 
۱۸- مباحث پیشرفته در برنامه‌های موازی (Concurrency) اسلاید (pdf)اسلاید (pptx) لینک اصلیتمرین خودآزمونمشاهده در آپارات 
۱۹- بازتاب (Reflection) اسلاید (pdf)اسلاید (pptx) لینک اصلیتمرین خودآزمونمشاهده در آپارات 
— پروژه پنجم

ز) امکانات نسخه‌های جدید جاوا

در نسخه‌های جدید زبان جاوا، به خصوص نسخه‌های ۷ و ۸، امکاناتی معرفی شده است که هنوز بسیاری از برنامه‌نویسان با آنها ناآشنا هستند. به خصوص در جاوا ۸ ، تغییرات گسترده‌ای در زبان ایجاد شده است. در این نسخه، رویکرد برنامه‌نویسی تابعی (Functional Programming) برای زبان جاوا معرفی و ممکن شده است. در این بخش با برنامه‌نویسی تابعی، عبارت‌های لامبدا (Lamba Expression)، واسط‌های تابعی (Functional Interface) و جویبارها (Stream) آشنا می‌شویم.

۲۰- امکانات جدید جاوا در نسخه ۸  اسلاید (pdf)اسلاید (pptx) لینک اصلی
تمرین خودآزمونمشاهده در آپارات

 

همان‌طور که توصیف شد، در این دوره از سه رویکرد رویه‌ای (Procedural)، شیءگرا (Object-Oriented) و تابعی (Functional) با زبان جاوا استفاده می‌شود. امروزه، دانش و مهارت در هر سه رویکرد، برای یک برنامه‌نویسی حرفه‌ای جاوا لازم است.

لطفاً ما را در بهبود این دوره و اسلایدهای آموزشی یاری کنید. نظرات، انتقادها، پیشنهادها و ایده‌های خود را درباره ساختار و محتوای این اسلایدها برای ما بفرستید.

منتظر نظرات سازنده شما درباره ساختار دوره و اسلایدهای آموزشی هستیم.

 

 


درباره صادق علی‌اکبری

صادق، یکی از مؤسسان انجمن جاواکاپ است. وی فارغ‌التحصیل دکترای مهندسی کامپیوتر از دانشگاه صنعتی شریف است و بیش از 13 سال فعالیت در صنعت نرم‌افزار را در سابقه دارد که بخش مهمی از آن در شرکت مشاوران نرم‌افزاری اعوان بوده است. صادق هم‌اکنون عضو هیأت علمی دانشگاه شهید بهشتی است.

همچنین بررسی کنید

انتشار فیلم آموزشی بازآرایی

به مناسبت عید سعید غدیر خم، فیلم آموزش بازآرایی برنامه (Code Refactoring) توسط شرکت مشاوران …

۳۴۶ نظر

  1. سلام و خسته نباشید. در مورد جاوا ۸ به بعد آموزشی ندارید بذارید؟ تشکر

     
    • سلام
      خیر متاسفانه هنوز آموزشی برای جاوا ۹ به بعد تهییه نشده است.
      اما چندین مقاله آموزشی خوب در مورد امکانات جاوا ۹ و جاوا ۱۰ در سایت منتشر شده است که مطالعه آن‌ها خالی از لطف نخواهد بود.

       
  2. با سلام و خسته نباشید :

    پیشنهاد میکنم تفاوت بین اینترفیس Lock و بلوک Synchronized رو که در فایل اسلایدهای برنامه نویسی همروند در موردش صحبت ککردید رو هم به اسلایدهاتون اضافه کنید
    Difference between Lock Interface and synchronized keyword
    The main differences between a Lock and a synchronized block are:

    ۱) Having a timeout trying to get access to a synchronized block is not possible. Using Lock.tryLock(long timeout, TimeUnit timeUnit), it is possible.
    ۲) The synchronized block must be fully contained within a single method. A Lock can have it’s calls to lock() and unlock() in separate methods.

     
  3. برای دیدن اموزشهای java EE (Spring framework) به سایت http://www.youtube.com بروید و در searchbar این سایت متن javaland رو جستجو کنید.شما در اون کانال با ویدیوهای اموزشی بسیار کامل و پرمفهوم در مورد تمام بخشهای جاوا به زبان فارسی که کار اقای زارع هست دسترسی خواهید داشت.در ضمن برای دانلود ویدئوها هم می توانید به سایت روبرو مراجعه کرده و از طریق این سایت ویدئوهای موجود در اون کانال رو هم دانلود کنید
    https://www.onlinevideoconverter.com/success

     
  4. خسته نباشید… انصافا اموزش ها بسیار کیفیت مطلوبی دارن… اما به نظرم از اونجایی که سایت شما به صورت تخصصی روی جاوا کار میکنه باید تمرکز خودش رو بیشتر روی اموزش قرار بده… منظورم اینه اموش ها باید ادامه پیدا کنن… هنوز مباحث زیادی وجود داره برای یاد گرفتن…. لطفا به صورت جدی تر توابع و کلاس ها و کتابخانه ها رو اموزش بدید

     
  5. سلام
    من از ویدیوهای آموزشی شما خیلی استفاده کردم. تشکر فراوان

    لطفا آموزش JavaEE را هم داشته باشید. ما بی صبرانه منتظریم.

    و آیا شما کلاس حضوری JavaEE هم برگزار می کنید؟

     
  6. سلام و خسته نباشید بابت آموزش های فوق العاده تون.
    چطوری میتونم آموزش های java ee سایت رو تهیه کنم؟

     
  7. سلام،

    توی کدوم بخش annotaion توضیح داده شده؟

     
  8. سلام وقت بخیر
    با تشکر از زحمات شما، سوالی داشتم
    آیا این ویدیوها پکیج کاملی از جاوا SE محسوب می‌شوند یا در جاوا SE مبحثی وجود دارد که در چهارچوب عناوین درسی شما قرار ندارد؟
    ممنون از پاسختون

     
    • سلام
      همان طور که میدانید، موضوع بیشتر سؤالهای آزمون در بیست ویدیوی جاواکاپ هست. ولی: ۱- ویدیوهای جاواکاپ به ۲۲ تا رسیده اند (تست و بازآرایی هم اضافه شده اند) و ۲- به هر حال ممکن است سؤالاتی در آزمون باشند که مستقیماً در ویدیوها آموزش داده نشده باشند

      برخی از موارد مثل جاوا ۹ و جاوا ۱۰ هم که اصلاً هنوز تدریس نشده اند…

       
  9. سلام
    شما برنامه ای برای اموزش اسپرینگ دارید؟
    ویا لطف میکنید سه سری منابع و فیلم اموزشی برای اسپرینگ معرفی کنید
    ممنون

     
    • برای دیدن اموزشهای java EE (Spring framework) به سایت http://www.youtube.com بروید و در searchbar این سایت متن javaland رو جستجو کنید.شما در اون کانال با ویدیوهای اموزشی بسیار کامل و پرمفهوم در مورد تمام بخشهای جاوا به زبان فارسی که کار اقای زارع هست دسترسی خواهید داشت.در ضمن برای دانلود ویدئوها هم می توانید به سایت روبرو مراجعه کرده و از طریق این سایت ویدئوهای موجود در اون کانال رو هم دانلود کنید
      https://www.onlinevideoconverter.com/success

       
  10. با سلام و عرض ادب خدمت زحمتکشان عرصه علم و فناوری :

    واقعاً خدا قوت ، مشخص هست زحمت زیادی کشیده شده و بسیار عالی تهیه شده.
    از خداوند منان برای تیم تهیه کننده این آموزش ها آرزوی موفقیت روز افزون را دارم.
    خدا را شکر که هموطنان خوبی مثل این استاتید عزیز دارم

     
  11. جا داره به عنوان یکی از دانشجوهای فیلم هاتون ازتون کمال قدردانی رو داشته باشم جناب علی اکبری
    پیروز و پایدار باشید

     
  12. بسیار عالی!
    من سایت های خیلی زیادی چه ایرانی و چه خارجی رو برای حاوا دیدم و دنبال کردم هیچ کدوم بیانی بهتر از این اموزش نداشتن شما واقعا شی گرایی رو بسیار قابل ادراک گفتین
    ممنونم

     
  13. من به عنوان یه فرد مبتدی مجبورم کتابی که توی اینترو جناب علی اکبری معرفی کردن رو هم مطالعه کنم. این به درک بهترم کمک می کنه. ولی در کل بیان ایشون شیوا و روی خوششون اصلا خستگی به تن مخاطب نمیاره. ممنون از ویدئوهای خوبتون. اجرتون با خدا.

     
  14. با سلام خدمت استاد عزیز آقای دکتر صادق علی اکبری
    من یکی از تمرینات شما
    ” یک متدی بنویسید که اسم افراد را دریافت کند و سپس تعداد انهای که با سید شروع می شوند را نمایش دهد”
    را نوشته ام. ولی وقتی برنامه را اجرا می کنم بعضی وقت ها مقادیر آرایه را که به عنوان ورودی می گیرد کامل وارد نکرده ام counter را به من نمایش می دهد.
    ممنونم می شوم من را راهنمایی نمایید.
    import java.util.Scanner;

    public class methodarray {
    static int counterfirst = 0;

    public static void main(String[] args) {

    while (counterfirst >= 0) {
    int counter = 0;
    Scanner scanner = new Scanner(System.in);
    System.out.println(“enter humannumber”);
    int humannumber = scanner.nextInt();
    String[] arrayhumannumber = new String[humannumber];
    for (int s = 0; s < arrayhumannumber.length; s++) {
    arrayhumannumber[s] = scanner.next();
    String detection = arrayhumannumber[s].substring(0, 3);
    if (detection.equalsIgnoreCase("سید"))
    counter=counter+1;
    }
    System.out.print("counter=");
    System.out.println(counter);

    }
    }
    }

     
  15. سلام
    یه خواهش دارم از جاوا کاپ ، میدونم زحمات زیادی کشیده شده و کارهای زیادی انجام شده ای کاش میشد J2EE هم منتشر کنید واقعا مطالب فارسی خوبی برای J2EE موجود نیست
    در ضمن میخواستم بدونم آیا کلاس آموزشی خود موسسه اعوان برگزار میکنه یا نه(برای J2EE)؟

     
  16. سلام .خسته نباشید. لطف کنید بگید برای شروع برنامه نویسی اندرید کدوم ها رو باید بخونم.؟ واقعا نیازه…
    پیشاپیش ممنون

     
    • سلام
      بله حتما نیازه
      خیلی جاها میگن نیاز نیس اما اونا هدفشون تنها فروش آموزش هاشونه وگرن برای سیستم عامل اندروید به زبان های زیادی برنامه نوشته میشه و برای برنامه نوشتن برای این سیستم عامل حتما بایستی یکی از این زبان هارو بلد بود .

      برای شروع پیشنهاد میکنم تا انتهای قسمت ۱۳ مطالعه کنید
      بقیه قسمت ها هم خیلی مفید هستن و پیشنهاد میکنم اگه عجله ندارین حتما مطالعه کنین
      اما در برای شروع با همون سیزده قسمت اول میتونید شروع کنید و مابقی قسمت هارو بعدا مطالعه کنید

      برای اندروید هم کتاب head first android کتاب خیلی خوبه آخرین ویرایششو حتما بگیرین
      اگرم نمیتونین انگلیسی مطالعه کنین آموزش های آقا بهنام آقاجانی کیفیت خوبی داره .

      البته پیشنهاد میکنم حتما حتما زبان انگلیسی رو هم یاد بگیرین در غیر اینصورت در ادامه مسیر به مشکل میخورین

       

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

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