مبانی کامپیوتر و برنامهنویسی
اطلاعات کلی
- نام درس به فارسی: مبانی کامپیوتر و برنامهنویسی
- نام درس به انگلیسی: Fundamentals of Computer and Programming
- رشته، گرایش، نوع و واحد درس: مهندسی کامپیوتر – همه گرایشها، اختصاصی، 3 واحد
- مقطع: کارشناسی
- پیش نیازها: ندارد
- مطالب پیش نیاز: آشنایی ابتدایی با مفاهیم کامپیوتر
توضیح کوتاه درس
این درس دانشجویان را با اصول مبانی کامپیوتر و برنامهنویسی به زبان C آشنا میکند. با بهرهگیری از کتاب C How To Program، مفاهیم پایهای زبان C، ساختارهای کنترلی، توابع، آرایهها، اشارهگرها و مدیریت حافظه مورد بررسی قرار میگیرند تا دانشجو بتواند برنامههای کاربردی ساده تا متوسط را طراحی و پیادهسازی کند.
اهداف و نتایج درس
- آشنایی با اصول پایه برنامهنویسی به زبان C
- درک مفاهیم اساسی کامپیوتر و نحوه عملکرد آن
- توانایی استفاده از متغیرها، انواع دادهها و عملگرها
- آشنایی با ساختارهای کنترلی (دستورات شرطی و حلقهها)
- یادگیری تعریف و استفاده از توابع، آرایهها و اشارهگرها
- کسب مهارت در حل مسئله و طراحی الگوریتمهای اولیه
مخاطبین
- دانشجویان مقطع کارشناسی مهندسی کامپیوتر
- علاقمندان به برنامهنویسی و مبانی کامپیوتر
سطح دوره
- مبتدی و متوسط
طول و زمانبندی دوره
- مدت دوره: ۴ ماه (۳۰ جلسه)
- جلسات کلاس: ۲۴ جلسه (تئوری و عملی)
- جلسات جبرانی: ۴ جلسه
- جلسات ارزیابی: ۲ جلسه
شیوه برگزاری
- ترکیبی (کلاسهای مجازی + ارزیابی حضوری)
سرفصلها و مباحث
-
مقدمه و آشنایی با کامپیوتر و زبان C (3 جلسه)
- تاریخچه کامپیوتر و زبانهای برنامهنویسی
- معرفی زبان C و ویژگیهای آن
- نصب و راهاندازی محیط توسعه
-
اصول اولیه برنامهنویسی در C (4 جلسه)
- متغیرها، انواع دادهها و عملگرها
- ورودی/خروجی استاندارد با استفاده از توابع C
- ساختار اصلی یک برنامه در C
-
ساختارهای کنترلی و تصمیمگیری (4 جلسه)
- دستورات شرطی: if, else, switch
- ساختارهای تکرار: for, while, do-while
- کاربرد حلقهها در حل مسائل عددی و منطقی
-
توابع و مدیریت زیر برنامهها (4 جلسه)
- تعریف و فراخوانی توابع
- پارامترها و مقدار بازگشتی
- مفهوم بازگشت (Recursion) و کاربردهای آن
-
آرایهها و رشتهها (4 جلسه)
- تعریف و استفاده از آرایههای یکبعدی و چندبعدی
- کار با رشتهها و توابع استاندارد کتابخانهای برای رشتهها
- پردازش دادههای ترتیبی
-
اشارهگرها و مدیریت حافظه (4 جلسه)
- مفاهیم پایهای اشارهگرها
- عملیات روی اشارهگرها و تفاوت آرایه و اشارهگر
- حافظه داینامیک: کاربرد توابع malloc, calloc و free
-
ساختارها و اتحادیهها (3 جلسه)
- تعریف و استفاده از ساختارها (struct)
- کاربردهای عملی ساختارها
- معرفی اتحادیهها (union) و تفاوت آنها با ساختارها
-
فایلها و ورودی/خروجی پیشرفته (2 جلسه)
- کار با فایلها در زبان C
- خواندن و نوشتن دادهها به فایل
- مدیریت خطاهای I/O
-
مفاهیم پیشرفته و پروژه نهایی (1 جلسه)
- معرفی مباحث تکمیلی در برنامهنویسی C
- ارائه و مرور پروژه نهایی
- آشنایی مقدماتی با زبان ++C
نرمافزارها و ابزارهای مورد استفاده
- کامپایلر C (gcc، clang یا ویژوال استودیو)
- ویرایشگرهای کد (Visual Studio Code، Code::Blocks یا سایر IDEهای مشابه)
تکالیف و ارزیابی
- تکالیف تئوری: 20%
- تکالیف عملی: 30%
- آزمونها و پروژه نهایی: 50%
مراجع درس
- Deitel & Deitel. C How To Program. (آخرین ویرایش)
تهیهکننده
- نام: مرتضی ذاکری
- نگارش: 1.0