من از سال 1983 یک مهندس نرمافزار/کامپیوتر در حال تمرین بودم. من مهندس نرمافزار تحقیق و توسعه نیروی هوایی ایالات متحده بودم و در آنجا تجربه مهندسی نرمافزار گستردهای را در کار با سیستمهای فرماندهی و کنترل وزارت دفاع برای سیستمهای فضایی و هواپیما به دست آوردم. من به عنوان مدیر توسعه محصول برای یک شرکت مهندسی نرم افزار تجاری، تلاش برای توسعه چندین برنامه کاربردی تجاری موفق را رهبری کردم.
من دارای مدرک کارشناسی ارشد در مهندسی کامپیوتر و مدرک کارشناسی ارشد در ریاضیات هستم. من همچنین دارای مدرک لیسانس در مهندسی برق، ریاضیات و علوم عمومی هستم.
تجربه من بهعنوان دانشجو، معلم و مهندس نرمافزار به من نشان داده است که دورههای آموزشی سنتی علوم رایانه بر موضوعات محدود، اما مهم، بدون نگاه کردن به «تصویر بزرگ»، یا نحوه تناسب همه قطعات با هم تمرکز میکنند. اغلب در آموزش سنتی، یک دوره برنامه نویسی بر جزئیات زبان تمرکز می کند، اما این دوره های خاص زبان ممکن است بر تجزیه و تحلیل و طراحی فعالیت هایی که برای ایجاد یک برنامه با کیفیت حیاتی هستند تمرکز نکنند. علاوه بر این، با حرکت از یک دوره به دوره دیگر، بحث کمی در مورد اینکه چگونه مفاهیم تحت پوشش در یک دوره با مفاهیم پوشش داده شده در دوره دیگر مرتبط هستند، وجود دارد.
برای غلبه بر این کمبودها، برای هر دوره ای که تدریس می کنم، "تصویر بزرگ" را در ذهن نگه می دارم و روی مفاهیم اساسی و نحوه پیاده سازی مفاهیم در زبان برنامه نویسی خاص تمرکز می کنم. هنگامی که یک دوره به دانش پیش نیاز نیاز دارد، من اطمینان میدهم که دانش پیشنیاز در یادگیری ادغام میشود، بنابراین ارتباط بین دورهها وجود دارد.
من متوجه شده ام که در حالی که زبان های برنامه نویسی جزئیات بسیار مهم هستند. اگر مهارت های برنامه نویسی نداشته باشید، مصاحبه نخواهید داشت، اما درک مفاهیم و فرآیندهای توسعه به همان اندازه مهم هستند. در حالی که مهارت های برنامه نویسی ممکن است شما را وارد مصاحبه کند، درک شما از مفاهیم و فرآیند توسعه شما را استخدام می کند.
"برنامه نویسی شی گرا: یک رویکرد مفهومی آیا متوجه می شوید که برنامه نویسی شی گرا گیج کننده است و فقط می خواهید مفاهیم را درک کنید؟ اگر .."