00:00 / 00:00
1.8x
1.4x
1.0x
0.7x
HD SD
HD
SD
00:00 / 00:00
1.8x
1.4x
1.0x
0.7x
HD SD
HD
SD

برنامه نویسی پیشرفته

دوره‌های دانشگاهی
30 جلسه

سرفصل‌ها

در این درس فنونی مورد بررسی قرار می‌گیرند که در نوشتن برنامه‌های با کیفیت مؤثرند. محور اصلی این فنون برنامه‌نویسی شیءگرا خواهد بود که در قابلیت نگهداری برنامه‌ها و استفاده مجدد از اجزای آنها نقش کلیدی دارد. علاوه بر این، درستی کارکرد، سرعت اجرا و استفاده بهینه از حافظه عوامل کیفی دیگری هستند که مورد توجه این درس هستند. زبان برنامه‌نویسی مورد استفاده سی‌پلاس‌پلاس است اما سعی می‌شود تا حد امکان مفاهیم مطرح شده مستقل از زبان و در سطحی بالاتر مورد بحث قرار بگیرند. پیش‌نیاز این درس دانستن مبانی کامپیوتر و برنامه‌نویسی به زبان سی (شامل مفاهیم پایه، توابع، ساختارها و اشاره‌گرها) می‌باشد. برنامه‌های مطرح‌شده در کلاس از طریق سایت یادداشت‌های درس به نشانی ramtung.ir/apnotes/html قابل دسترسی هستند.

مدرس دوره
رامتین خسروی
رامتین خسروی تحصیل خود را در مقاطع کارشناسی، کارشناسی ارشد و دکتری در رشته مهندسی نرم‌افزار در دانشگاه صنعتی شریف به انجام رساند و ضمن فعالیتی حدود ۱۵ ساله در صنعت نرم‌افزار به عنوان برنامه‌نویس، طراح و معمار نرم‌افزار، از سال ۱۳۸۶ به عضویت هیئت علمی دانشکده مهندسی برق و کامپیوتر در دانشکده فنی دانشگاه تهران درآمد. او از سال ۱۳۷۵ تدریس برنامه‌نویسی به زبان‌های پاسکال، سی، سی‌پلاس‌پلاس و جاوا را در دانشگاه‌های صنعتی شریف و تهران در سابقه خود دارد. رامتین علاوه بر برنامه‌نویسی به طراحی شیءگرا، معماری نرم‌افزار و متدلوژی‌های چابک توسعه نرم‌افزار بسیار علاقه‌مند است.
فیلم های آموزشی
36:43 ساعت
36:43
Combined Shape Created with Sketch. 30 جلسه
جلسه اول - مقدمه درس
"62:45
جلسه دوم - مفاهیم مقدماتی زبان ++C
"75:54
جلسه سوم - طراحی بالا به پایین
"73:10
جلسه چهارم - مبانی توابع بازگشتی
"73:11
جلسه پنجم - پردازش بازگشتی لیست ها
"70:37
جلسه ششم - عقب گرد (backtracking)
"73:10
جلسه هفتم - مقدمه ای بر شی گرایی
"61:37
جلسه هشتم - پیاده سازی کلاس ها
"72:36
جلسه نهم - شبیه سازی حرکت توپ در میز-بخش اول
"77:24
جلسه دهم - شبیه سازی حرکت توپ در میز-بخش دوم
"77:57
جلسه یازدهم - اعضای ایستای کلاس
"68:37
جلسه دوازدهم - سربارگذاری عملگرها
"82:26
جلسه سیزدهم - رسیدگی به خطاها (بخش اول)
"75:27
جلسه چهاردهم - رسیدگی به خطاها (بخش دوم)
"76:48
جلسه پانزدهم - وراثت-1
"77:18
جلسه شانزدهم - وراثت-2
"72:50
جلسه هفدهم - چندریختی
"73:42
جلسه هجدهم - مطالعه موردی وراثت
"68:53
جلسه نوزدهم - مقدمه ای بر تحلیل و طراحی شیء گرا - 1
"67:47
جلسه بیستم - مقدمه ای بر تحلیل و طراحی شیء گرا - 2
"70:37
جلسه بیست و یکم - مدیریت حافظه در کلاس ها
"74:58
جلسه بیست و دوم - لیست های پیوندی-1
"83:03
جلسه بیست و سوم - لیست های پیوندی-2
"70:37
جلسه بیست و چهارم - iterator ها-مقدمه ای بر الگوها templates
"76:21
جلسه بیست و پنجم - ادامه مبحث الگوها-اشاره گر به توابع
"76:26
جلسه بیست و ششم - کتابخانه STL - بخش اول
"74:47
جلسه بیست و هفتم - الگوریتم ها در STL
"74:17
جلسه بیست و هشتم - عبارت های لاندا
"70:07
جلسه بیست و نهم - ادامه عبارت های لاندا- تبدیل تایپ ها
"80:28
جلسه سی ام - مقدمه ای بر مفاهیم پایه جاوا
"68:57