علوم کامپیوتر
هوش مصنوعی
هوش مصنوعی چیست؟ مبانی و تاریخچه هوش مصنوعی و مرزهای دانش در هوش مصنوعی، عاملین ( Agents ) هوشمند، ساختار و عملکرد، عاملین هوشمند، محیط ها، حل مسئله، حل مسئله از طریق جستجو، فرموله کردن مسایل، چند مثال جستجو برای جواب، روشهای جستجو، روشهای جستجو آگاهانه (informed ) جستجوی Best-first توابع Heuristic جستجوی حافظه محدود، سایر روشهای جستجوی بهبود یافته، عاملین مبتنی بر دانش، عاملینی که منطقی استدلال می کنند، نمایش منطق، منطق گزاره ای، استدلال منطق رتبه اول، استنتاج در این منطق، قوانین استنتاج، استنتاج زنجیره ای به جلو و عقب، برنامه ریزی ( Planning )، از حل مسئله به برنامه ریزی، نمایشهای ساده برای برنامه ریزی، مهندسی دانش برای برنامه ریزی، عدم قطعیت ( Uncertainty)، نحوه عمل کردن در شرایط عدم قطعیت، کاربرد و نحوه استحصال احتمالات، معرفی برخی کاربردها در سیستمها خبره، پردازش زبان طبیعی، بینائی ماشین و رباتیک
مراجع:
1- Russell and Nowig, Artificial Intelligence: A modern approach.
2- Rich, Artificial intelligence
طراحی پیاده سازی زبانها
ویژگی های عمومی زبانهای برنامه نویسی، پردازنده های زبانهای برنامه سازی و مقایسه انواع آنها ویژگی های انواع داده ها و پیاده سازی آنها در زبانهای سطح بالا، روشهای تعیین ترتیب اجرای دستورات و پیاده سازی آنها، کنترل داده ها ( Data Control ) ، روشهای تخصیص نشانوندهای ( Arguments ) یک تابع ( برنامه فرعی ) و پیاده سازی آنها، روشها مدیریت حافظه در زبانهای سطح بالا، انتزاع ( تجرید ) داده ها.
مراجع:
1- Pratt, Programming Language and Implementation
2- Horowitz, Fundamental of Programming Language
معماری کامپیوتر
تعریف معماری کامپیوتر، اشاره ای به تاریخچه کامپیوتر و نسلهای آن، معرفی واحدهای اصلی کامپیوتر، طراحی مجموعه دستورالعمل، بررسی معیارها و مسائل، نحوه اجرای دستورالعملها به کمک زبان توصیف سخت افزار ( مثل RTL)، روشهای طراحی واحد کنترل به روش سیم بندی شده، ساختار واحد کنترل، کنترل انواع گذرگاه و مسیریابی داده، طراحی واحد حسابی، منطقی و محاسبه تاخیرها، طراحی واحد کنترل ریزبرنامه پذیر، حافظه و سلسله مراتب آن، حافظه های ایستا و پویا، معرفی حافظه نهان (CACHE ) و مجازی( Virtual )، الگوریتمهای حسابی جمع، تفریق، ضرب و تقسیم، الگوریتمهای ممیز شناور، شیوه های دسترسی به دستگاههای ورودی و خروجی ( سرکشی، وقفه )، دسترسی مستقیم به حافظه ( DMA ) و به اشتراک گذاری گذرگاه ( BUS )، اشاره به روند توسعه معماری کامپیوتر و تفاوتهای RISC, CISC.
مراجع:
1- Hama, Zaky, Computer Organization
2- Patterson, Hennessey,Computer Architecture, Hardware/Software Design
سیستمهای عامل
تعریف سیستم عامل و وظایف اساسی آن به عنوان ماشین مجازی و مدیر منابع، انواع منابع، تاریخچه مختصر سیستم های عامل، طبقه بندی انواع سیستمهای عامل، سیستم عامل از دید کاربر، مفهوم پردازه( فرآیند )، کار، وظیفه، انواع کار ( مقید به ورودی/ خروجی، مقید به پردازنده)، مدل پردازه، مکانیزم وقفه، برنامه سازی و کنترل عملیات ورودی/ خروجی، همروندی عملیات ورودی/ خروجی و عملیات پردازشی، بررسی بافرینگ، محیط های چندبرنامه ای، سیستمهای عامل اشتراک زمانی و محاوره ای، مدیریت پردازنده، زمانبندی کارها و فرایندها در استفاده از منابع، مدیریت حافظه ( الگوریتمهای مختلف تخصیص حافظه )، حافظه مجازی و مدیریت آن، مدیریت دستگاههای ورودی/خروجی، مدیریت پرونده ها، بررسی مسئله بن بست و راه های مواجه با آن، امنیت و حفاظت در سیستمهای عامل، آشنایی مقدماتی با سیستم های عامل شبکه و توزیع شده.
مراجع:
1- Tenenbaum, Modern Operating Systems
2- Stallings, Operating Systems
3- Deitel, Operating Systems
4- Silberschatz, Peterson, Operating Systems
نظریه زبان ها و ماشینها
آتاماتای محدود، آتاماتای Pushdown، ماشین تورینگ، انواع گرامرها و زبانها، تقسیم بندی Chomsky, ارتباط میان زبانها و ماشینها و قضایای مربوطه.
مراجع:
1- Linz, Introduction to Formal Languages and Automata
2- Wood, Theory of Computation
3- Reveseze, Theory of Formal Languages
4- Cohen, Introduction to Computer Theory
مدارهای منطقی
سیستم نمایش اعداد و کذگذاری، نمایش اعداد منقی، منطق کلیدی، منطقهای سه حالته، ساختار کلی دریچه های منطقی، انواع دریچه های منطقی، توابع منطقی ساده کردن آنها شامل روشهای جدول کارنو و روش جدول بندی، روشهای کامپیوتری ساده کردن توابع ترکیبی، طراحی مدارات رمزگشا، مدارات رمزکننده، مدلهای کد، انتخاب کننده ها و دیگر بسته ها برای پیاده سازی مدارهای ترکیبی، مدارهای ROM، PLA، PAL و دیگر ساختارهای منظم، ساختار لچ، و فلیپ فلاپ، مدارهای همگام ( Synchoronous )، مقایسه ماشینهای حالت در MOORE و MELAY، شمارنده ها، شیفت رجیسترها، مدارهای غیرهمگام ( Asynchrounous) ، بررسی مخاطره ها و مسابقه ها (Race and Hazard )، تخصیص وضعیت بدون مسابقه، تراشه های متدوال مدارهای ترتیبی، طراحی با بررسی یک نمونه ماشین یا بخش کنترل و داده، روشهای طراحی نوین.
مراجع:
1- Nelson, Digital Logic Circuit Analaysis & Design
2- Wakerly, Digital Design Principles and Practicas
3- Mano, Computer Engineering Hardware Design
روشهای محاسبات عددی
تعریف خطا، انباشتگی خطا در محاسبات، ناپایداری در محاسبات، فرمول تکرار برای محاسبه توابع، روشهای حل معادلات غیر خطی شامل روشهای نصف کردن فاصله، رسم خطوط قاطع، رسم خطوط مماس، تکرار نقطه ثابت، فرمول خطا و اثبات همگرایی برای هریک از روشها، رتبه همگرایی، معادلات چند جمله ای( جداسازی ریشه ها، حدود ریشه ها،روشهای حل )، روش برستو ( Barastow ) برای تعیین رشته های موهومی، دستگاه معادلات خطی، روشهای حل مستقیم ( گاوس، ماتریس وارون )، روشهای حل تکراری، روش نیوتن برای حل دستگاه معادلات غیر خطی، مقادیر ویژه، بردارهای ویژه، معادله مشخصه، روشهای فاکتورگیری، تفاضلهای منتاهی، روشهای درون یابی، برون یابی(نیوتن، گاوس، لاگرانژ، اتیکن)، چندجمله ای چبی شف، چندجمله ای Spline، درون یابی وارون، درون یابی دو متغیره، فرمول خطا، خمهای پوشا، روشها یحداقل مربعات، مشتق گیری عددی، تعیین نقاط اکسترمم توابع جدولی، فرمول گاوس با نقاط محدود، انتگرال گیری عددی، فرمولهای خطا برای روشهای انتگرال گیری، انتگرال گیری چندگانه عددی، روشهای حل معادلات دیفرانسیل معمولی( تیلور، پیکارد، اویلر، هیون، اویلر بهبودیافته، رانگ (Rung ) کوتا ( Kutta ))، روشهای پیشگویی و تصحیح جواب، فرمول خطا، حل معادلات دیفرانسیل با شرایط سرحدی، حل دستگاه معادلات دیفرانسیل.
مراجع:
1- Mathews, Numerical Methods for Mathematics, Science and Engineering
2- Atkinson, Elementary Numerical Analysis
مدارهای الکتریکی 1
مدارهای فشرده و قوانین کیرشف، تقریب و مدلسازی عناصرمدار، اجزاء مدار شامل، مقاومتها، منابع نابسته و منابع وابسته ( ولتاژ و جریان )، خازنها، سلفها، توان و انرژی، تقویت کننده عملیاتی (OPAMP ) به عنوان یک عنصر مدار، مدارهای ساده شامل، مدارهای مقاومتی، روشهای تحلیل مدارهای مقاومتی، مشخص سازی یک مدار در دو سرآن، مدار معادل تون نرتن و قضیه جمع آثار در مدارهای مقاومتی، تبدیل منابع، بهم پیوستن سلفها و خازنها، کاربرد Spice در حل مدارهای مقاومتی، مدارهای مرتبه اول شامل، مدارهای RL، RC پاسخهای ورودی صفر، پاسخ حالت صفر، پاسخ کامل، پاسخ گذرا و پاسخ حالت دائمی، ثابتهای زمانی و مدار با چند ثابت زمانی و کلیدزنی، پاسخ پله و پاسخ ضربه، مدارهای مرتبه دوم، مفاهیم پایداری، نوسان، مقاومت منفی، مدارهای دوگا، تشابه سیستمهای الکتریکی و مکانیکی، کاربرد Spice در حل مدارهای منطقی اول و دوم و OPMP، روشهای تحلیل مدارهای خطی(تحلیل گره و تحلیل مش)، اهمیت پاسخ ضربه و محاسبه آن در مدارهای خطی کلی ( تحلیل حوزه زمانی ) و قضیه کانالوشن، تجزیه و تحلیل حالت دائمی سینوسی شامل مفاهیم فازور امپدانس، ادمپتانس، دیاگرام فازوری، مفهوم تشدید و مدارهای تشدید سری و موازی، توابع شبکه، پاسخ فرکانسی، توان در حالت سینوسی، توان متوسط، حقیقی و توان راکتیو، قضیه انتقال توان ماکزیمم، مقادیر موثرو RMS، تغییر مقایس یک مدار، کاربرد Spice در حل مدارهای در حالت دائمی سینوسی، تحلیل مدارهای سه فاز، متعادل، تزویج و مدارهای تزویج شده، مدارهای معادل Tو سلفهای تزویج شده ماترسی اندوکتانس، بهم پیوستن سلفهای تزویج شده، ترانسفورماتورها، مدل مداری و خواص کاربرد آنها،کاربرد Spice در حل مدارهای با سلفهای تجویز شده و ترانسفورماتورها.
مراجع:
1- Desoer and Kuh, Basic Circuit Theory
2- Desoer and Kuh, Linear and Nonlinear Circuits
3- Nilson, Electric Circuit
آمار و احتمالات مهندسی
اشاره ای به تئوری مجموعه ها، نمونه ها و نمایش جدولی آنها همراه با میانگین، نما، میانه و واریانس، تبدیل و ترکیب، احتمالات و قضایای مربوطه، متغیرهای تصادفی و استقلال آنها، واسطه و میانگین و واریانس توزیعات، توزیعات دو جمله ای پواسون، فوق هندسی، توزیع نرمال، توزیع چند متغیر تصادفی، نمونه گیری تصادفی و اعداد تصادفی، نمونه گیری از جامعه کوچک، برآورد پارامترهای آماری، فواصل اطمینان، آزمون، آزمون فرضی تصمیم گیری، تجزیه واریانس، رگرسیون، همبستگی، آزمون روشهای ناپارامتری، برازندن خط مستقیم براده ها، توابع مولد گشتاور، قضیه اعداد بزرگ، قضیه حدمرکزی، مجموع متغیرهای تصادفی مستقل، احتمال شرطی، قضیه احتمال کلی.
منبع: سایت کارشناسی
طراحی الگوریتم
مروری بر مطالب مهم در درس ساختمان داده و تکمیل نکات ارائه شده در خصوص: استقرا ریاضی و روشهای بازگشتی، پیچیدگی الگوریتمها و آنالیز آنها، نمادهای O ، تتا، امگا، o و روشهای حل مسئله: در هر روشی تعدادی مسئله مهم انتخاب و الگوریتمهای هر یک گفته شده و اثبات و آنالیز گردد. روش مستقیم و حل ( مسائل: ماکزیمم و مینیمم یک آرایه، ضرب دو عدد nبیتی، روش strassen در ضرب ماتریسها، تورنمت بازیها، مرتب کردن براساس QuickSort)، روش برنامه سازی پویا ( مسائل: ضرب ماتریسها، کوله پشتی، مثلث بندی بهینه یک چندضلعی، طولانی ترین زیرترتیب مشترک، حروف چینی یک پاراگراف )، روش حریصانه ( مسائل: مسائل زمانبندی، خرد کردن پول، کدهافمن )، روشهای مبتنی بر جستجوی کامل و تکنیکهای محدود کردن فضای جستجو، استفاده از درخت بازی و Pruning، بازیهای Puzzle، tic-tac-tac روشهای مکاشفه ای برای حل مسائل مشکل ( مسئله فروشنده دوره گرد ) الگوریتمهای گراف شامل: روشهای جستجوی گراف ( عمقی، سطحی ) گرافهای بدون جهت ( الگوریتمهای Dijkstra درخت پوشای مینیمال، اجزا همبند، کاملا همبند و مسائل دیگر ) گرافهای جهت دار ( الگوریتمهای Floyd، مرتب کردن Topological، اجزا دو همبند و ...) شبکه های ماکزیمم جریان و مسائل مربوطه.
مراجع:
1- Neapolitan, Foundations of Algorithms.
2- CLRS) Cormen, leisersen, Rivert, Introduction to Algorithms)
3- Horowitz, Sahni, Fundamental of Computer Algorithms.
4- Aho, Hopctoft, Data Structure & Algorithms.
5- Udi Manber, Introduction to Algorithms.
6- Brassard, Fundamentals of Algorithms
اصول طراحی پایگاه داده
مقدمه، معرفی ومرور مباحث ذخیره و بازیابی اطلاعات، مفاهیم و تعاریف مدیریت پایگاه داده (تعریف داده و اطلاعات، تعریف پایگاه داده، ضرورت پایگاه داده، استقلال داده ای، مدل های مختلف سیستم های پایگاه داده)، معماری یک سیستم پایگاه داده (معماری سه سطحی، سطح خارجی، سطح مفهومی، سطح داخلی، مدیر پایگاه داده و مدیر داده، مدیر ارتباطات داده ای)، مدل های مختلف سیستم های پایگاه داده (مدل سلسله مراتبی، مدل رابطه ای، مدل شبکه ای)، مدل رابطه ای پایگاه داده ها(رابطه یا جدول، جداول مبنا و غیرمبنا، زبان پرس و جو)، عناصر مدل رابطه ای (دامنه، رابطه و انواع آن)، جامعیت مدل رابطه ای(کلید کاندید، کلید اولیه، کلید رقیب، کلید خارجی و قواعد آن، تهی بودن کلید خارجی و کلید اولیه) ، جبر رابطه ای، حساب رابطه ای، زبان SQL، وابستگی تابعی (تعریف، وابستگی های جزئی، بستار مجموعه ای از وابستگی ها، مجموعه کاهش ناپذیر از وابستگی ها)، نرمال سازی(1NF, 2NF, 3NF, BCNF وابستگی چند مقداری(MVD) و 4NF، وابستگی الحاقی (JD) و 5NF) ،مرور مطالب پیشرفته تر (حفاظت، ترمیم، همزمانی، پایگاههای داده شی گرا، پایگاه های داده استنتاجی).
مراجع:
1- Date, Introduction to Database Design
2- Elmasri, Fundamental of Database systems
3- Abitebout, Foundations of Database
4- Korth and Silberchatz, Database System Concepts
ساختمان داده ها
آرایه ها، بردارها، ماتریسها، کاربرد ماتریسها مانند MAZE، ماتریسهای خلوت و کاربرد آنها، پشته ها، صفها و کاربرد آنها، لیستها، لیستهای پیوندی (خطی، حلقه ای، پیوند مضاعف، چند پیوندی) و کاربرد آنها، تعاریف و اصول مقدماتی درختها، درختهای دودویی، نمایش و کاربرد (درختهای تصمیم گیری، بازی، جستجو و ...) روشهای ایجاد درختهای تسبیح و اره (TREADED TREES) گرافها (نمایش، روشهای پیمایش، کاربرد)، درختهای پوشا، روشهای تخصیص حافظه های پویا و مقایسه آنها،الگوریتمهای جستجو و مرتب کردن داخلی (حداقل 4 روش) و ادغام.
مراجع:
1- Horowitz and Sahni, Fundamental of Data Structure and Computer Algorithms
2- Tenenbawn, Data Structure Using Pascal
3- Wirth, Algorithms + Data Structure = Programs
اصول طراحی کامپایلر
مقدمات ( انواع مترجم ها شامل کامپایلرها و مفسرها ) ساختار و اجزای کامپایلر( تحلیل گر لغوی، نحوی، معنایی، مدیریت جدول نمادها، تولید کد میانی و نهایی، بهینه سازی، مدیریت خطاها ) ، بررسی انواع گرامرها و خواص عمومی زبانها( طبقه بندی Chomsky )، گرامرهای گنگ، گرامر خالص( مختصر و مفید )، تحلیل لغوی، عباریات منظم برای نمایش الگوی توکن ها، اصلاح خطاهای لغوی، گرامرهای تفسیر حالت قطعی و غیرقطعی، روشهای تحلیل نحوی (بالا به پایین، (LL(1 ، پیاده سازی RecursiveDescent و جدول تجزیه پایین به بالا(OP-SP)، روشهای (LL(1 شامل (SLR(1 و (LALR(1 و (CLR(1 و اصلاح جدول (LR(1 در مورد گرامرهای گنگ )، روشهای اصلاح خطاهای نحوی، تحلیل معنایی ( تستهای ایستا و پویا ) ، مدیریت جدول نمادها و ساختار آنها، روشهای تحصیص حافظه ( ایستا و پویا )، تولید کد میانی و نهایی و روشهای تولید کد مانند Syntax Directed یا Tree Walking با استفاده از کنش های مفهومی و علایم کنش، ترجمه تعدادی از ساختارهای زبانهای امری مانند عبارتها ، ساختارهای کنترلی، فراخوانی روال ها، مختصری در مورد بهینه سازی کد میانی
مراجع:
1- Aho, Sethi, Compilers: Principles, Techniques and Tools
2- Trembly, The Theory and Practice of Compiler Writing
3- Pittman and Petersm The Art of Compiler Design
4- Mack, Writing Compilers and Interpreters
ریاضی گسسته
مقدمه : منطق ریاضی، جبرگزاره ها، فرمولهای خوش ساخت، مروری بر نظریه مجموعه ها، روشهای اثبات، روابط و توابع: روابط دوتایی، روابط سازگاری و هم ارزی، ماتریس نمایش دهنده روابط، گراف رابط، توابع،توابع پوشا، توابع یک به یک، روابط بازگشتی،استقرا، حل روابط بازگشتی، تابع مولد، ساختمانهای جبری، نیمگروهها و منویدها، گرامرها و زبانها، نشانه گذاری لهستانی، گروهها،همومورفیسم، ایزومورفیسم، لاتیسها (شبکه ها)، جبربول، جدول کارنو، زبان و دستور زبان، دستور زبان بعنوان مثالی از منویدها، آنالیز ترکیبی:اصل لانه کبوتر، آشنایی با الگوریتمهای ترکیبی،توابع بازگشتی و کاربرد آنها، تئوری گراف: گرافهای جهت دار، گرافهای بی جهت، مسیرهای اویلری و همیلتونی، مسیرهای بهینه اپتیمال، الگوریتم یافتن مسیرهای بهینه اپتیمال، گرافهای همبند، ماتریس ارتباط و قضایای مربوطه، کاربرد گرافها در تجزیه و تحلیل فعالیتها، درختها : درختهای پوشای مینیمال، پیمایش درختها، کاربرد درختها، عبارات جبری و نمایش درختها.
مراجع:
1- Johnson Baugh,Discerte Mathematics
2- Grassman And Tremblay, Logic and Discrete Mathematics
3- Termblay, Discrete Mathematical Structures with Applications to computer science
4- Keneth, Rossen and Charles R.B,Wright, Discrete Mathematics
5- Grimaldi, Discrete and Combinatorial Mathematics
6- Michael Alberison, Discrete Mathematics with Algorithms
زبان تخصصی نرم افزار
با توجه به کاربرد وسیع زبان انگلیسی به عنوان زبان رایج متون علمی و جزوات راهنما و اکثریت نرم افزارها و Help آنها و خصوصا کاربرد رایج آن د رشبکه های اطلاع رسانی به ویژه Internet، سعی براین است تا در این درس با مروری بر مطالب عنوان شده در زبان تخصصی مقطع کاردانی، دانشجویان با مفاهیم پایه و گرامری مرتبط با علم کامپیوتر،واژگان مورد استفاده در حوزه نرم افزار، سخت افزار، اینترنت و شبکه های کامپیوتری و اطلاع رسانی آشنا شده و با نحوه ترجمه متون علمی و نحوه نگارش این متون آشنا شوند. آشنایی با پیغامهای ارسالی متدوال توسط سیستم عامل های رایج و در هنگام مراحل نصب نرم افزارها، زبانهای برنامه نویسی،اختصارات متدوال در نامه نگاری الکترونیکی و chat و ... اصطلاحات و واژگان رایچ در موتورهای جستجواینترنت و بهرگیری از دفترچه های راهنما و مراجع و ... ترجمه متون مختلف تخصصی و نگارش ساده متون علمی در حوزه رایانه و اطلاع رسانی.
منبع: سایت کارشناسی