درباره دوره:
در این درس از مجموعه دورههای آموزش برنامه نویسی مکتب خونه فنونی مورد بررسی قرار میگیرند که در نوشتن برنامههای با کیفیت مؤثرند. محور اصلی این فنون برنامهنویسی شیءگرا خواهد بود که در قابلیت نگهداری برنامهها و استفاده مجدد از اجزای آنها نقش کلیدی دارد. علاوه بر این، درستی کارکرد، سرعت اجرا و استفاده بهینه از حافظه عوامل کیفی دیگری هستند که مورد توجه این درس هستند. زبان برنامهنویسی مورد استفاده سیپلاسپلاس است اما سعی میشود تا حد امکان مفاهیم مطرح شده مستقل از زبان و در سطحی بالاتر مورد بحث قرار بگیرند. پیشنیاز این درس دانستن مبانی کامپیوتر و برنامهنویسی به زبان سی (شامل مفاهیم پایه، توابع، ساختارها و اشارهگرها) میباشد. برنامههای مطرحشده در کلاس از طریق سایت یادداشتهای درس به نشانی ramtung.ir/apnotes/html قابل دسترسی هستند.
فیلم های آموزشی:
1 – جلسه اول – مقدمه درس
2 – جلسه دوم – مفاهیم مقدماتی زبان ++C
3 – جلسه سوم – طراحی بالا به پایین
4 – جلسه چهارم – مبانی توابع بازگشتی
5 – جلسه پنجم – پردازش بازگشتی لیست ها
6 – جلسه ششم – عقب گرد (backtracking)
7 – جلسه هفتم – مقدمه ای بر شی گرایی
8 – جلسه هشتم – پیاده سازی کلاس ها
9 – جلسه نهم – شبیه سازی حرکت توپ در میز-بخش اول
10 – جلسه دهم – شبیه سازی حرکت توپ در میز-بخش دوم
11 – جلسه یازدهم – اعضای ایستای کلاس
12 – جلسه دوازدهم – سربارگذاری عملگرها
13 – جلسه سیزدهم – رسیدگی به خطاها (بخش اول)
14 – جلسه چهاردهم – رسیدگی به خطاها (بخش دوم)
15 – جلسه پانزدهم – وراثت-1
16 – جلسه شانزدهم – وراثت-2
17 – جلسه هفدهم – چندریختی
18 – جلسه هجدهم – مطالعه موردی وراثت
19 – جلسه نوزدهم – مقدمه ای بر تحلیل و طراحی شیء گرا – 1
20 – جلسه بیستم – مقدمه ای بر تحلیل و طراحی شیء گرا – 2
21 – جلسه بیست و یکم – مدیریت حافظه در کلاس ها
22 – جلسه بیست و دوم – لیست های پیوندی-1
23 – جلسه بیست و سوم – لیست های پیوندی-2
24 – جلسه بیست و چهارم – iterator ها-مقدمه ای بر الگوها templates
25 – جلسه بیست و پنجم – ادامه مبحث الگوها-اشاره گر به توابع
26 – جلسه بیست و ششم – کتابخانه STL – بخش اول
27 – جلسه بیست و هفتم – الگوریتم ها در STL
28 – جلسه بیست و هشتم – عبارت های لاندا
29 – جلسه بیست و نهم – ادامه عبارت های لاندا- تبدیل تایپ ها
30 – جلسه سی ام – مقدمه ای بر مفاهیم پایه جاوا