بنده وحید باقی، کارشناس ارشد مهندسی کامپیوتر گرایش الگوریتم از دانشگاه تهران هستم. زمینه مطالعاتی و پژوهشی اینجانب علوم داده می باشد. بنده به زبان های برنامه نویسی سی شارپ، جاوا و پایتون و همچنین SQL Server مسلط هستم و بیش از ۵ سال است که در زمینه تدریس برنامه نویسی فعالیت میکنم.
سطح | تمام سطوح |
مدت زمان | ۳۰۲۳ دقیقه |
حجم | ۷۷۳۶.۶۵ مگابایت |
تاریخچه زبان Java 1. انواع پیاده سازی زبان های برنامه نویسی 2. Compiler 3. Interpreter 4. Intermediate Code 5. نحوه پیاده سازی زبان Java 6. آشنایی با ماشین مجازی Java (Java Virtual Java) 7. آشنایی با JRE 8. آشنایی با JDK 9. آشنایی با تعریف پلتفرم های Java 10. Java SE 11. Java EE 12. Java ME 13. JavaFX 14. معرفی انواع IDE های زبان Java 15. نصب JDK 16. نصب NetBeans 17. معرفی JDK به NetBeans 18. کامپایل یک برنامه ساده با javac 19. اضافه کردن پوشه JDK به Environment Variables
نکاتی در مورد نحوه یادگیری برنامه نویسی • نکاتی در مورد نحوه مشاهده آموزش • فایل Netbeans و JDK در ضمیمه این قسمت است.
فیلمی جالب در مورد از کار افتادن همه سیستم هایی که با Java کار می کنند
آشنایی با ساختار فایل .java آشنایی با متد Main آشنایی با ویژگی IntelliSense در Netbeans آشنایی با ویژگی های نوشتاری زبان Java استفاده از print و println انواع خطا های برنامه نویسی خطای کامپایلری خطای منطقی خطای حین اجرا
Insert a tab Insert a backspace Insert a newline Insert a carriage return Insert a single quote Insert a double quote Insert a backslash افزودن Comment به کد ها
تعریف یک متغیر استاندارد های نام گذاری متغیر ها آشنایی با انواع داده اولیه (Primitive data type) متغیر های final تفاوت Literal و Constant
بررسی متد printf
تبدیل ضمنی (implicit) تبدیل صریح (Explicit) Arithmetic overflow Type Casting
تبدیل رشته ها به انواع داده دیگر و برعکس
بررسی انواع عملگر ها (Unary-Binary-Ternary) عملگر های ریاضی (Arithmetic Operator) عملگر های تخصیصی (Assignment Operator) عملگر های مقایسه ای (Comparative Operator) عملگر های منطقی (Logical Operator) عملگر های بیتی (Bitwise Operator)
آشنایی با انواع متد های کلاس Scanner استفاده از Place holder ها (MessageFormat) بررسی تفاوت متد های next و nextLine
آشنایی با ساختار if آشنایی با ساختار if else آشنایی با nested if عملگر شرطی استفاده از عملگر های منطقی در شرط ها Dangling else یا else های سرگردان! آشنایی با شرط های مدار کوتاه آشنایی با شرط های مدار بلند آشنایی با ساختار Switch
حل 7 سوال در مورد مبحث ساختار های تصمیم
بررسی اولیت انواع عملگر ها در Java
فرمت دادن به اعداد اعشاری
حلقه While حلقه do While حلقه for آشنایی با break آشنایی با continue
حل 15 سوال در مورد مبحث ساختار های تکرار
حل 9 سوال تجزیه ارقام با استفاده از ساختار های تکرار
حل 10 سوال چاپ الگو با استفاده از ساختار های تکرار
آشنایی با آرایه تک بعدی مقدار دهی و دسترسی به عناصر آرایه تک بعدی آشنایی با کلمه کلیدی new آشنایی با حلقه foreach آشنایی با آرایه چند بعدی آشنایی با ماتریس ها (آرایه دو بعدی) مقدار دهی و دسترسی به عناصر آرایه چند بعدی آرایه های دندانه دار (Jagged Array) مقدار دهی و دسترسی به عناصر آرایه دندانه دار
حل 15 سوال در مورد آرایه های تک بعدی
حل 20 سوال در مورد آرایه های دو بعدی
آشنایی با مفهوم پارادایم آشنایی با پارادایم های برنامه نویسی آشنایی با ساختار یک متد مقدار برگشتی از یک متد (return) ارسال پارامتر به یک متد روش های ارسال آرایه به یک متد آشنایی با VarArgs
ارسال مقادیر به برنامه با Command Line آشنایی با متد های بازگشتی (Recursion) بررسی خط به خط برنامه در Netbeans
حل 7 سوال در مورد متد ها و رشته ها
حل 5 سوال در مورد متد های بازگشتی
حل 5 سوال در مورد آرایه ای از رشته ها
شروع برنامه نویسی شی گرا آشنایی با مفهوم شی آشنایی با مفهوم کلاس تبدیل یک برنامه رویه ای به شی گرا آشنایی با سطح دسترسی public آشنایی با سطح دسترسی private
متغیر های static متد های static ایجاد آرایه ای از کلاس ها
آشنایی با کاربرد متد سازنده متد سازنده پیش فرض Overload کردن متد سازنده
Constructors Instance Variable initializers Instance Initialization blocks Static Block Non Static Block Forward references
آشنایی با مفهوم Setter و Getter آشنایی با کلمه کلیدی This
هدف استفاده از Package دلیل وجود فقط یک کلاس public در یک فایل .java بررسی سطح دسترسی default دسترسی به کلاس های public موجود در Package Import کردن یک Package بررسی تاثیر تعداد import در حجم برنامه
بررسی مفهوم وراثت در شی گرایی آشنایی با سطح دسترسی protected قانون is s kind of در وراثت قانون 100% در وراثت وراثت چند سطحی آشنایی با کلمه کلیدی super استفاده از this برای فراخوانی متد های سازنده دیگر ترتیب اجرای متد های سازنده در وراثت
آشنایی با کلاس های Final
بررسی هدف استفاده از Overriding ترتیب سطوح دسترسی و تاثیر آن در Overriding Hide شدن وراثت در Overriding تفاوت Overriding و Overloading بررسی Overriding در متد های static بررسی متد های final Override کردن متد .toString Override Annotation پارامتر های final
بررسی متد toString Override کردن متد toString بررسی متد equals تفاوت بین متد equals در کلاس object و عملگر== بررسی متد equals در کلاس String بررسی متد hashCode بررسی متد getClass
تفاوت بین انواع داده Primitive و Object تفاوت بین int و Integer ، double و Double و ... بررسی مفهوم Autoboxing بررسی مفهوم Unboxing
رابطه Is-a رابطه has-a بررسی مفهوم Aggregation خطای NullPointerException
بررسی مفاهیم upcasting و downcasting آشنایی با مفهوم چند ریختی ها مفهوم انتزاع یا abstraction کلاس های انتزاعی یا abstract متد های انتزاعی یا abstract عملگرinstanceof واسط ها یا Interface ها بررسی کاربرد Interface ها آشنایی با کلمه کلیدی implements تفاوت میان کلاس انتزاعی و واسط
کلاس داخلی non static کلاس داخلی anonymous کلاس داخلی Local کلاس تو در تو
آشنایی با نوع داده شمارشی
برنامه نویسی جنریک تعریف برنامه نویسیجنریک جنریک چه مشکلاتی را حل می کند؟ تفاوت سربارگذاری یک متد و جنریک ها تفاوت کلاس Object و جنریک ها کلاس های جنریک متغیر های جنریک قرارداد های نام گذاری جنریک ها نحوه تعریف نمونه از جنریک Raw Types Type Erasure
کلکسیون های جنریک پارامتر های Bounded پارامتر های Unbounded کاربرد extends در جنریک ها
آشنایی با wild card
String چیست؟ انواع روش های ساخت String By string literal By new keyword نحوه ذخیره سازی String در حافظه آشنایی با String constant pool ویژگی Immutable در String ها الحاق رشته ها (String Concatination) با استفاده از عملگر + با استفاده از متد concat() زیر رشته ها (Substring) مقایسه String ها بررسی متد equals() بررسی عملگر == بررسی متد CompareTo()
متد های کار با String ها charAt() contains() startsWith() endsWith() indexOf() lastIndexOf() isEmpty() length() replace() toLowerCase() toUpperCase() trim() valueOf()
کلاس StringBuffer کلاس StringBuilder بررسی تفاوت سرعت String و StringBuffer و StringBuilder Override کردن متد toString
عبارت های منظم یا Regular-expressions String Literals metacharacters character class simple class negation ranges unions intersections subtraction predefind character class quantifiers greedy reluctant possessive
boundry matchers capturing groups back references
توابع رند کردن اعداد Ceil Round Floor تابع توان (pow) تابع جذر (sqrt) توابع max و min توابع لگاریتمی توابع مثلثاتی تابع نمایی (exp) حل تمرین کلاس Math
تولید اعداد تصادفی با شانس برابر تولید اعداد تصادفی با ترتیب ثابت تولد اعداد تصادفی با توزیع نرمال (گاوس) آشنایی با توزیع نرمال محاسبه انحراف معیار محساسبه میانگین
فرمت بندی تاریخ و ساعت با متد printf فرمت بندی تاریخ و ساعت با استفاده از DateTimeFormatter
تعریف باگ انواع خطاهای برنامه نویسی خطای منطقی خطای حین اجرا خطای کامپایلری بلوک try-catch بلوک catch چند تایی بلوک finaly بلوک های try-catch تو در تو کلمه کلیدی throw انتشار خطا (Exception Propagation) کلمه کلیدی throws تفاوت throw و throws تفاوت خطا های checked و unchecked ایجاد Exception شخصی سازی شده
آشنایی با ساختمان داده Arraylist
آشنایی با ساختمان داده LinkedList
آشنایی با ساختمان داده Vector
آشنایی با اینترفیس List
آشنایی با اینترفیس Set آشنایی با HashSet آشنایی با LinkedHashSet آشنایی با TreeSet
آشنایی با اینترفیس Map آشنایی با HashMap آشنایی با LinkedHashMap آشنایی با TreeMap
مقدمه ای در مورد فایل ها تعریف input و output آشنایی با انواع Stream System.in System.out System.err آشنایی با ساختار کلاس انتزاعی InputStream آشنایی با ساختار کلاس انتزاعی OutputStream
ساخت یک فایل جدید بررسی وجود یا عدم وجود یک فایل حذف یک فایل گرفتن نام یک فایل GetParent GetPath getName getAbsolutePath getCanonicalPath تغییر نام یک فایل انتقال یک فایل به یک پوشه دیگر ایجاد یک دایرکتوری ایجاد چندین دایرکتوری بررسی دایرکتوری بودن یا نبودن یک آدرس گرفتن فایل های داخل یک دایرکتوری به دست آوردن میزان فضای خالی یک پارتیشن به دست آوردن میزان کل فضای یک پارتیشن به دست آوردن آخرین زمان ویرایش یک فایل
اعمال فیلتر به نام فایل ها و دایرکتوری ها
نوشتن آرایه بایتی در فایل
خواندن فایل ها به صورت آرایه بایتی
استفاده از بافر برای نوشتن آرایه بایتی در فایل
استفاده از بافر برای خواندن اطلاعات از فایل
خواندن اطلاعات از چند Stream
نوشتن آرایه بایتی در چند OutputStream
خواندن اطلاعات به صورت InputStream
خواندن و نوشتن انواع داده Primitive در فایل
دسترسی تصادفی به فایل ها
نوشتن کاراکتر در فایل ها
خواندن کاراکتر از فایل
نوشتن کاراکتر در فایل با استفاده از بافر
خواندن کاراکتر از فایل با استفاده از بافر
استفاده از print ، println و printf برای نوشتن در Stream
استفاده از print ، println و printf برای نوشتن در Writer
تفاوت AWT با Swing بررسی JOptionPane بررسی ImageIcon
تعریف رخداد برای کنترل ها (Event) ActionListener ComponentListener ItemListener KeyListener MouseListener MouseMotionListener MouseWheelListener FocusListener PropertyChangeListener WindowListener تفاوت Listener با Adapter
Annotation ها Deprecated Override SuppressWarning Cast Deprecation Empty Fallthrough Finally Overrides Unchecked
آشنایی با ساختار Stack انواع نمایش عبارت های محاسباتی Infix Prefix Postfix تبدیل عبارت Infix به Postfix پردازش عبارت Postfix با Stack
ایجاد یک JFrame آشنایی با پنجره Palette آشنایی با پنجره Properties آشنایی با پنجره Event مشاهده تاریخچه کد ها در History بررسی ویژگی های پنجره Design بررسی دکمه SelectionMode بررسی دکمه ConnectionMode بررسی دکمه Preview Design بررسی ساختار کد های موجود در پنجره Source آشنایی با LookAndFeel بررسی LookAndFeel های مختلف CrossPlatformLookAndFeel SystemLookAndFeel MetalLookAndFeel NimbusLookAndFeel انتخاب LookAndFeel توسط کاربر افزودن LookAndFeel آماده JTattoo Napkinlaf Pgslookandfeel انتخاب Layout از پنجره Design تغییر سایز فرم Event Dispatcher Thread
طراحی ظاهر ماشین حساب پیاده سازی الگوریتم تبدیل Infix به Postfix پیاده سازی الگوریتم پردازش عبارت Postfix به وسیله Stack
قرار دادن آیکون برای برنامه ماشین حساب قفل کردن تغییر سایز فرم حذف حاشیه فرم (ساخت فرم های بدون border) حرکت دادن فرم های بدون border Close ، minimize و normal کردن فرم از طریق کد نویسی تغییر شکل آیکونکرسرماوس گرفتن خروجی Jar از پروژه اجرای ماشین حساب در سیستم عامل ویندوز نصب JRE در گنو/لینوکس توزیع اوبونتو اجرای ماشین حساب در سیستم عامل گنو/لینوکس توزیع اوبونتو
الحاق JRE به فایل Jar برای پرتابل کردن برنامه استفاده از Launch4j ساخت فایل نصب با Inno Setup تنظیم آیکون برای فایل نصب اجرای بدون وابستگی برنامه در ویندوز
JDBC چیست؟ واسط های JDBC Drivers Connections Statements Result Sets کاربرد های رایج JDBC نمودار Sequence نحوه کارکرد JDBC انواع درایور های JDBC Type 1 :JDBC-ODBC Bridge driver Type 2 :Native-API/partly Java driver Type 3:All Java/Net-protocol driver Type 4:All Java/Native-protocol driver دانلود درایورJDBC پایگاه داده Sqlite اضافه کردن درایور به برنامه در NetBeans
لود کردن درایور در کد نویسی تعریف Connection مقدار دهی Connection String نصب Sqlite Manager در فایرفاکس آشنایی با محیط Sqlite Manager ساخت یک پایگاه داده جدید در Sqlite Manager ساخت یک جدول جدید در Sqlite Manager آشنایی با Storage Class ها در SQLite INTEGER REAL TEXT NUMERIC INTEGER (strict) REAL (strict) TEXT (strict) آشنایی با Default Value در SQLite
ساخت یک جدول برای درج داده ها برقراری ارتباط با پایگاه داده ارسال کوئری به پایگاه داده با Statement واکشی اطلاعات از پایگاه داده به ResultSet آشنایی با متد های کلاس Resultset Next Previous Last First Absulote Relative GetRow GetType انواع متد های DataType ها آشنایی با انواع Type های ResultSet Type_Forward_Only Type_Scroll_Insensitive Type_Scroll_Sensitive واکشیmetadata های پایگاه داده با DatabaseMetaData بررسی پشتیبانی پایگاه داده ها از ویژگی های خاص JDBC آشنایی با انواع Concurrency در ResultSet Concur_Read_Only Concur_Updateable آشنایی با انواع Holdability در ResultSet Close_Cursors_At_Commit Hold_Cursors_Over_Commit
ارسال کوئری های آپدیت به پایگاه داده بررسی متد executeUpdate بررسی متد ExecuteQuery بررسی متد execute آشنایی با Preparedstatement ارسال دسته ای کوئری ها (Batch) مدیریت تراکنش ها (Perform Transaction) بررسی ویژگی های یک تراکنش Atomicity Consistency Isolation Durability بررسی متد Commit بررسی متد RollBack
واکشیMetaData های پایگاه داده تفاوت بین Cluster , Catalog , Schema , Table , Columns & Rows واکشی نام پایگاه داده واکشی نسخه درایور واکشی نسخه پایگاه داده واکشی اطلاعات ستون های پایگاه داده واکشی اطلاعات جدول ها
ساخت جدول برای ذخیره و بازیابی تصویر و فایل انتخاب عکس از سیستم کاربر تبدیل عکس انتخاب شده به Stream ذخیره Stream در پایگاه داده واکشی تصویر از پایگاه داده تبدیل Stream به تصویر تغییر سایز تصویر ذخیره فایل در پایگاه داده بازیابی فایل از پایگاه داده و ذخیره کنار پروژه
آشنایی با JTable درج دستی رکورد به JTable تنظیم Header در JTable آشنایی با اینترفیسTableModel آشنایی با کلاس انتزاعی AbstractTableModel آشنایی با کلاس DefaultTableModel اتصال مدل داده ای به JTable ویرایش مدل داده ای با متد های DefaultTableModel AddRow AddColumn InsertRow RemoveRow SetValueAt getValueAt راست /چپ/وسط چین کردن JTable راست/چپ/وسط چین کردن متن سلول های JTable
واکشی داده ها از پایگاه داده و نمایش در JTable طراحی ظاهر برنامه (پروژه محور) طراحی پایگاه داده انتخاب تصویر از سیستم کاربر روش دوم برای تغییر سایز تصویر درج داده ها در پایگاه داده داده ی JCheckBox داده ی JLabel داده ی JRadioButton داده ی JTextField واکشی تصویر از پایگاه داده و نمایش در JTable تنظیم سایز تصویر در JTable Override کردن متد GetClassName جلوگیری از ویرایش سلول های JTable
تعریف Event برای انتخاب سطر های JTable نمایش اطلاعات سطر انتخاب شده در کنترل های فرم آپدیت کردن سطر انتخاب شده از JTable
در پکیج جامع آموزش پروژه محور جاوا در 50 ساعت و 180 قسمت به زبان ساده java آموزش داده میشود و با چند پروژه عملی یاد می گیرید که چگونه با جاوا برنامه بنویسیم.
شعار زبان برنامه نویسی جاوا Write once, Run anywhere و به معنای “یک بار بنویس، همه جا اجرا کن” است. معنای این شعار این است که برنامههای نوشته شده با جاوا مستقل از سیستم عامل بوده و میتوانیم یک برنامه را با همان شکل و شمایل در سیستم عاملهای ویندوز، لینوکس و مک اجرا کنیم. جاوا هنوز هم محبوب ترین زبان برنامه نویسی در دنیا می باشد و البته از آنجایی که برنامه نویسی اندروید نیاز به جاوا دارد، این زبان مجددا برای شروع برنامه نویسی توسط تازه کار ها انتخاب می شود.
در آموزش جاوا به زبان ساده ، زبان جاوا از صفر و بدون هیچ پیشنیازی توضیح داده شده است و شما با هر سن و سطح تحصیلاتی میتوانید از آن استفاده کنید و در نهایت با انجام چندین پروژه تمرینی جاوا مانند پروژه طراحی و ساخت نرم افزار هتل به صورت کامل زبان برنامه نویسی جاوا را به شما آموزش می دهم.
همچنین آموزشها بهگونهای تدریس شده است که شما برنامهنویسی را یاد بگیرید و تفکر برنامهنویسی در شما شکل بگیرد (پس این دوره برای شروع برنامه نویسی مناسب است). شاید ظاهر برخی سرفصلهای آموزش همان مباحث تکراری کلاسهای برنامهنویسی باشد، اما همان مباحث ساده دارای نکاتی میباشند که معمولا در کلاسهای برنامهنویسی و دانشگاهها به آن پرداخته نمیشود. در آموزش برنامه نویسی جاوا شما تمامی مباحث پایه زبان جاوا از قبیل: کاراکتر های کنترلی در Java - متغیر ها در Java - تبدیل انواع داده به یکدیگر - خواندن از فایل در جاوا - تبدیل آرایه به رشته در جاوا - نحوه اتصال جاوا به sql server - گرفتن آرایه از کاربر در جاوا - دریافت ورودی از کاربر - توابع نمایی و لگاریتمی - BufferedOutputStream - کنترل JFrame - و موضوعات بیشتری که همه به ریز در پایین آمده است.
یکی دیگر از ویژگیهای آموزش پروژه محور جاوا ، وجود حل تمرین است که بیش از ۹۰ سؤال را در مباحث مختلف مورد بررسی قرار دادیم تا علاوه بر آموزش، منبعی برای تمرین نیز در اختیار داشته باشید.
پساز اینکه تمامی نکات پایهای جاوا را فراگرفتید، نوبت به نوشتن پروژه میرسد.
1. اولین پروژهای که در مجموعه مورد بررسی قراردادیم: ساخت یک ماشینحساب حرفهای است. با اینکه در این بخش ماشینحساب را بهصورت کامل پیادهسازی کردیم، ولی هدف از این پروژه فقط ساخت یک ماشینحساب نبوده و نکات بسیار زیادی را موردبررسی قراردادیم.
پس از تکمیل ماشینحساب، نحوه خروجی گرفتن، ساخت فایل نصب، تبدیل فایل jar به exe، اجرای فایل jar بدون نیاز به jre و … را نیز بررسی کردیم.
2. دومین بخش پروژه محور مربوط به: کار با پایگاه داده است. در این آموزش، از پایگاه داده SQLite به دلیل سبک و قابلحمل بودن استفاده کردیم. با نکاتی که در این بخش موردبررسی قراردادیم، بهراحتی میتوانید پروژههایی بنویسید که به یک پایگاه داده متصل شود.
نکته مهمی که در این زمینه وجود دارد این است که ارتباط با پایگاه دادهها در جاوا از طریق JDBC انجام میشود و یک روش استاندارد است. یعنی وقتی شما کار با JDBC را یاد بگیرید میتوانید با هر پایگاه دادهای ارتباط برقرار کنید.
3. سومین پروژه ای که در این مجموعه مورد بررسی قرار دادیم: ساخت یک نرم افزار مدیریت هتل است. این آموزش بیشتر از آنکه پروژه محور باشد، نکته محور است. در یک آموزش نکته محور سعی می شود تا فقط نکات جدید توضیح داده شود و از بررسی نکات تکراری پرهیز شود. در این پروژه از پایگاه داده SQL Server استفاده کردیم و در انتها نیز نحوه نصب SQL Server بر روی لینوکس و همچنین نحوه ساخت فایل نصب از پروژه با نرم افزار Advanced Installer توضیح داده شده است.
این دوره هیچ پیش نیازی ندارد و برای افرادی قصد دارند به تازگی برنامه نویسی را شروع کنند مناسب است.
پس از پایان این دوره:
به خوبی با دنیا برنامه نویسی آشنا شده اید و یادگیری هز زبان دیگری ساده تر خواهد بود. زیرا جاوا تمام مفاهیم را در خود دارد و بسیار کامل است.
به خوبی به جاوا تسلط خواهید داشت و یاد گرفتن اندروید برای شما کار ساده خواهد بود.
به خوبی با پایگاه داده ارتباط برقرار می کنید و می توانید با جاوا برنامه های مورد نظر خود را پیاده سازی کنید.
به بزرگترین جامعه برنامه نویسی پیوسته اید.
این دوره برای کسانی که خیلی با اراده قصد شروع یادگیری اولین زبان برنامه نویسی را دارند بسیار عالی می باشد. همچنین اگر در نگاه پیشروی خود آموزش اندروید را هم در نظر دارید، دیگر این دوره بیش از پیش برای شما کاربردی خواهد بود.
Netbeans
JDK
قبل از شرکت در دوره آموزشی شما می توانید پیش نمایش و ۱۱ قسمت آموزشی از ۱۷۹ قسمت را رایگان مشاهده کنید.(آموزش هایی که در سمت راست آن ها قفل باز است قبل از خرید و ورود در آموزش قابل مشاهده است)
با اطمینان دوره آموزشی "آموزش پروژه محور جاوا به زبان ساده - ساخت برنامه مدیریت هتل با سورس" را بخرید در صورتی که این آموزش مطابق با اطلاعات آن نبود و شما از خرید راضی نبودید، بازگشت وجه به طور انجام می شود.
امکان سوال از مدرس در بخش گفتگو ها مهیا است همچنین در صفحه پروفایل مدرسین شبکه های اجتماعی آنها جهت تعامل قرار دارد.
امکان دانلود و پخش آنلاین دوره وجود دارد و شما به طور دائم به آن دسترسی دارید.
استاد مربوطه با توضیح کامل و دقیق تمامی مفاهیم جاوا چیزی را برای این دوره کم نذاشته است . شاید در ابتدا کمی از کد ها رو دیر متوجه بشوید ولی اگر فیلم ها رو استپ کنید و خودتان دست به کد بشوید و طبق ترتیبی که فایل ها قرار گرفته است کار کنید به تمامی مباحث مهم جاوا مسلط می شوید. من دوره های انگلیسی جاوا رو هم دیدم ولی دوره به این کاملی و دقیقی فکر نمیکنم برای مفاهیم اولیه پیدا کنید .
بنظرم عالی هستند یک مقدار زیادی خوب است
به عنوان کسی که از ویدئو اول تا آخر رو به ترتیب دیدم به جرئت میتونم بگم کامل ترین آموزشیه که در یک زمینه میتونید ببینید. تنها پیشنهادم به مدرس اینه که چندتا ویدئو هم برای تردز و اپلت ضبط کنه تا دیگه آموزش کامل کامل بشه.
برای خرید این دوره آموزشی و دسترسی دائمی به آن در لیموناد عضو شوید.