مبانی Async در C# 5
دات نت فریم ورک، از زمان ارائه نگارش یک آن، از اعمال غیرهمزمان و API خاص آن پشتیبانی می‌کرده‌است. همچنین این مورد یکی از ویژگی‌های Win32 نیز می‌باشد. نوشتن کدهای همزمان متداول بسیار ساده است. در این نوع کدها هر عملیات خاص، پس از پایان عملیات قبلی انجام می‌شود، اما برای انجام اعمال طولانی مانند دریافت اطلاعات از وب، مناسب نبوده و سبب قفل شدن ترد اصلی برنامه می‌شوند. برای حل این مشکل، راه‌حل‌های غیرهمزمانی از نگارش‌های آغازین دات نت وجود داشته‌اند؛ اما کار کردن با آن‌ها ساده نبوده و در روال‌های رخ‌دادگردان و یا تردهای دیگری بجز ترد اصلی و رابط کاربری برنامه صورت می‌گیرند که هر کدام مشکلات خوانایی، نگهداری و توسعه‌ی خاص خود را دارند. برای رفع این مشکلات، پشتیبانی توکاری از اعمال async در سی‌شارپ 5 صورت گرفته است که موضوع بحث دوره‌ی جاری می‌باشد.
آشنایی با Reflection.Emit
در این دوره به مباحثی مانند زبان اسمبلی دات نت و ایجاد کدهای IL در زمان اجرا پرداخته خواهد شد؛ به همراه روش‌هایی جهت جایگزینی Reflection متداول خواص، با نمونه‌هایی بسیار بسیار سریعتر که با کمک امکانات فضای نام Reflection.Emit میسر می‌شود.
Aspect oriented programming
AOP یکی از فناوری‌های مرتبط با توسعه نرم افزار محسوب می‌شود که توسط آن می‌توان اعمال مشترک و متداول موجود در برنامه را در یک یا چند ماژول مختلف قرار داد (که به آن‌ها Aspects نیز گفته می‌شود) و سپس آن‌ها را به مکان‌های مختلفی در برنامه متصل ساخت. عموما Aspects، قابلیت‌هایی را که قسمت عمده‌ای از برنامه را تحت پوشش قرار می‌دهند، کپسوله می‌کنند. اصطلاحا به این نوع قابلیت‌های مشترک، تکراری و پراکنده مورد نیاز در قسمت‌های مختلف برنامه، Cross cutting concerns نیز گفته می‌شود؛ مانند اعمال ثبت وقایع سیستم، امنیت، مدیریت تراکنش‌ها و امثال آن. با قرار دادن این نیازها در Aspects مجزا، می‌توان برنامه‌ای را تشکیل داد که از کدهای تکراری عاری است.