دوره برنامه نویسی #C مقدماتی


سی شارپ (به انگلیسی: #C)، زبانی شیءگرا و سطح بالا از خانوادهٔ زبان‌های چارچوب دات‌نت شرکت مایکروسافت است.

زبان سی شارپ، یک زبان برنامه‌نویسی چند الگویی است و نسخه منظم شده مدل‌های تابعی، امری، عمومی، شئ‌گرا و جزء گرا و در بستر دات نت می‌باشد. این زبان توسط مایکروسافت و جزئی از دات نت به وجود آمد و بعداً استانداردهای ECMA و ISO را نیز در بر گرفت. سی شارپ یکی از 44 زبان برنامه‌نویسی است که توسط زمان اجرای زبان مشترک از چارچوب دات‌نت پشتیبانی می‌شوند و در همه جا به وسیله مایکروسافت ویژوال استودیو شناخته می‌شود.

زبان سی شارپ با قدرت و در عین حال سطح بالایی خود توانسته توجه بسیاری از برنامه نویسان را به خود جلب کند. این زبان برپایه سادگی، مدرن بودن، همه منظوره و شیءگرا بودن ساخته شد. آندرس هلزبرگ، طراح زبان برنامه‌نویسی دلفی، سرپرستی تیم طراحان زبان سی شارپ را بر عهده داشت. این زبان دارای دستوری شیءگرا مشابه ++C است و به شدت از زبان‌های جاوا و دلفی تأثیر پذیرفته‌ است. در ابتدا نام این زبان COOL بود که مخفف C like Object Oriented Language بود، هر چند در ژوئیه 2000، زمانی که مایکروسافت پروژه را عمومی اعلام کرد، اسم آن به سی شارپ تغییر پیدا کرد. آخرین نسخه آن نسخه 6.0 است که همزمان با دات‌نت 4.6 در سال 2015 منتشر شد.

در سال 1999، شرکت سان اجازه استفاده از زبان برنامه‌نویسی جاوا را در اختیار مایکروسافت قرار داد تا در سیستم‌عامل خود از آن استفاده کند. جاوا در اصل به هیچ پلتفرم یا سیستم‌عاملی وابسته نبود، ولی مایکروسافت برخی از مفاد قرار داد را زیر پا گذاشت و قابلیت مستقل از سیستم‌عامل بودن جاوا را از آن برداشت. شرکت سان پرونده‌ای علیه مایکروسافت درست کرد و مایکروسافت مجبور شد تا زبان شیءگرای جدیدی با کامپایل جدید که به ++C شبیه بود را درست کند. در طول ساخت دات‌نت، کلاس‌های کتابخانه‌ای با زبان و کامپایلر SMC نوشته شدند. در سال 1999 آندرس هلزبرگ گروهی را برای طراحی زبانی جدید تشکیل داد که در آن زمان نامش Cool بود و همانند C بود با خواص شیءگرایی. مایکروسافت در نظر داشت اسم این زبان را تا آخر Cool قرار دهد، ولی به دلیل مناسب نبودن برای اهداف تجاری این کار را نکرد. در ارائه و معرفی رسمی چارچوب دات‌نت در PDC در سال 2000 این زبان به سی شارپ تغییر نام یافت و کتابخانه کلاس‌ها و runtime در ای‌اس‌پی‌دات‌نت به سی‌شارپ منتقل شدند. مدیر و سرپرست طراحان در مایکروسافت آندرس هلزبرگ بود که تجربه قبلی او در طراحی Framework و زبان‌های برنامه سازی ++Borland، دلفی، Turbo Pascal، ویژوال سی++ به آسانی در دستورالعمل‌های سی‌شارپ قابل رؤیت است و به همان خوبی در هسته CLR.

:: سرفصل ها ::

  • آشنایی با محیط Visual Studio
    • شروع برنامه نویسی با محیط Visual Studio
    • یک برنامه کنسول ایجاد کنید
    • نوشتن اولین برنامه
    • کدنویسی با کمک قابلیت Intellisense (حس هوشمند)
    • Build و اجرای برنامه
    • استفاده از فضاهای نام
    • سعی در نامگذاری دستی
    • ایجاد یک برنامه ویندوز دارای فرم
    • ایجاد یک پروژه ویندوز در VS.NET
    • طراحی واسط کاربری برنامه
    • تغییر خاصیت های یک کنترل در نمای Design
    • نوشتن یک کد ساده برای دکمه OK
    • اجرای برنامه
  • متغیرها و متدها در #C
    • مفهوم متغیر، عملگر و عبارت
    • دستور چیست؟
    • استفاده از شناسه ها (Identifier)
    • کلمات کلیدی (Keywords)
    • استفاده از متغیرها
    • نامگذاری متغیرها
    • تعریف متغیرها
    • کار با انواع داده مقدماتی
    • عملگرهای ریاضی
    • تعیین مقادیر یک عملگر
    • کنترل اولویت
    • خاصیت انجمنی عملگرها
    • نوشتن متد و اعمال کردن محدوده (Scope)
    • تعریف متد
    • دستور زبان (Syntax) تعریف متد
    • دستور return
    • برنامه نمونه با کمک متدها
    • درک محدوده (Scope)
    • محدوده کلاس
  • سربارگذاری، اشکال زدایی، ساختارهای تصمیم و تکرار
    • سربارگذاری شناسه ها
    • Debugger محیط VS.NET
    • استفاده از دستورات تصمیم گیری
    • تعریف متغیرهایی از نوع bool
    • استفاده از عملگرهای بولی
    • عملگرهای مقایسه ای
    • عملگرهای منطقی
    • اولویت و خاصیت انجمنی عملگرها
    • دستورات کنترل شرط
    • دستورات if تو در تو
    • برنامه ای با کمک دستور if
    • استفاده از ساختار دستور switch
    • دستور زبان ساختار switch
    • عملگرهای انتساب مرکب
    • افزایش و کاهش متغیرها
    • ساختارهای تکرار
    • ساختار while
    • ساختار for
    • محدوده دستور for
    • ساختار do
  • مدیریت خطاها و سرریز محاسبات اعداد صحیح
    • مدیریت خطاها و استثناها
    • درک مفهوم Exception
    • مقابله با خطاها
    • دستورات try و catch
    • استفاده از چند اداره کننده catch
    • نوشتن یک اداره کننده catch عمومی
    • استفاده از عملیات ریاضی checked و unchecked روی اعداد صحیح
    • تفاوت دستورات checked و unchecked با عبارات مشابه
    • ایجاد Exception ها
    • بلاک finally
  • آشنایی مقدماتی با کلاس ها و برخی عناصر داخلی آنها
    • ایجاد و مدیریت کلاس ها و اشیاء (Object)
    • طبقه بندی چیست؟
    • کپسوله سازی (Encapsulation) چیست؟
    • کنترل اجازه دستیابی
    • نوع داده های انتزاعی
    • کار با سازنده ها و کلمه کلیدی new
    • سازنده (Constructor) چیست؟
    • سربارگذاری سازنده ها
    • نام گذاری و قابلیت دستیابی
    • نوشتن سازنده و ایجاد اشیاء در یک برنامه
    • نوشتن و فراخوانی یک متد نمونه در برنامه
    • فیلدها و متدهای ایستا static
    • ایجاد یک فیلد مشترک
    • ایجاد یک فیلد static با استفاده از کلمه کلیدی const
    • استفاده از فیلدهای ایستا و فراخوانی متدهای static در برنامه
  • انواع پارامترها و اعمال مربوط به آنها
    • درک مفهوم مقدار (Value) و ارجاع (Reference)
    • کپی کردن کلاس ها و متغیرهای int
    • استفاده از پارامترهای مقداری و پارامترهای ارجاعی
    • استفاده از پارامترهای out و ref
    • تفاوت پارامتر و آرگومان
    • ایجاد پارامترهای ref
    • ایجاد پارامترهای out
    • استفاده از پارامترها در برنامه
    • پشته (Stack) و Heap چیست؟
    • استفاده از Stack و Heap
    • کلاس System.Object چیست؟
    • چرا کلاس System.Object این اندازه مهم است؟
    • Boxing چیست؟
    • Unboxing چیست؟
  • ایجاد انواع مقداری enum و struct
    • ایجاد انواع مقداری (Value Types) با استفاده از نوع شمارشی و ساختارها
    • کار با انواع شمارشی
    • تعریف یک نوع شمارشی
    • انتخاب مقادیر برای عناصر enum
    • انتخاب نوع عناصر یک enum
    • استفاده از یک enum
    • کاربرد enum در برنامه
    • کار با نوع struct
    • تعریف نوع struct
    • درک تفاوت بین struct و کلاس
    • تعریف متغیر از نوع struct
    • درک مفهوم انتساب صریح struct ها
    • فراخوانی سازنده های یک struct
    • کپی کردن متغیرهای struct
    • کلمه های کلیدی معادل انواع داده مقدماتی
    • ایجاد و استفاده از یک struct در برنامه
  • آرایه ها و کلاس های مجموعه ای
    • استفاده از آرایه ها و مجموعه ها
    • آرایه چیست؟
    • تعریف متغیرهایی بصورت آرایه
    • ایجاد نمونه هایی از یک آرایه
    • مقداردهی اولیه به متغیرهایی از نوع آرایه
    • دستیابی به عناصر آرایه
    • دستیابی به عناصر یک آرایه با استفاده از حلقه تکرار (گردش در عناصر آرایه)
    • کپی کردن آرایه
    • استفاده از کلاس System.Array
    • کلاس های مجموعه ای چیست؟
    • کلاس مجموعه ای ArrayList
    • کلاس مجموعه ای Queue (صف)
    • کلاس مجموعه ای Stack (پشته)
    • کلاس مجموعه ای SortedList
    • مقایسه آرایه ها و مجموعه ها
    • برنامه نمونه به کمک کلاس های مجموعه ای
  • کاربرد آرایه در متدها
    • آرایه ای از پارامتر
    • ایجاد متدهای overload شده
    • استفاده از آرگومان هایی از نوع آرایه
    • تعریف آرایه params
    • پارامترهایی با تعداد و نوع متغیر
    • یک نکته درمورد Console.WriteLine
    • استفاده از آرایه params
    • کاربرد متدهای دارای پارامتر از نوع آرایه params در یک برنامه
    • فراخوانی یک متد با آرایه params در یک برنامه
    • استفاده از متد Main
  • برنامه نویسی شئ گرا و مفاهیم پیشرفته کلاس ها
    • برنامه نویسی شئ گرا
    • درک تفاوت کلاس ها و اشیاء
    • انتزاع (Abstraction)
    • انواع داده انتزاعی (abstract)
    • کپسوله سازی (Encapsulation) از نمای دقیق تر
    • وراثت چیست؟
    • بازبینی وراثت بصورت دقیق
    • کامپایل کردن برنامه ای با چند کلاس
    • مشخص کردن کلاس پایه در #C
    • محدوده (Scope) همراه با وراثت
    • استفاده مجدد از شناسه های کلاس پایه در کلاس های مشتق شده
    • کار با متدهای به ارث برده شده
    • چند ریختی (Polymorphism)
    • متدهای انتزاعی
    • استفاده از کلمه کلیدی this
    • استفاده از کلمه کلیدی base
    • دسترسی به فیلدها و متدهای کلاس پایه توسط کلمه کلیدی base
    • کلاس های مهروموم شده (Sealed)
    • مظروف سازی (Containment) و نمایندگی (Delegation)
    • استفاده از مظروف سازی در برنامه
    • نقش کلاس System.Object در زنجیره وراثت
  • رابط ها
    • مفهوم رابط (Interface)
    • تعریف یک رابط
    • تعریف متدهای یک رابط
    • محدودیت های رابط ها
    • مشتق شدن از رابط های پایه
    • پیاده سازی یک رابط
    • پیاده سازی متدهای همنام در رابط های مختلف
    • دسترسی به اعضای رابط ها
    • بررسی یک شئ ازنظر پشتیبانی از یک رابط خاص
    • دسترسی به یک رابط برروی یک شئ
    • کلمه کلیدی as از نگاه دقیق تر
    • تعیین محدوده اعتبار رابط ها
    • پیاده سازی رابط های موجود در NET Framework.
    • پشتیبانی از foreach به کمک رابط های IEnumerable و IEnumerator
    • رابط ها بعنوان عامل قدرت برنامه نویسی شئ گرا
  • بررسی دقیق عناصر کلاس
    • یک کلاس در #C دقیقاً چیست؟
    • درک متد Main
    • استفاده از آرگومان های خط فرمان
    • بازگرداندن مقادیر
    • درک کامل بدنه کلاس
    • استفاده از ثابت ها
    • استفاده از فیلدها
    • استفاده از متدها
    • استفاده از خاصیت ها
    • استفاده از دستیاب ها
    • خاصیت های فقط خواندنی و فقط نوشتنی
    • استفاده از رویدادها
    • استفاده از اندیس سازها
    • استفاده از اندیس سازهای خواندنی و نوشتنی
    • استفاده از عملگرها
    • استفاده از سازنده ها
    • استفاده از مخرب ها
    • استفاده از انواع کلاسی
    • استفاده از کلمه کلیدی this بعنوان یک شناسه
    • درک مفهوم عناصر static
  • بررسی عملگرها در کلاس
    • سربارگذاری عملگرها
    • عملگرهای یکانی قابل سربارگذاری
    • سربارگذاری تفریق یکانی
    • سربارگذاری جمع یکانی
    • سربارگذاری معکوس سازی منطقی
    • سربارگذاری مکمل Hex بیتی
    • سربارگذاری عملگرهای true و false
    • عملگرهای دوتایی قابل سربارگذاری
    • سربارگذاری عملگرهای برابری و عدم تساوی
    • عملگرهای تبدیل نوع قابل سربارگذاری
    • سربارگذاری عملگر تبدیل نوع double
    • عملگرهای غیرقابل سربارگذاری
  • کنترل رویدادها
    • رویدادها و نماینده ها
    • تعریف Delegate
    • تعریف رویدادها
    • نصب کنترل کننده های رویداد
    • تولید رویدادها
    • نمایش مجموع اعداد زوج به کمک رویداد و نماینده
    • استانداردسازی طراحی یک رویداد
    • مجموع اعداد زوج با ساختار رویداد و نماینده استاندارد NET Framework.
    • استفاده از دستیاب های رویداد
    • استفاده از تغییردهنده های رویداد
    • رویدادهای static
    • رویدادهای virtual
    • رویدادهای override
    • رویدادهای abstract
    • مروری مجدد بر رویدادها و نماینده ها

دوره برنامه نویسی #C مقدماتی

افزودن به سبد خرید

مدت زمان: ۳۰ ساعت

قیمت: ۵۰۰,۰۰۰ ۲۵۰,۰۰۰ تومان

کیفیت: درحال بروزرسانی (کلاس آموزشگاه)

خرید: ۱۶۹ عدد