C# 6.0 و Visual Studio 2015 پیشرفته (آخر هفته)

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

عنوان ترم جاری: آبان 95(3)
مدرس: مهدی کرامتی
تاریخ شروع دوره: جمعه 7 آبان 1395
روز برگزاری: جمعه
ساعت: 13:00 تا 16:00
طول مدت دوره: 30 ساعت (10 هفته متوالی)
شهریه: 600,000 تومان
 

خلاصه

یکی از مشخصه های یک برنامه نویس خوب و حرفه ای آشنایی با ابزارهای کارش است.

زبان سی شارپ نیز به عنوان اصلی ترین زبان مورد استفاده برنامه نویسان دات نت دارای قابلیت های فوق العاده مفیدی است که شناختن آنها توانایی زیادی به برنامه نویس می دهد.

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

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

اخطار: این دوره برای برنامه نویسان مبتدی چندان مناسب نیست.

مطالب مهم این دوره

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

  1. برنامه نویسی Object Oriented با سی شارپ
  2. آشنایی با ارث بری (Inheritance) و پلی مورفسیم (Polymorphism)
  3. کار کردن با Interface ها
  4. Collection ها و Generic ها
  5. آشنایی با Delegate ها، Event ها، و عبارت های Lambda
  6. قابلیت های پیشرفته زبان سی شارپ
  7. Linq To Objects
  8. Type Reflection ، Late Binding و برنامه نویسی مبتنی بر Attribute
  9. نوع های داینامیک و Dynamic Language Runtime
  10. برنامه نویسی Multithread , Parallel و Async

پیش نیازها

گذراندن دوره آموزشی "C# 6.0 و Visual Studio 2015 (مقدماتی)" و یا آشنایی با مطالب آن.


نحوه ثبت نام

برای ثبت نام می توانید مبلغ شهریه را به صورت کامل و یا بخشی از آن (پیش پرداخت) به صورت آنلاین، واریز به حساب بانکی و یا کارت به کارت پرداخت کنید.

کل مبلغ شهریه میبایست در اولین جلسه تشکیل کلاس تسویه شود.

پرداخت آنلاین با کلیه کارتهای بانکی عضو شبکه شتاب و با داشتن رمز دوم کارت، و CVV2 قابل انجام است.

در صورت واریز مبلغ به صورت کارت به کارت (از طریق عابر بانک) یا واریز به حساب بانکی میبایست جزئیات پرداخت را در بخش دوره های ثبت نام شده شما و انتخاب گزینه پرداخت شهریه ثبت کنید، در غیر این صورت پرداخت فوق از شهریه شما کسر نخواهد شد.

پرداخت شهریه به صورت اقساط طی هماهنگی با مسئولین آموزشگاه و با ارائه چک معتبر میسر است.


سرفصل های این دوره به شرح زیر است:

  1. برنامه نویسی Object Oriented با سی شارپ
    • آشنایی با کپسوله سازی (Encapsulation)
      • آشنایی با مفهوم کلاس
        • مقداردهی اولیه Object ها با استفاده از کلمه کلیدی new
      • آشنایی با Constructor ها
        • نقش Default Constructor
        • تعریف Constructor های Custom
        • بررسی مجدد Default Constructor
      • نقش کلمه کلیدی this
        • فراخوانی زنجیره های Constructor ها با استفاده از this
        • بررسی روند گردش کار Constructor ها
        • بررسی مجدد پارامترهای Optional
      • بررسی کلمه کلیدی Static
        • تعریف کردن فیلدهای static
        • تعریف کردن متدهای static
        • تعریف کردن Constructor های static
        • تعریف کردن کلاس های static
        • Import کردن اعضای Static با استفاده از کلمه کلیدی using
      • بررسی مفاهیم Object Oriented
        • نقش Encapsulation
        • نقش Inheritance
        • نقش Polymorphism
      • Access Modifier ها در سی شارپ
        • Access Modifier های پیش فرض
        • Access Modifier ها و نوع های تو در تو
      • بررسی اولین مفهوم: خدمات کپسوله سازی در سی شارپ
        • انجام کپسوله سازی با استفاده از روش های سنتی
        • کپسوله سازی با استفاده از Property های دات نت
        • استفاده از Property ها در تعریف کلاس
        • Property های Read-Only و Write-Only
        • بازبینی کلمه کلیدی static: تعریف Property های Static
      • آشنایی با Automatic Property ها
        • تعامل با Property های Automatic
        • Property های Automatic و مقدار پیش فرض
        • مقداردهی اولیه Property های Automatic
      • آشنایی با نحوه مقداردهی اولیه Object ها
        • فرخوانی Custom Constructor با استفاده از کلمه کلیدی new
      • مقداردهی اولیه داده ها
        • کار کردن با فیلدهای Constant
        • فیلدهای فقط خواندنی Static
      • آشنایی با کلاس های Partial
        • کاربرد کلاس های Partial
  2. آشنایی با ارث بری (Inheritance) و پلی مورفسیم (Polymorphism)
    • عملکرد پایه ای ارث بری
      • مشخص کردن یک کلاس Parent برای یک کلاس موجود
      • بررسی ارث برای چندگانه
      • کلمه کلیدی sealed
    • بررسی قابلیت Class Diagram در ویژوال استودیو
    • بررسی دومین اصل شیء گرایی: ارث بری:
      • بررسی ایجاد کلاس Parent با استفاده از کلمه کلیدی base
      • محرمانه نگه داشتن بعضی چیزها در کلاس ها با استفاده از کلمه کلیدی Protected
      • افزودن یک کلاس Sealed
    • برنامه نویسی برای مهار کردن (Containment) و اعطای امور (Delegation)
      • بررسی تعاریف تو در تو
    • بررسن سومین اصل شیء گرایی: پشتیبانی پلی مورفیسم در سی شارپ
      • کلمه های کلیدی virtual و override
      • override کردن اعضای virtual در محیط ویژوال استودیو
      • مسدود کردن اعضای Virtual
      • بررسی کلاس های Abstract
      • بررسی Interface های پلی مورفیک
      • بررسی Shadow کردن اعضا
    • بررسی نحوه Cast کردن کلاس های پایه / ارث برده شده
      • کلمه کلیدی As
      • کلمه کلیدی Is
    • بررسی کلاس اصلی دات نت: System.Object
      • Override کردن متد ToString
      • Override کردن متد Equals
      • Override کردن متد  GetHashCode
      • بررسی کلاس دستکاری شده Person
      • اعضای Static کلاس Object
  3. کار کردن با Interface ها
    • آشنایی با نوع Interface
      • مقایسه Interface با کلاس Abstract
    • تعریف Interface های Custom
    • پیاده سازی یک Interface
    • فرخوانی اعضای یک Interface در سطح Object
      • گرفتن یک Reference به Interface از طریق کلمه کلیدی as
      • گرفتن یک Reference به Interface از طریق کلمه کلیدی is
    • استفاده از Interface به عنوان پارامتر
    • استفاده از Interface به عنوان نوع بازگشتی
    • آرایه Interface ها
    • پیاده سازی Interface با استفاده از ویژوال استودیو
    • پیاده سازی Interface به صورت علنی
    • طراحی سلسله مراتبی Interface
      • ارث بری چندگانه با استفاده از Interface
    • Interface های IEnumerable و IEnumerator
      • ایجاد متدهای Iterator با استفاده از کلمه کلیدی yield
      • ایجاد یک Iterator دارای نام
    • IClonable
      • یک مثال Clone کردن با شرح کامل
    • IComparable
      • مشخص کردن مرتب سازی چندگانه با استفاده از IComparer
      • Property های Custom و نوع Sort سفارشی
  4. Collection ها و Generic ها
    • دلایل استفاده از کلاس های Collection
      • آشنایی با System.Collections
      • مروری بر System.Collections.Specialized
    • مشکلات Collection های غیر Generic
      • مشکلات در Performance
      • مشکلات Type Safety
      • اولین نگاه به Collection های Generic
    • نقش پارامترهای Generic
      • استفاده از کلاس های Generic به عنوان پارامتر
      • استفاده از کلاس های Generic به عنوان اعضای کلاس ها
      • استفاده از کلاس های Generic به عنوان  Interface
    • آشنایی با System.Collection.Generic
      • آشنایی با نحوه مقداردهی اولیه Collection ها
      • کار کردن با کلاس List<T>‎
      • کار کردن با کلاس Stack<T>‎
      • کار کردن با کلاس Queue<T>‎
      • کار کردن با کلاس SortedSet<T>‎
      • کار کردن با کلاس Dictionary<TKey,TValue>‎
    • آشنایی با System.Collections.ObjectModel
      • کار کردن با کلاس ObservableCollection<T>‎
    • کار کردن با متدهای Generic سفارشی
      • کار کردن با پارامترهای استنتاج نوع
    • ایجاد کلاس و نوع های Generic سفارشی
      • آشنایی با کلمه کلیدی default
    • مقید کردن پارامترها
      • مثال هایی از کاربرد کلمه کلیدی where
      • عدم وجود قیدهای اپراتور
  5. آشنایی با Delegate ها، Event ها، و عبارت های Lambda
    • آشنایی با نوع Delegate در دات نت
      • تعریف کردن یک Delegate در سی شارپ
      • کلاس های پایه System.MulticastDelegate و System.Delegate
    • ساده ترین مثال از Delegate
      • فراهم کردن یک شیء Delegate
    • ارسال اطلاعیه وضعیت Object از طریق Delegate
      • پاک کردن Target ها از لیست فراخوانی یک Delegate
    • آشنایی با رویدادها در سی شارپ
      • کلمه کلیدی event در سی شارپ
      • گوش دادن به رویدادهای دریافتی
      • ساده سازی ثبت رویداد با استفاده از ویژوال استودیو
      • پاک کردن فراخوانی رویداد با استفاده از اپراتور شرطی Null در C# 6.0
      • ایجاد پارامترهای سفارشی در رویداد
      • آشنایی با EventHandler<T>‎
  6. قابلیت های پیشرفته زبان سی شارپ
    • آشنایی با متدهای Indexer
      • استفاده از متدهای Indexer عددی
      • استفاده از متدهای Indexer رشته ای
    • آشنایی با Extension Method ها
      • تعریف Extension Method ها
      • فرخوانی Extension Method ها
      • کاربرد IntelliSense برای Extension Method ها
      • Extend کردن نوع هایی که از Interface خاصی مشتق هستند
    • آشنایی با Anonymous Type ها
      • تعریف یک Anonymous Type
      • بررسی ساختار درونی Anonymous Type ها
  7. Linq To Objects
    • آشنایی با ساختارهای برنامه نویسی ویژه LINQ
      • مشخص کردن نوع به صورت ضمنی برای متغیرهای محلی
      • شکل دستوری Initialize کردن Object ها و Collection ها
      • عبارت های Lambda
      • Extension Method ها
      • Anonymous Type ها
    • آشنایی با نقش LINQ
      • آشنایی با اسمبلی های LINQ
    • استفاده از LINQ برای Query گرفتن از آرایه های عادی
      • اگر LINQ وجود نداشت باید چه می کردیم؟
      • LINQ و عبارت های Lambda
      • Linq و Extension Method ها
      • نقش Deferred Execution
      • نقش Immediate Execution
    • باز گرداندن نتیجه یک LINQ Query
      • باز گرداندن نتایج LINQ از طریق Immediate Execution
    • استفاده از LINQ بر روی Collection ها
      • دسترسی به Object های درون Collection
    • بررسی اپراتورهای LINQ در C#‎
      • شکل دستوری ساده انتخاب
      • واکشی داده های زیرمجموعه
      • ایجاد خروجی در قالب نوع داده جدید
      • به دست آوردن تعداد با استفاده از Enumerable ها
      • معکوس کردن نتایج جستجو
      • عبارت های مرتب سازی
      • استفاده از LINQ به عنوان ابزار ساخت Diagram
      • حذف موارد تکراری
      • راهکارهای Aggregation در LINQ
  8. Late Binding
    • آشنایی با مفهوم Late Binding
      • آشنایی با کلاس System.Activator
      • فرخوانی متدهای فاقد پارامتر
      • فرخوانی متدهای دارای پارامتر
  9. نوع های داینامیک و Dynamic Language Runtime
    • نقش کلمه کلیدی dynamic
      • فراخوانی اعضا در داده های تعریف شده به صورت داینامیک
      • نقش اسمبلی Microsoft.CSharp
      • Scope کلمه کلیدی dynamic
      • محدودیت های کلمه کلیدی dynamic
      • کاربردهای های عملی کلمه کلیدی dynamic
  10. برنامه نویسی Multithread , Parallel و Async
    • مروری کوتاه بر Delegate ها در دات نت
    • طبیعت Asynchronous در Delegate ها
      • متدهای BeginInvkoke و EndInvoke
      • System.IAsyncResult
    • فرخوانی یک متد به صورت Asynchronous
      • همزمان سازی فراخوانی Thread ها
      • نقش AsyncCallback Delegate
      • نقش کلاس AsyncResult
      • پاس کردن و دریافت کردن داده های State سفارشی
    • برنامه نویسی با استفاده از Calback های تایمر
    • برنامه نویسی موازی با استفاده از Task Parallel Library
      • System.Threading.Tasks
      • نقش کلاس Parallel
      • موازی سازی داده ها با استفاده از کلاس Parallel
      • دسترسی به عناصر UI در Thread های ثانوی
      • کلاس Task
      • مدیریت درخواست انصراف از اجرا
      • موازی سازی Task ها با استفاده از کلاس Parallel
    • Query های موازی LINQ با استفاده از PLINQ
      • انتخاب کردن توسط PLINQ Query
      • کنسل کردن یک PLINQ Query
    • فرخوانی های همزمان با استفاده از کلمه کلیدی Async
      • نگاه اول به کلمات کلیدی async و await
      • قواعد نام گذاری برای متدهای async
      • متدهای async که void بر می گردانند
      • متدهای async که چند await دارند
      • بررسی یک مثال با استفاده از async/await
picture
picture

نظر دانشجویان دوره های قبلی
 نظر افرادی که قبلا در این دوره ها شرکت کرده اند  را بدانید.

بهترین ملاک برای قضاوت درباره کیفیت خدمات آموزشی ما نظرات مخاطبینی است که قبلا از این خدمان استفاده کرده اند. ادامه »

picture

تضمین کیفیت
تضمین کیفیت خدمات آموزشی ما موفقیت افرادی است که با ما همراه بوده اند..

Fusce vehicula dignissim ligula. Vestibulum sit amet neque eu neque suscipit consequat quis vel risus. Vestibulum vehicula purus nec dui accumsan fermentum. Read More »

picture

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

Fusce vehicula dignissim ligula. Vestibulum sit amet neque eu neque suscipit consequat quis vel risus. Vestibulum vehicula purus nec dui accumsan fermentum. Read More »