در پاسخ به کامنتهای دوستان مبنی بر رئوس مطالبیکه باید از شروع تا برنامه نویس تجاری شدن یاد بگیرید اینجا می نویسم.مطالب باید به ترتیبی که گفته میشه فراگرفته بشن و هر مقاطع لازم هم پروژه ای انجام و کدهای زیادی در همون مطلب مرتبط از برنامه ها و کدهای خوب ، خونده بشن:
1- ترم 1:
- مقدمه ای بر برنامه نویسی:شامل ساختار اصلی یک برنامه ، عبارات کنترل برنامه ، حلقه ها ، دستورات شرطی و… در این مرحله نیازی به آشنایی با مفاهیم OOP نیست و تاکید بر عادات خوب برنامه نویسی هست.موضوعاتی از قبیل نکاتیکه باید برای خوانایی کد رعایت بشه و مسایلی از این دست که در برخی پستهای قبلی اشاره کردم.بنظرم میرسه ، زبان VB زبان مناسبی باشه هرچند شخصا Rubby و پاسکال رو توصیه میکنم.
- منطق برنامه ، مفهوم کلمات کلیدی در زبانهای برنامه سازی ، نحوه و مراحل کد نویسی ، ترجه ، تفسیر تا تولید برنامه اجرایی
- مبانی شبکه و مدیریت سیستم: عمده تمرکز بر روی مفاهیم کلیدی شبکه و همچنین آشنایی کامل با TCP/IP
2- ترم 2: شامل:
- درک مفاهیم Usability یعنی نحوه شناسایی نیازهای اساسی کاربران نهایی نرم افزار و Accessibilty یعنی نیازهای اختصاصی کاربران.
- تئوری بانکهای اطلاعاتی
- مهارتهای اصلی برنامه نویسی: در این مرحله ، دانشجو/نوآموز باید با مفاهیم کتابخانه توابع آشنا باشه و بتونه برای برنامه هاش کتابخانه ایجاد بکنه.روش تهیه این کتابخانه ها و روش تشخیص توابع کتابخانه ای و …. که بتونه توسعه نرم افزار رو تسهیل بکنه از مهارتهای اصلی این دوره هست که باید فراگرفته بشه.
-طراحی بروش OOP
3- ترم 3: شامل:
- ساختمان داده : که حتما باید با C آموخته بشه و تمامی عناوینش با جزییات آموخته بشه ، صف ها ، گرافها ، درختهای دودویی ، پشته ، لیستهای پیوندی و ….
- مستند سازی مشخصه های فنی: در این بخش باید یاد بگیرید که چگونه مشخصه نیازمندیهای کاربر رو دریافت کنید و اونرو به فرمی از مستندات فنی تبدیل کنید.همچنین در این دوره مقدماتی از روش UML گفته میشه.
- برنامه نویسی کاربردهای مبتنی بر بانک اطلاعاتی و Client/Server
- مبانی طراحی صفحات وب: در این زمان باید HTML و CSS و همچنین جاوااسکریپت بطور کامل فراگرفته بشه.
4- ترم 4: شامل:
- اعتبار سنجی داده ها: باید روشهای اعتبارسنجی داده ها و بخصوص مفاهیم Regular Expressions بطور کامل آموخته بشه.
- برنامه نویسی ++C : در حد مقدماتی
- آشنایی با زبانهای برنامه سازی مبتنی بر مفسر: باید قابلیتها و امکانات ، تفاوتها و محل کاربرد هر یک از زبانهای Perl , Ruby , Python و جاوااسکریپت فراگرفته بشه.
- طراحی گزارش: در این مرحله باید اصول طراحی گزارش و مفاهیم اون و مدلسازی داده ها برای ساخت گزارش آموخته بشه.
5- ترم 5: شامل:
- زبان ++C پیشرفته کار با OOP و کلاسها و جریانها و ….
- معماری بانک اطلاعاتی : نحوه طراحی بانک اطلاعاتی متناسب با نوع نرم افزار و پیاده ساطی این طراحی بزبان SQL
- روشهای توسعه و تولید نرم افزار: باید مفاهیم RUP و فازهای اون و روشهای توسعه نرم افزار اعم از آبشاری ، RAD و … کاملا فراگرفته بشه.
6- ترم 6: شامل:
- برنامه نویسی بزبان جاوا : ترجیحا در محیط Eclipse
- برنامه نویسی بزبان VB.Net
- برنامه نویسی بزبان #C
- مفاهیم امنیت نرم افزار ، قفل گذاری ، محافظت از برنامه و بانک اطلاعاتی و مفاهیمی از قبیل Hack & Crack و همچنین SQL Injection و….
7- ترم 7: شامل:
- برنامه نویسی یونیکس: بهمراه آشنایی با مفاهیم و معماری یونیکس
- برنامه نویسی ویندوز بهمراه آشنایی کامل با معماری و مفاهیم ویندوز
- آنالیز کیفی(QA)
- مستندسازی: شامل روش و استانداردهای نوشتن توضیحات در داخل کد ، تهیه مستندات راهنمای کاربران و…
8- ترم 8: شامل:
- برنامه نویسی گروهی(تیمی): مهارتهای کار در گروه و کار گروهی ، روشهای مدیریت گروههای نرم افزاری ، بهمراه شرکت اقلا در دو پروژه که بصورت گروهی کار شده باشه.
- توسعه نرم افزارهای چند رگه ای (multithread)
- برنامه نویسی گرافیکی و DirectX و OpenGL بویژه با ++C
- نحوه نوشتن ابزارگردان یا Device Driver
- نحوه نوشتن برنامه های شبکه (Sockets) مانند فایروالها ، و….
موفق باشید.

گوگل ریدر اشتراکی
3 جواب تا اینجا
محمدرضا // ژوئن 2, 2008 روی 7:13 ق.ظ |
استاد نگفتی که طی کردن این دورهها چقدر زمان میبره و از چه طریقی باید این مهارتها را کسب کرد؟
سروش // ژوئن 4, 2008 روی 11:13 ق.ظ |
مسلما برنامه ی سنگینیه ولی خب شاید هر که طاووس خواهد باید که جور هندوستان کشد
نبی // ژوئن 5, 2008 روی 6:18 ق.ظ |
دکتر! میخوام بدونم تا چه حد تحصیلات دانشگاهی و کلاً آکادمیک در برنامه نویس “خوب” شدن و “پیشرفت” میتونه موثر باشه. منظورم اینه نمیشه به تجربیات شخصی به شرطی که تجربیات با ارزش باشند، تکیه کرد؟