جهت اطلاع از وضعیت دوره ها و دوره های جدید آکادمی برنامه نویسان در کانال تلگرام ما عضو شوید .
عضویت در کانال تلگرام آکادمی برنامه نویسان

دوره آموزش سی شارپ 6 - مقدماتی تا پیشرفته

دوره آموزش سی شارپ 6 - مقدماتی تا پیشرفته
  • مدرس : -
  • شروع دوره : -
  • طول دوره : -
  • روزهای برگزاری : -
  • شهریه :
توجه ! در کلاس از مطالب فیلم و صدا تهیه میشود و پایان هر جلسه در اختیار دانشجویان عزیز قرار داده خواهد .

شرح مختصری از دوره

در این دوره شما زبان برنامه نویسی سی شارپ، که یکی از قدرتمند ترین زبان های برنامه نویسی شیء گرا می باشد را از 0 تا 100 آموزش خواهید دید و پس از یادگیری با کمک این زبان می توانید تکنولوژی مورد علاقه خود را (وب، ویندوز و موبایل) انتخاب کرده و هرچه سریع تر در آن حرفه ای شوید.

مخاطبان دوره

  • افرادی که قصد یادگیری زبان برنامه نویسی سی شارپ را دارند و هیچ پیش زمینه ای از این زبان ندارند.
  • افرادی که نیاز به حرفه ای بودن در زبان برنامه نویسی سی شارپ دارند.
  • دوستداران برنامه نویسی شیء گرا با زبان سی شارپ.
  • افرادی که می خواهند امکانات جدید زبان سی شارپ 6 را بدانند.

پیشنیاز دوره

این دوره پیشنیاز ندارد .

عناوین مهم دوره

  • مقدمه درباره .NET Framework و زبان های .Net
  • آشنایی با  Visual Studio 2015
  • مبانی زبان C#‎
  • عملگرهای (اپراتورها)
  • معرفی شناسه ها و انواع داده ها درC# (Data Types)
  • خطا یابی (Debugging)
  • معرفی انواع دستورات شرطی و حلقه ها
  • مفاهیم اولیه کلاس نویسی
    • برنامه نویسی شیء گرا (Object Oriented)
    • تعریف اعضا برای کلاس ها
  • برنامه نویسی شی گرا(Object-Oriented Programming)
    • برنامه نویسی Object Oriented با سی شارپ
    • آشنایی با ارث بری (Inheritance) و پلی مورفسیم (Polymorphism)
    • کار کردن با Interface ها
    • Collection ها و Generic ها
    • آشنایی با Delegate ها، Event ها، و عبارت های Lambda
    • قابلیت های پیشرفته زبان سی شارپ
    • نوع های داینامیک و Dynamic Language Runtime
    • برنامه نویسی Multithread , Parallel و Async
  • آشنایی با بانک اطلاعاتی SQL Server
  • کار با Linq و Lambda Expressions
  • آشنایی و کار با Entity Framework
  • مبانی Windows Forms
  • انجام پروژه عملی ساخت دفترچه تلفن

سرفصل دوره

  • مقدمه
    • .NET Framework چیست؟
    • زبان های ‎.Net
    • معرفی انواع نسخه های C#
    • آشنایی با محیط IDE
  • آشنایی با  Visual Studio
    • آشنایی با محیط  Visual Studio 2015
    • آشنایی با منوهای C#.Net
    • ایجاد یک Console Application
    • آشنایی با پنجره ها در IDE ویژوال استودیو
    • آشنایی با جعبه ابزار
    • آشنایی با ویرایشگر کد
  • مبانی زبان C#‎
    • حساسیت به حروف بزرگ و کوچک
    • نگارش توضیحات در C#‎
    • اتمام دستورات
    • بلوک ها
  • عملگرهای (اپراتورها)
    • عملگرهای مقدار دهی
    • عملگرهای ریاضی
    • عملگرهای منطقی
    • عملگرهای افزاینده و کاهنده
    • عملگرهای مقایسه
    • عملگرهای شرطی
    • ارجحیت عملگرها
  • معرفی شناسه ها و انواع داده ها درC# (Data Types)
    • استانداردهای نام گذاری شناسه (متغیرها)
      • قوانین نام گذاری
      • استاندارد camelCase
      • استاندارد PascalCase
    • انواع داده های ساده (Simple Data Type)
    • انواع داده های پیچیده یا ترکیبی (Complex Data Type)
    • معرفی متغیرهای شمارشی یا Enums
    • تعیین مقدار و مقداردهی اولیه
    • روش تبدیل داده ها به نوع object و برعکس (Boxing and UnBoxing)
      • Type Cast
      • Convert
      • Parse
    • String ها و کاراکترهای Escape
    • کار با رشته ها و متدهای آن
      • Empty, Length
      • ToUpper, ToLower
      • Trim, TrimEnd, TrimStart
      • StartsWith, Contains
      • Split, Substring , Remove, Replace
      • Equals, Compare, IndexOf
      • Insert, Concat, Format, Join
    • نوشتن در خروجی
    • خواندن از ورودی
  • خطا یابی (Debugging)
    • انواع خطا ها
    • آشنایی با Break Point
    • روش پیدا کردن خطاهای زمان اجرا
    • ایجاد خطای دستی
    • به دام انداختن خطاهای زمان اجرا با استفاده از دستور try/catch/finally
  • معرفی انواع دستورات شرطی و حلقه ها
    • آشنایی با تصمیم گیری در برنامه
    • استفاده از دستور If
    • استفاده از دستور Else If
    • استفاده از دستورات If تودرتو
    • استفاده از دستور شرطی Switch
    • استفاده از دستور Default
    • آشنایی با حلقه ها
    • استفاده از حلقه For
    • نحوه شمارش معکوس در حلقه
    • استفاده از حلقه های Foreach
    • استفاده از حلقه While
    • حلقه Do و While
    • آشنایی با حلقه های تودرتو
      • نحوه خروج از حلقه Break
      • دستور Continue
    • حلقه های بی نهایت
  • مفاهیم اولیه کلاس نویسی
    • برنامه نویسی شیء گرا (Object Oriented)
      • برنامه نویسی شیء گرا چیست؟
        • یک Object چیست؟
        • هر چیزی یک Object است
        • چرخه حیات یک Object
        • اعضای Static و Instance
      • تکنیک های OOP
        • Interface ها
        • ارث بری (Inheritance)
        • پلی مورفیسم
        • رابطه بین Object ها
    • تعریف اعضا برای کلاس ها
      • تعریف اعضا
        • تعریف فیلدها
        • تعریف متدها
        • تعریف Property ها
        • Property های Automatic
      • مطالب تکمیلی درباره اعضای کلاس ها
        • مخفی کردن متدهای کلاس پدر
      • پیاده سازی Interface
        • پیاده سازی Interface در کلاس ها
      • تعریف کلاس های Partial
      • تعریف متدهای Partial
      • برنامه نمونه
        • نوشتن Class Library
        • یک نمونه برنامه استفاده کننده از Class Library
  • برنامه نویسی شی گرا(Object-Oriented Programming)
    • برنامه نویسی Object Oriented با سی شارپ
      • آشنایی با کپسوله سازی (Encapsulation)
        • آشنایی با مفهوم کلاس
          • مقداردهی اولیه Object ها با استفاده از کلمه کلیدی new
        • آشنایی با Constructor ها
          • تعریف Default Constructor
          • تعریف Constructor های Custom
        • نقش کلمه کلیدی 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
    • آشنایی با ارث بری (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
    • کار کردن با 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 سفارشی
    • 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>‎
        • کار کردن با کلاس Tuple<T>‎
        • کار کردن با کلاس Hashtable
      • آشنایی با System.Collections.ObjectModel
        • کار کردن با کلاس ObservableCollection<T>‎
      • کار کردن با متدهای Generic سفارشی
        • کار کردن با پارامترهای استنتاج نوع
      • ایجاد کلاس و نوع های Generic سفارشی
        • آشنایی با کلمه کلیدی default
      • مقید کردن پارامترها
        • مثال هایی از کاربرد کلمه کلیدی where
        • عدم وجود قیدهای اپراتور
    • آشنایی با Delegate ها، Event ها، و عبارت های Lambda
      • آشنایی با نوع Delegate در دات نت
        • تعریف کردن یک Delegate در سی شارپ
        • کلاس های پایه System.MulticastDelegate و System.Delegate
      • ساده ترین مثال از Delegate
        • فراهم کردن یک شیء Delegate
      • ارسال اطلاعیه وضعیت Object از طریق Delegate
        • پاک کردن Target ها از لیست فراخوانی یک Delegate
      • آشنایی با رویدادها در سی شارپ
        • کلمه کلیدی event در سی شارپ
        • گوش دادن به رویدادهای دریافتی
        • ساده سازی ثبت رویداد با استفاده از ویژوال استودیو
        • پاک کردن فراخوانی رویداد با استفاده از اپراتور شرطی Null در C# 6.0
        • ایجاد پارامترهای سفارشی در رویداد
        • آشنایی با EventHandler<T>‎
    • قابلیت های پیشرفته زبان سی شارپ
      • آشنایی با متدهای Indexer
        • استفاده از متدهای Indexer عددی
        • استفاده از متدهای Indexer رشته ای
      • آشنایی با Extension Method ها
        • تعریف Extension Method ها
        • فرخوانی Extension Method ها
        • کاربرد IntelliSense برای Extension Method ها
        • Extend کردن نوع هایی که از Interface خاصی مشتق هستند
      • آشنایی با Anonymous Type ها
        • تعریف یک Anonymous Type
        • بررسی ساختار درونی Anonymous Type ها
    • Linq
      • آشنایی با ساختارهای برنامه نویسی ویژه LINQ
        • عبارت های Lambda
        • Extension Method ها
        • Anonymous Type ها
      • آشنایی با نقش LINQ
        • آشنایی با اسمبلی های LINQ
      • استفاده از LINQ برای Query گرفتن از آرایه های عادی
        • اگر LINQ وجود نداشت باید چه می کردیم؟
        • LINQ و عبارت های Lambda
        • Linq و Extension Method ها
        • نقش Deferred Execution
        • نقش Immediate Execution
      • استفاده از LINQ بر روی Collection ها
        • دسترسی به Object های درون Collection
      • بررسی اپراتورهای LINQ در C#‎
        • شکل دستوری ساده انتخاب
        • واکشی داده های زیرمجموعه
        • ایجاد خروجی در قالب نوع داده جدید
        • به دست آوردن تعداد با استفاده از Enumerable ها
        • معکوس کردن نتایج جستجو
        • عبارت های مرتب سازی
        • حذف موارد تکراری
    • نوع های داینامیک و Dynamic Language Runtime
      • نقش کلمه کلیدی dynamic
        • فراخوانی اعضا در داده های تعریف شده به صورت داینامیک
        • نقش اسمبلی Microsoft.CSharp
        • Scope کلمه کلیدی dynamic
        • محدودیت های کلمه کلیدی dynamic
        • کاربردهای های عملی کلمه کلیدی dynamic
    • برنامه نویسی 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
  • آشنایی با بانک های اطلاعاتی
    • ایجاد بانک اطلاعاتی و ساختار مورد نیاز
      • ایجاد جداول
      • تعریف کردن روابط جداول و قیدها
    • آشنایی با برنامه نویسی بانک اطلاعاتی با Sql Server و Ado.Net
    • معرفی Ado.Net
    • معرفی فضای نام Data
    • معرفی کلاس Sql Connection
    • نحوه اتصال و قطع اتصال از یک بانک اطلاعاتی
    • معرفی کلاس Sql Command
    • معرفی خاصیت Connection
    • معرفی خاصیت Command Text
    • معرفی ExecuteNonQuery
    • معرفی کلاس Sql Date Adapter
    • چهار عمل اصلی کنترل بانک اطلاعات SQL
      • Select Command
      • Update Command
      • Insert Command
      • Delete Command
    • نحوه تنظیم Command ها با استفاده از Sql
    • نحوه تنظیم Command ها با استفاده از Stored Procedure
    • نحوه استفاده از Command Builder برای ایجاد دستورات Sql
    • آشنایی با متد Fill
    • آشنایی با کلاس Data Set
    • آشنایی با کلاس Data View
    • نحوه استفاده عملی از کلاس های Ado.Net
    • نحوه تغییر خاصیت های DataGridView
    • پشتیبان گیری از اطلاعات و جداول طراحی شده
      • Backup & Restore
      • Generate Scripts
  • کار با Linq و Lambda Expressions
    • دستورات Linq
      • Any
      • Contains
      • Count
      • First
      • FirstOrDefault
      • OrderBy
      • OrderByDescending
      • Select
      • Skip
      • Take
      • Where
      • Sum
      • برقرای Join در Linq
  • آشنایی و کار با Entity Framework
    • مفاهیم اصلی در Entity Framework
      • Data Provider چیست ؟
      • آشنایی با Entity Framework 6
    • شروع کار با Entity Framework
      • ساخت بانک اطلاعاتی در Sql
      • ساخت جداول مربوطه
      • برقراری رابطه بین جداول
      • ساخت Model Entity
      • ایجاد یک EDMX
      • مدیریت داده ها در بانک اطلاعاتی با استفاده از EF
        • خواندن اطلاعات از جداول
        • ثبت اطلاعات در جداول
        • بروز رسانی اطلاعات
        • حذف اطلاعات
        • ثبت و ویرایش و حذف اطلاعات از جداول دارای Forign Key
  • مبانی Windows Forms
    • تنظیمات فرم (Form Properties)
    • کنترل های استاندارد
    • Resource ها
    • کار با بانک های اطلاعاتی در Winforms
    • آشنایی با Data Binding
  • انجام پروژه عملی ساخت دفترچه تلفن
    • طراحی دیتابیس پروژه
    • ایجاد پروژه در ویژوال استودیو
      • افزودن فرم اصلی برنامه
      • ایجاد منوی اصلی برنامه
      • افزودن فرم های فرعی
      • افزودن اتصال های لازم به منابع داده
    • افزودن شماره تماس جدید بهمراه تصویر به دفترچه تلفن
    • ویرایش اطلاعات برنامه
    • حذف شماره تماس ها به همراه تصاویر
    • نمایش اطلاعات در GridView
    • امکان جستجو و فیلتر کردن اطلاعات
    • فارسی سازی پروژه
    • اعتبار سنجی فرم ها با استفاده از کامپوننت