مبانی کامپیوتر و برنامه نویسی مقدماتی را چگونه یاد بگیریم؟
از جمله مباحثی که برای کار با رایانه و سیستمهای کامپیوتری جزء ملزومات اولیه است آموزش مبانی کامپیوتر است تا ابتداییترین مطالب مربوط به کامپیوتر و اجزای آن آشنا شویم. اتفاقاً مبانی کامپیوتر و برنامه نویسی مقدماتی یکی از دروس اصلی جهت ورود به حوزه کامپیوتر است که میخواهیم در این مطلب به موارد مختلفی از آن اشاره کنیم. اگر هر دانشجویی مبحث مبانی کامپیوتر و برنامه نویسی مقدماتی را بهطور اساسی آموزش ببیند میتواند یک شروع خوب جهت فهم بهتر محتوای آموزشی بالاتر داشته باشد که منتج به یادگیری اصولی انواع سیستمهای کامپیوتری و زبانهای برنامه نویسی میشود. حال در ادامه میخواهیم به شرح مفاد آموزشی و اصطلاحات موجود در مبانی کامپیوتر بپردازیم.
مفاد آموزش مبانی کامپیوتر و برنامه نویسی مقدماتی چیست؟
شکی نیست که امروزه کامپیوترهای در دسترس مردم بسیار بیشتر از گذشته نقش ویژهای در زندگی افراد دارند و دیگر بعید است کسی در خانهی خود کامپیوتر یا سیستمهای نظیر آن را نداشته باشد. البته گوشیهای موبایلی که بهراحتی قابل حمل و برنامه ریزی هستند خود به نوعی یک سیستم کامپیوتری کوچک را تشکیل میدهند. این سیستمها هرکدام با قدرتهای پردازشی مختلفی که دارند میتوانند بخشی از نیازهای ما را پوشش دهند و به ما در انجام وظایف و خدمات مورد نیازمان کمک کنند. در حال حاضر هم میتوانیم به جرات بگوییم که بدون استفاده از کامپیوتر نمیتوانیم بسیاری از پروژههای روزمره و تحقیقاتی را انجام دهیم و این ابزار کاربردی قرن حاضر میتواند به ما کمک کند هرچه بهتر و سریعتر خدمات مورد نیازمان را بهدست بیاوریم. از اینرو در بخشهای مختلفی از جامعه و شرکتها میتوانیم به نقش مهم این ابزارهای هوشمند پی ببریم.
حال که با نقش مهم کامپیوترها در حجم و اندازههای مختلف آشنا شدیم میخواهیم درباره مفاد آموزشی مبحث مبانی کامپیوتر و برنامه نویسی مقدماتی بیشتر بدانیم که برای این کار میتوانیم به فیلمهای آموزشی فرادرس بهعنوان یکی از بزرگترین منابع یادگیری فارسی زبانان مراجعه کنیم. در درس مبانی کامپیوتر بهصورت کلی با اصطلاحات ابتدایی در این زمینه آشنا میشوید که یک کامپیوتر از چه تاریخچه و نسلهایی شروع شده است که این مورد شامل نسلهای یک تا پنج کامپیوترها میباشد. بعد از آن هم باید با برخی مفاهیم اولیه که شامل تعریفهای موجود در یک سیستم کامپیوتری هست آشنا شویم که این مفاهیم بخش مهمی از درک افراد از یک رایانه را تشکیل میدهد. در ادامه به سراغ مطلب مهم الگوریتم و فلوچارتهای مورد بحث در یک رایانه میپردازیم و همچنین با کلیهی اجزای متعدد یک کامپیوتر آشنا میشویم.
یادگیری اصطلاحات مهم در مبانی کامپیوتر و برنامه نویسی
در شروع درس آموزشی مبانی کامپیوتر میبایست ابتدا با برخی از مهمترین اصطلاحات ممکن برای کلیهی سیستمهای رایانهای آشنا شویم که البته در هر رشته نوع این اطلاعات متفاوت است و ممکن است برای برخی از افراد کاملاً ناشناخته باشد. در ادامه میخواهیم به شرح هرکدام از مهمترین اصطلاحات مبانی کامپیوتر و برنامه نویسی مقدماتی بپردازیم پس با ما همراه باشید.
- داده ها (Data)
یکی از اصطلاحاتی که میتوانیم در بخشهای مختلف یک سیستم رایانهای مشاهده کنیم بحث دادهها است که تعریف سادهای که میتوانیم از آن کنیم عبارت است از مجموعه محتوا و مطالبی که به کامپیوترها وارد میشوند را داده می گوییم. دادهها میتواند انواع مختلفی داشته باشند که برخی از آنها شامل اعداد، تصویر، صدا، حروف و… میباشند و نحوه انتخاب این نوع دادهها تماماً بر عهده کاربران سیستم میباشد. داده بهعنوان ورودی به یک کامپیوتر بسیار مهم هستند و از این دادهها برای موارد متعددی نظیر پردازش تصویر، یادگیری ماشین، تحلیل سیستم و موارد مختلف دیگر استفاده میشود.
- سیستم های کامپیوتری (Computer System)
یک بحث کلی به نام سیستمهای کامپیوتری هست که میتوانیم کامپیوترها را به دو بخش اصلی نرم افزار و سخت افزار تقسیم کنیم که هردو به هم وابسته هستند و در کنار یکدیگر همکاری میکنند. سیستمهای کامپیوتری بهصورت دقیقتر از اجزا و قطعات الکتریکی و الکترومکانیکی ساخته شدهاند که دادهها را توسط ابزارهای ورودی دریافت میکنند و پس از انجام پردازشهای مورد نظر بر روی آنها بهصورت اطلاعات با معنی توسط ابزارهای خروجی به کاربران نمایش میدهند.
- اطلاعات (Information)
به دادههایی که بعد از عملیات منطقی و پردازش توسط رایانه به کاربران نمایش داده میشوند اطلاعات می گویند که آنها را میتوانیم با استفاده از ابزارهای خروجی به کاربران نمایش دهیم. نوع محتوای اطلاعات نمایش داده شده میتواند بازهی مختلفی داشته باشد و شامل اعداد، تصاویر، صوت، فیلم و… باشد. خروجی محتوای اطلاعات نمایش داده شده با ورودی آن مرتبط است ولی لزوماً با مقدار دادههای ورودی یکسان نخواهد بود.
- الگوریتم ها (Algorithm)
تمامی کامپیوترها در هر سایز و حجمی تنها از قطعات الکتریکی و فلزی تشکیل شدهاند ولی برای هوشمند بودن نیاز به نرم افزارهایی دارند که از ابتدای شروع بکار یک رایانه تا انجام عملیاتهای بزرگ وظایف خواسته شده را انجام دهند. نرم افزارها از مجموعهای از دستورات ساخته شدهاند که به آنها الگوریتم می گوییم. برای افزایش بازدهی و بهرهوری در یک سیستم کامپیوتری میتوانیم از الگوریتمها در زمان و مکان مناسب استفاده کنیم.
- برنامه های کامپیوتری (Software)
زبانهای متعددی برای برنامه نویسی در سراسر جهان وجود دارد که با استفاده از انواع الگوریتمهای منطقی میتوانیم برنامهها و نرم افزارهایی را با آنها عرضه کنیم. برنامههای کامپیوتری نتیجهی تحلیل الگوریتمها توسط زبانهای برنامه نویسی است و این فرآیند توسط برنامههای اجرا کننده یا کامپایلر انجام میشود.
- زبان های برنامه نویسی (Programming Language)
همانگونه که ذکر شد زبانهای برنامه نویسی متعددی وجود دارد که در مبحث مبانی کامپیوتر و برنامه نویسی مقدماتی میتوانیم به آنها اشاره کنیم. هرکدام از آنها میتوانند برای کامپیوترها قابل درک و فهم باشند و انواع الگوریتمها در خود پیاده سازی کنند. برخی از زبانهای برنامه نویسی محبوب عبارتاند از: Java، C، Python، JavaScript، PHP و…
تقسیم بندی انواع سیستم های کامپیوتری
دسته بندی های متعددی را برای رایانه ها می توانیم نام ببریم ولی بطور کلی سیستم های کامپیوتری را می توانیم به ۴ گروه اصلی تقسیم کنیم:
- ریزکامپیوترها
- کامپیوترهای کوچک
- کامپیوترهای بزرگ
- ابررایانه ها
در ادامه به شرح هرکدام از آنها خواهیم پرداخت.
- ریزکامپیوترها (Microcomputer)
کوچکترین نوع کامپیوترها که برای مصارف شخصی مناسب هستند و اگر در منزل یا محل کار به یک سیستم کامپیوتری احتیاج داشته باشیم میتوانیم از آنها استفاده کنیم. ریز کامپیوترها دارای حجم و ابعاد کوچکی نسبت به سایر دستههای فوق هستند که قیمت پایینتری نیز دارند و از این لحاظ مقرون بهصرفه هستند. ریز کامپیوترها را در مصارف شخصی میتوانیم جایگزین مناسبی بجای کامپیوترهای کوچک بنامیم.
- کامپیوترهای کوچک (Mini PC)
کامپیوترهای کوچک نسبت به ریز کامپیوترها قویتر و ابعاد بزرگتری نیز دارند ولی قیمت آنها نیز بالاتر است و شاید برای اکثر افراد و شرکتها قابل خریداری نباشد و از این جهت مقرون بهصرفه نیست. ولی توان محاسباتی و پردازشی آنها بسیار بالاتر از ریز کامپیوترها است ولی نسبت به کامپیوترهای بزرگ ضعیفتر هستند و نمیتوانیم برای فعالیتهای با پردازش سنگینتر استفاده کنیم.
- کامپیوترهای بزرگ (Mainframe computer)
کامپیوترهای بزرگ در مقایسه کامپیوترهای کوچک سایز و حجم بزرگتری دارد و از این جهت میتوانیم حدس بزنیم که توان پردازشی آنها نیز بسیار بیشتر از Mini PC ها است. از این جهت از آنها در سازمانهای بزرگتر و پیشرفتهتر میتوانیم استفاده کنیم که نیاز به پردازشهای بالاتری دارند. نوع و مقدار مصرف کامپیوترهای بزرگ از کامپیوترهای کوچک کمتر است و علت آن گرانتر بودن آنهاست.
- ابررایانه ها (Supercomputer)
گرانترین نوع کامپیوترهایی که در این دسته بندی قرار میگیرند و برای موارد علوم فضایی، آب و هوا، موارد نظامی و پروژههای بزرگ استفاده میشود ابررایانه یا سوپر کامپیوترها هستند که معمولاً توسط شرکتهای بزرگ و دولتها مورد استفاده قرار میگیرند. میزان پردازش ابررایانهها با کامپیوترهای بزرگ و دیگر دستهها قابل قیاس نیست و از این نظر حجم و ابعاد آنها بسیار بزرگتر خواهد بود.
آشنایی با اجزای تشکیل دهنده کامپیوترها
تا به اینجای مقالهی مربوط به مبانی کامپیوتر و برنامه نویسی مقدماتی به شرح اصطلاحات و دسته بندی کامپیوترها پرداختیم ولی اکنون میخواهیم با اجزای تشکیل دهندهی رایانهها آشنا شویم. این اجزا را در دو بخش مجزای نرم افزار و سخت افزار میتوانیم دسته بندی کنیم که هرکدام توضیحات مفصل و شرح کامل خود را نیاز دارد ولی در اینجا به ذکر نام اجزای آنها خواهیم پرداخت.
۱. سخت افزار (Hardware)
در مبانی کامپیوتر به بخش فیزیکی سیستمهای کامپیوتری سخت افزار گفته میشود به واحدهای ورودی، واحد پردازش و منطق، واحد حافظه اصلی، واحد حافظه جانبی و واحد کنترل تقسیم بندی میشود.
- بخش ورودی
همانطور که مشخص است بخش ورودی وظیفهی دریافت اطلاعات ورودی کاربران را دارد که با استفاده از برخی ابزارهای رایج برای این واحد این کار قابل انجام است. ابزارهای ورودی عبارتاند از: موس، کیبورد، میکروفون، اسکنر، قلم نوری و غیره. در دستگاههایی مانند گوشی و تبلت که بهصورت لمسی کار میکنند صفحهی لمسی و قلم نوری شامل واحدهای ورودی میباشند.
- بخش خروجی
این بخش وظیفه دارد اطلاعات و دادههای پردازش شده توسط سیستم را توسط ابزارهای خروجی به کاربران نشان دهد. در اصل وظیفه این بخش نمایش اطلاعات به کاربر است بهطوری که کاملاً قابل درک باشد. مهمترین ابزارهای خروجی عبارتاند از: صفحه نمایش، چاپگر، بلندگو و غیره. با استفاده از بخش خروجی میتوانیم فهم کاملی را از عملکرد سیستمهای کامپیوتری داشته باشیم.
- بخش محاسبه و منطق
در این واحد می توانیم وظیفه اجرای عملیات های پردازشی و محاسباتی را مشاهده کنیم. معمولا این محاسبات توسط عملگرهای اصلی ریاضی یعنی جمع، ضرب، تفریق و تقسیم انجام می شود. در این بخش همچنین عملیات های منطقی متعددی که توسط کاربران درخواست می شود انجام می شود.
- واحد حافظه
اگر بخواهیم حافظه را در رایانه ها به ۲ بخش تقسیم کنیم یک مورد شامل حافظه اصلی و مورد دیگر شامل حافظه جانبی است. حافظه اصلی بخشی از یک سیستم کامپیوتری است که وظیفه اصلی آن انتقال داده ها جهت اجرا بصورت موقت است که اطلاعات را از حافظه جانبی خوانده و در خود اجرا می کند. داده ها در این نوع حافظه با قطع برق از بین می رود. حافظه جانبی نیز وظیفه نگهداری اطلاعات بصورت دائم را دارد و با قطع برق این اطلاعات از بین نمی رود.
۲. نرم افزار (Software)
قسمت دوم تقسیم بندی کامپیوترها را نرم افزار تشکیل میدهد و شامل برنامههایی هست که بهصورت فیزیکی قابل دیدن نیستند و تنها درون نمایشگر سیستم میتوانیم آنها را مشاهده کنیم. بهطور کلی واحد نرم افزار شامل بخشهای سیستم عامل، برنامههای کمکی، مفسرها و کامپایلرها میباشد. در ادامه به معرفی هرکدام از آنها میپردازیم.
- سیستم عامل
بزرگترین و مهمترین نرم افزارهایی که بر روی یک سیستم کامپیوتری نصب می شوند را سیستم عامل می گویند که وظیفه ارتباط بین سخت افزار و کاربران را دارند. سیستم عامل ها انواع مختلفی دارند که مهمترین آنها عبارتند از : ویندوز، لینوکس و مک که البته هرکدام نسخه ها و توزیع های متعددی نیز دارند. بطور مثال سیستم عامل اندروید خود بعنوان یک لینوکس معرفی می شود و سیستم عامل iOS نیز از سیستم عامل مک الهام گرفته شده است.
- برنامه های کمکی
با استفاده از برنامه های کمکی می توانیم بین کاربران و کامپیوترها ارتباط و تعامل ایجاد کنیم. با بهره بردن از برنامه های کمکی می توانیم به آسانی به بخش های مختلفی از کامپیوتر خود دسترسی داشته باشید. هر برنامه برای اهداف خاصی طراحی و برنامه نویسی می شود که جهت آموزش مبانی کامپیوتر و برنامه نویسی مقدماتی می توانیم با استفاده از فیلم های آموزشی فرادرس مهمترین برنامه های کمکی را فرا بگیریم.
- مفسرها
برای اینکه بتوانیم برنامه ها و نرم افزارهای را تولید کنیم باید از یک برنامه خاص به نام مفسر استفاده کنیم. با مفسرها می توانیم دستورات زبان سطح بالا را خط به خط بخوانیم و اجرا کنیم. با اینکار می توانیم تمامی عیب ها و مشکلات نرم افزاری را بررسی و تصحیح کنیم.
- کامپایلرها
برنامه های دیگری که برای اجرا کردن توابع و دستورات زبان های سطح بالا مورد استفاده قرار می گیرند کامپایلر نام دارند که می توانند دستورات را به یکباره می خوانند و برای کاربران اجرا خواهند کرد. انجام عمل خطایابی و گزارش آن در استفاده از کامپایلر بسیار ساده تر خواهد بود.
جمع بندی درباره مبانی کامپیوتر و برنامه نویسی مقدماتی
در این مطلب سعی داشتیم تا با برخی از مفاد آموزشی مبانی کامپیوتر آشنا شویم و برخی از تعاریف و اصطلاحات سیستمهای کامپیوتری را معرفی کنیم. برای اینکه مبانی کامپیوتر و برنامه نویسی مقدماتی را یاد بگیریم به سراغ ساختار رایانهها رفتیم و اجزای کامل سخت افزاری و نرم افزاری را بهطور کامل شرح دادیم. برای اینکه بخواهید با مبانی کامپیوتر و برنامه نویسی بهصورت جامع آشنا شوید پیشنهاد میکنیم با استفاده از فیلمهای آموزشی فرادرس و مباحث تدریس شده توسط برترین مدرسان تسلط کافی بر این موضوع پیدا کنید.
اگر برای خرید مودم، اینترنت و تجهیزات شبکه سوال داشتید یا نیاز به راهنمایی و کمک دارید؛ کانال تلگرام شبکهچی به آیدی shabakehchi@ را فالو و پرسش خود را برای مدیر کانال بفرستید تا جواب دهیم.