لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش اصول برنامهنویسی جاوا و مفاهیم اصلی
- آخرین آپدیت
دانلود Java Programming Essentials and Core Concepts
نکته:
ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره:
این دوره دارای قابلیت Coursera Coach است!
روشی هوشمندتر برای یادگیری با مکالمات تعاملی و آنی که به شما کمک میکند دانش خود را آزمایش کنید، پیشفرضها را به چالش بکشید و در حین پیشرفت در دوره، درک خود را عمیقتر کنید.
در این دوره، شما اصول برنامهنویسی جاوا را از نصب تا مفاهیم پیشرفته خواهید آموخت. کار خود را با راهاندازی جاوا روی سیستمعاملهای مختلف (ویندوز، مک، لینوکس) شروع میکنید و سپس به حل مسئله با استفاده از JShell میپردازید. شما با مسائل برنامهنویسی دنیای واقعی مانند جدول ضرب دست و شخصیت خواهید یافت و تکنیکهای ضروری مانند استفاده از متغیرها، ارزیابی عبارتها و چاپ در کنسول را یاد میگیرید. علاوه بر این، با حلقهها، دستورات شرطی و موارد دیگر آشنا خواهید شد.
در مرحله بعد، وارد مباحث عمیقتر برنامهنویسی شیءگرا (OOP) شامل متدها، سازندهها و طراحی کلاس خواهید شد. این دوره پلتفرم جاوا را معرفی کرده و نحوه کار با JVM و محیط توسعه Eclipse را به شما نشان میدهد. همچنین مفاهیم کلیدی مانند مدیریت استثنا (Exception Handling)، مجموعهها (Collections) و همزمانی با تردها (Concurrency) را بررسی خواهید کرد. با استفاده از مثالهایی مانند ایجاد کلاسها و اشیاء، کار با آرایهها و حل مسائل واقعی با جاوا، مهارتهای برنامهنویسی خود را تثبیت خواهید کرد.
این دوره برای مبتدیان و با تمرکز بر تمرینهای کدنویسی عملی عالی است. در پایان، شما در جاوا مسلط خواهید بود و قادر به اعمال اصول OOP، مدیریت استثناها، کار با مجموعههای جاوا و توسعه اپلیکیشنهای چندرشتهای (Multithreaded) خواهید بود.
سرفصل ها و درس ها
مقدمهای بر دوره – برنامهنویسی جاوا
Introduction to Course – Java Programming
Step 00-مقدمهای بر تخصص
Introduction to the Specialization
Step 04-ایجاد کلاس Motor Bike جاوا و چند شیء از آن
Step 04 - Create Motor Bike Java Class and a Couple of Objects
Step 05-پاسخ تمرینها – کلاس Book و سه نمونه از آن
Step 05 - Exercise Solutions - Book Class and Three Instances
Step 06-معرفی وضعیت (State) یک شیء با متغیر Speed
Step 06 - Introducing State of an Object with Speed Variable
Step 07-درک مبانی کپسولهسازی (Encapsulation) با متدهای Setter
Step 07 - Understanding Basics of Encapsulation with Setter Methods
Step 08-تمرینها و نکات – Getterها و تولید خودکار آنها
Step 08 - Exercises and Tips - Getters and Generating Getters and Setters with E
Step 09-معماهای مربوط به This و مقداردهی اولیه متغیرهای عضو
Step 09 - Puzzles on This and Initialization of Member Variables
Step 10-اولین مزیت کپسولهسازی
Step 10 - First Advantage of Encapsulation
Step 11-مقدمهای بر کپسولهسازی – سطح ۲
Step 11 - Introduction to Encapsulation - Level 2
Step 12-تمرینهای کپسولهسازی – اعتبارسنجی بهتر و کلاس Book
Step 12 - Encapsulation Exercises - Better Validation and Book Class
Step 13-مقدمهای بر انتزاع (Abstraction)
Step 13 - Introduction to Abstraction
Step 14-مقدمهای بر سازندههای (Constructors) جاوا
Step 14 - Introduction to Java Constructors
Step 15-مقدمهای بر سازندههای جاوا – تمرینها و معماها
Step 15 - Introduction to Java Constructors - Exercises and Puzzles
Step 16-مقدمهای بر برنامهنویسی شیءگرا – نتیجهگیری
Step 16 - Introduction to Object-Oriented Programming – Conclusion
انواع دادههای اولیه و جایگزینها
Primitive Data Types and Alternatives
Step 00-بررسی عمیق انواع دادههای اولیه – مرور بخش
Step 00 - Primitive Data Types in Depth - Section Overview
Step 01-مبانی انواع دادههای صحیح در جاوا – Cast کردن، عملگرها و غیره
Step 01 - Basics about Java Integer Data Types - Casting, Operators, and More
Step 02-انواع دادههای صحیح جاوا – معماهای سیستم هشتگانه، شانزدهگانه و پیش/پس از افزایش
Step 02 - Java Integer Data Types - Puzzles - Octal, Hexadecimal, Post- and Pre-Integer
Step 06-حلقه While در جاوا – مقدمه
Step 05 - While Loop in Java - an Introduction
Step 07-حلقه While – تمرینهای توان دوم و مکعب تا یک حد مشخص
Step 06 - While Loop - Exercises - Cubes and Squares Up to Limit
Step 08-حلقه Do While در جاوا – مقدمه
Step 07 - Do While Loop in Java - an Introduction
Step 09-حلقه Do While در جاوا – مثالی از مکعب تا زمانی که کاربر عدد مثبت وارد کند
Step 08 - Do While Loop in Java - an Example - Cube While User Enters Positive n
Step 10-مقدمهای بر Break و Continue
Step 09 - Introduction to Break and Continue
Step 11-انتخاب حلقه در جاوا – مقایسه For و While و Do While
Step 10 - Selecting Loop in Java - For Versus While Versus Do While
انواع مرجع (Reference Types)
Reference Types
Step 00-انواع مرجع (Reference Types) در جاوا – مقدمه بخش
Step 00 - Java Reference Types - Section Introduction
Step 01-انواع مرجع – چگونه در حافظه ذخیره میشوند؟
Step 01 - Reference Types - How Are they Stored in Memory?
Step 03-کلاس String – مقدمه و تمرین چاپ هر کلمه و کاراکتر
Step 03 - String Class - Introduction and Exercise - Print Each Word and Char On
Step 04-کلاس String – پاسخ تمرین و متدهای مهمتر
Step 04 - String Class - Exercise Solution and Some More Important Methods
Step 05-درک تغییرناپذیری (Immutable) رشته و متدهای Concat و Upper/Lower Case
Step 05 - Understanding String Is Immutable and String Concat, Upper Case, Lower
Step 06-متدهای اتصال، Join و Replace در رشتهها
Step 06 - String Concatenation and Join, Replace Methods
Step 07-جایگزینهای رشته در جاوا – StringBuffer و StringBuilder
Step 07 - Java String Alternatives - StringBuffer and StringBuilder
Step 08-کلاسهای Wrapper در جاوا – مقدمه (چرا و چیستی؟)
Step 08 - Java Wrapper Classes - an Introduction - Why and What?
Step 09-کلاسهای Wrapper در جاوا – ایجاد با سازنده و valueOf
Step 09 - Java Wrapper Classes - Creation - Constructor and valueOf
Step 10-کلاسهای Wrapper در جاوا – Auto Boxing و ثابتهای SIZE
Step 10 - Java Wrapper Classes - Auto Boxing and a Few Wrapper Constants – SIZE
Step 11-تاریخ در جاوا – مقدمهای بر LocalDate، LocalTime و LocalDateTime
Step 11 - Java Dates - Introduction to LocalDate, LocalTime, and LocalDateTime
Step 12-تاریخ در جاوا – بررسی LocalDate و متدهای آن
Step 12 - Java Dates - Exploring LocalDate - Creation and Methods to Play with D
Step 13-تاریخ در جاوا – مقایسه تاریخها و ایجاد تاریخهای خاص
Step 13 - Java Dates - Exploring LocalDate - Comparing Dates and Creating Specif
Step 14-نکته Eclipse – بررسی API جاوا
Eclipse Tip - Exploring Java API
Step 00-مقدمهای بر آرایه و ArrayList – شروع بخش با یک چالش
Step 00 - Introduction to Array and ArrayList - Section Introduction with a Challenge
Step 01-درک نیاز و مبانی آرایهها
Step 01 - Understanding the Need and Basics about an Array
Step 02-آرایههای جاوا – ایجاد و دسترسی به مقادیر
Step 02 - Java Arrays - Creating and Accessing Values – Introduction
Step 03-آرایههای جاوا – معماهای آرایههای اشیاء و انواع اولیه
Step 03 - Java Arrays - Puzzles - Arrays of Objects, Primitive Data Types, toStr
Step 04-آرایههای جاوا – مقایسه، مرتبسازی و پر کردن
Step 04 - Java Arrays - Compare, Sort, and Fill
Step 05-آرایههای جاوا – تمرین ایجاد کلاس Student (بخش ۱: مجموع و میانگین)
Step 05 - Java Arrays - Exercise - Create Student Class - Part 1 - Total and Ave
Step 06-آرایههای جاوا – تمرین ایجاد کلاس Student (بخش ۲: ماکزیمم و مینیمم)
Step 06 - Java Arrays - Exercise - Create Student Class - Part 2 - Maximum and Minimum
Step 07-مقدمهای بر آرگومانهای متغیر (Variable Arguments) – چرایی نیاز
Step 07 - Introduction to Variable Arguments – Need
Step 08-مقدمهای بر آرگومانهای متغیر – مبانی
Step 08 - Introduction to Variable Arguments – Basics
Step 09-مقدمهای بر آرگومانهای متغیر – بهبود کلاس Student
Step 09 - Introduction to Variable Arguments - Enhancing Student Class
Step 10-آرایههای جاوا – استفاده از اشیاء Person و رشتهها همراه با تمرین
Step 10 - Java Arrays - Using Person Objects and String Elements with Exercises
Step 11-نکته Eclipse – تولید کد (Code Generation)
Eclipse Tip - Code Generation
Step 12-آرایههای رشتهای جاوا – پاسخ تمرین چاپ روزهای هفته
Step 11 - Java String Arrays - Exercise Solutions - Print Day of Week with Most
Step 13-افزودن و حذف نمرات – مشکل آرایهها
Step 12 - Adding and Removing Marks - Problem with Arrays
Step 14-نگاه اول به ArrayList – مقدمه
Step 13 - First Look at ArrayList - an Introduction
Step 15-نگاه اول به ArrayList – بازنویسی کلاس Student برای استفاده از ArrayList
Step 14 - First Look at ArrayList - Refactoring Student Class to Use ArrayList
Step 16-نگاه اول به ArrayList – ارتقای کلاس Student با متدهای Add و Remove
Step 15 - First Look at ArrayList - Enhancing Student Class with Add and Remove
Step 17-آرایه و ArrayList – نتیجهگیری
Step 16 - Array and ArrayList – Conclusion
برنامهنویسی شیءگرا (مجدداً)
Object-Oriented Programming Again
Step 00-برنامهنویسی شیءگرا سطح ۲ – مقدمه بخش
Step 00 – Object-Oriented Programming - Level 2 - Section Introduction
Step 01-مبانی طراحی کلاس – کلاس، شیء، وضعیت و رفتار
Step 01 - Basics of Designing a Class - Class, Object, State, and Behavior
Step 02-مثال OOP – کلاس Fan – تعیین وضعیت و سازندهها
Step 02 - OOP Example - Fan Class - Deciding State and Constructors
Step 03-مثال OOP – کلاس Fan – تعیین رفتار با متدها
Step 03 - OOP Example - Fan Class - Deciding Behavior with Methods
Step 01-مجموعههای جاوا – مرور بخش و نیاز به مجموعهها
Step 01 - Java Collections - Section Overview with Need for Collections
Step 02-اینترفیس List – مقدمه (جایگاه تعیینکننده است)
Step 02 - List Interface - Introduction - Position Is King
Step 03-اینترفیس List – تغییرناپذیری و معرفی پیادهسازیها (Array)
Step 03 - List Interface - Immutability and Introduction of Implementations – Array
Step 04-پیادهسازیهای List – مقایسه ArrayList و LinkedList
Step 04 - List Interface Implementations - ArrayList Versus LinkedList
Step 05-نکته برنامهنویسی – چگونه خودتان برنامهنویسی را در ۱۰ سال بیاموزید
Programming Tip - Teach Yourselves Programming in 10 Years
Step 06-پیادهسازیهای List – مقایسه ArrayList و Vector
Step 05 - List Interface Implementations - ArrayList Versus Vector
Step 07-اینترفیس List – متدهای افزودن، حذف و تغییر عناصر و لیستها
Step 06 - List Interface - Methods to Add, Remove, and Change Elements and Lists
Step 08-List و ArrayList – پیمایش (Iterating) روی عناصر
Step 07 - List and ArrayList - Iterating Around Elements
Step 09-List و ArrayList – انتخاب روش پیمایش برای چاپ و حذف
Step 08 - List and ArrayList - Choosing Iteration Approach for Printing and Delete
Step 10-List و ArrayList – معماهای ایمنی نوع (Type Safety) و حذف اعداد صحیح
Step 09 - List and ArrayList - Puzzles - Type Safety and Removing Integers
Step 11-List و ArrayList – مرتبسازی و معرفی Collections.sort()
Step 10 - List and ArrayList - Sorting - Introduction to Collections Sort Static
Step 12-List و ArrayList – مرتبسازی و پیادهسازی اینترفیس Comparable
Step 11 - List and ArrayList - Sorting - Implementing Comparable Interface
Step 13-List و ArrayList – مرتبسازی و ایجاد انعطافپذیری با Comparator
Step 12 - List and ArrayList - Sorting - Providing Flexibility by Implementing Comparator
Step 14-List و ArrayList – خلاصه
Step 13 - List and ArrayList - a Summary
Step 15-اینترفیس Set – مقدمه (بدون تکرار)
Step 14 - Set Interface - Introduction - No Duplication
Step 16-درک ساختار دادهها – آرایه، LinkedList و Hashing
Step 15 - Understanding Data Structures - Array, LinkedList, and Hashing
Step 17-درک ساختار دادهها – درخت (Tree) و ترتیب مرتب شده
Step 16 - Understanding Data Structures - Tree - Sorted Order
Step 18-اینترفیس Set – عملی با HashSet، LinkedHashSet و TreeSet
Step 17 - Set Interface – Hands-On - HashSet, LinkedHashSet and TreeSet
Step 19-اینترفیس Set – تمرین یافتن کاراکترهای منحصربهفرد در یک لیست
Step 18 - Set Interface - Exercise - Find Unique Characters in a List
Step 20-TreeSet – متدهای NavigableSet
Step 19 - TreeSet - Methods from NavigableSet - floor, lower, upper, subSet, head
Step 21-اینترفیس Queue – پردازش عناصر به ترتیب
Step 20 - Queue Interface - Process Elements in Order
Step 22-مقدمهای بر PriorityQueue – متدهای پایه و اولویت سفارشی
Step 21 - Introduction to PriorityQueue - Basic Methods and Customized Priority
Step 23-اینترفیس Map – مقدمه (کلید و مقدار)
Step 22 - Map Interface - an Introduction - Key and Value
Step 26-اینترفیس Map – مقایسه HashMap در مقابل LinkedHashMap و TreeMap
Step 25 - Map Interface - Comparison - HashMap Versus LinkedHashMap Versus TreeMap
Step 27-اینترفیس Map – تمرین شمارش تکرار کاراکترها و کلمات
Step 26 - Map Interface - Exercise - Count Occurrences of Characters and Words
Step 09-عملیات میانی Stream – تمرینها
Step 09 - Stream Intermediate Operations - Exercises - Squares of First 10, Map
Step 10-عملیات پایانی Stream ۱ – عملیات Max با Comparator
Step 10 - Stream Terminal Operations - 1 - Max Operation with Comparator
Step 11-عملیات پایانی Stream ۲ – عملیات Min و Collect به لیست
Step 11 - Stream Terminal Operations - 2 - Min, Collect To List
Step 12-کلاس Optional در جاوا – مقدمه
Step 12 - Optional Class in Java - an Introduction
Step 13-پشت صحنه رابطهای تابعی – پیادهسازی Predicate
Step 13 - Behind the Screen with Functional Interfaces - Implement Predicate Int
Step 14-پشت صحنه رابطهای تابعی – پیادهسازی Consumer
Step 14 - Behind the Screen with Functional Interfaces - Implement Consumer Int
Step 15-پشت صحنه رابطهای تابعی – پیادهسازی Function
Step 15 - Behind the Screen with Functional Interfaces - Implement Function Int
Step 16-سادهسازی کدهای تابعی با Method References
Step 16 - Simplify Functional Programming Code with Method References
Step 17-توابع، شهروندان کلاس اول هستند
Step 17 - Functions Are First-Class Citizens
Step 18-مقدمهای بر برنامهنویسی تابعی – نتیجهگیری
Step 18 - Introduction to Functional Programming – Conclusion
مقدمهای بر تردها و همزمانی
Introduction to Threads and Concurrency
Step 01-مقدمهای بر تردها و چندرشتهای – نیاز به تردها
Step 01 - Introduction to Threads and Multi-Threading - Need for Threads
Step 02-ایجاد یک ترد برای وظیفه ۱ – ارثبری از کلاس Thread
Step 02 - Creating a Thread for Task 1 - Extending Thread Class
Step 03-ایجاد یک ترد برای وظیفه ۲ – پیادهسازی رابط Runnable
Step 03 - Creating a Thread for Task 2 - Implement Runnable Interface
Step 04-تئوری – حالات یک ترد
Step 04 - Theory - States of a Thread
Step 05-تعیین اولویت برای تردها
Step 05 - Placing Priority Requests for Threads
Step 06-ارتباط بین تردها – متد join
Step 06 - Communication between Threads - join Method
Step 07-متدهای کمکی ترد و کلمه کلیدی Synchronized – Sleep و Yield
Step 07 - Thread Utility Methods and Synchronized Keywords - Sleep, Yield
Step 08-نیاز به کنترل اجرای تردها
Step 08 - Need for Controlling the Execution of Threads
Step 09-مقدمهای بر Executor Service
Step 09 - Introduction to Executor Service
Step 10-Executor Service – سفارشیسازی تعداد تردها
Step 10 - Executor Service - Customizing Number of Threads
Step 11-Executor Service – بازگرداندن Future از ترد با استفاده از Callable
Step 11 - Executor Service - Returning a Future from Thread Using Callable
Step 12-Executor Service – انتظار برای اتمام چندین وظیفه با invokeAny
Step 12 - Executor Service - Waiting for Completion of Multiple Tasks Using invokeAny
Step 13-Executor Service – انتظار فقط برای سریعترین وظیفه با invokeAny
Step 13 - Executor Service - Wait for Only the Fastest Task Using invokeAny
Step 14-تردها و چندرشتهای – نتیجهگیری
Step 14 - Threads and Multi-Threading – Conclusion
مقدمهای بر مدیریت استثنا
Introduction to Exception Handling
Step 01-مقدمهای بر مدیریت استثنا – فرآیند فکری شما هنگام وقوع خطا
Step 01 - Introduction to Exception Handling - Your Thought Process During Exception
Step 02-مبانی استثنا – NullPointerException و StackTrace
Step 02 - Basics of Exceptions - NullPointerException and StackTrace
Step 03-مبانی مدیریت استثنا – try و catch
Step 03 - Basics of Handling Exceptions - try and catch
Step 04-مبانی مدیریت استثنا – سلسله مراتب استثنا، تطبیق و Catch
Step 04 - Basics of Handling Exceptions - Exception Hierarchy, Matching, and Catch
Step 05-مبانی مدیریت استثنا – نیاز به finally
Step 05 - Basics of Handling Exceptions - Need for finally
همزمانی پیشرفته با مجموعههای همزمان و عملیات اتمیک
More Concurrency with Concurrent Collections and Atomic Operations
Step 01-شروع کار با Synchronized
Step 01 - Getting Started with Synchronized
Step 02-مشکل Synchronized – کاهش همزمانی
Step 02 - Problem with Synchronized - Less Concurrency
Step 03-ورود به قفلها با ReentrantLock
Step 03 - Enter Locks with ReEntrantLock
Step 04-مقدمهای بر کلاسهای اتمیک – AtomicInteger
Step 04 - Introduction to Atomic Classes – AtomicInteger
Step 05-نیاز به ConcurrentMap
Step 05 - Need for ConcurrentMap
Step 06-پیادهسازی یک مثال با ConcurrentHashMap
Step 06 - Implementing an Example with ConcurrentHashMap
Step 07-استفاده ConcurrentHashMap از قفلهای متفاوت برای نواحی مختلف
Step 07 - ConcurrentHashMap Uses Different Locks for Different Regions
Step 08-مجموعههای همزمان CopyOnWrite – زمانی که خواندن بیشتر از نوشتن است
Step 08 - CopyOnWrite Concurrent Collections - When Reads Are More Than Writes
Step 09-نتیجهگیری
Step 09 – Conclusion
نکات کاربردی جاوا
Java Tips
Step 10-نکته جاوا ۱: Importها و Static Importها
Java Tip 01 - Imports and Static Imports
Step 14-نکته جاوا ۵: اصلاحکنندههای دسترسی کلاس – Public و Default
Java Tip 05 - Class Access Modifiers - Public and Default
Step 15-نکته جاوا ۶: اصلاحکنندههای دسترسی متد – Public، Protected، Private و Default
Java Tip 06 - Method Access Modifiers - Public, Protected, Private, and Default
Step 16-نکته جاوا ۷: کلاسهای Final و متدهای Final
Java Tip 07 - Final Classes and Final Methods
Step 17-نکته جاوا ۸: متغیرهای Final و آرگومانهای Final
Java Tip 08 - Final Variables and Final Arguments
Step 18-نکته جاوا ۹: چرا به متغیرهای Static نیاز داریم؟
Java Tip 09 - Why Do We Need Static Variables?
Step 19-نکته جاوا ۱۰: چرا به متدهای Static نیاز داریم؟
Java Tip 09 - Why Do We Need Static Methods?
Step 20-نکته جاوا ۱۱: متدهای Static نمیتوانند از متدها یا متغیرهای نمونه استفاده کنند
Java Tip 10 - Static Methods Cannot Use Instance Methods or Variables
Step 21-نکته جاوا ۱۲: Public Static Final – ثابتها
Java Tip 11 - Public Static Final – Constants
Step 22-نکته جاوا ۱۳: کلاسهای تو در تو – Inner Class در مقابل Static Nested Class
Java Tip 12 - Nested Classes - Inner Class Versus Static Nested Class
نمایش نظرات