در طول زمان برنامه‌نویسان برای توسعه‌ی نرم‌افزارها با مشکلات مختلفی مواجه می‌شدند. بسیاری از این مشکلات مستقل از زبان‌های برنامه‌نویسی و مشابه هم بودند. بنابراین برای حل این مشکلات راه‌حل‌های مختلفی ارائه شد که به بهترین روش حل و رفع این مشکلات الگوهای طراحی یا Design Pattern می‌گویند. به عبارت دیگر مجموعه‌‌‌ای از بهترین راه‌‌حل‌های مشکلات متداول در فرآیند برنامه‌نویسی نرم‌افزار را الگوهای طراحی می‌نامند. الگوهای طراحی برای حل مشکلات رایج در برنامه‌نویسی شی‌گرا به وسیله‌ی برنامه‌نویسانی باتجربه توسعه داده شده‌اند. الگوهای طراحی جزو معماری‌های نرم‌افزاری نیستند و فقط شیوه‌ای صحیح از کدنویسی شی‌گرا را ارائه می‌دهند. بنابراین این الگوها فقط در قلمرو کدنویسی شی‌گرا وارد می‌شوند و مستقل از زبان‌های برنامه‌نویسی هستند.

همزه (ء) در میان حروف سی‌ودو گانه‌ی الفبای فارسی شکلی از ملحقات حرف «الف» (صامت) است. شکل جدای آن (ء) و در حالت‌های گوناگون با ترکیب دیگر اشکال به صورت (آ - أ - ئ - ؤ) نوشته می‌شود. همزه از نظر آواشناسی در میان واج‌های زبان فارسی به‌طور مستقل یک صامت است که به اشکال (ء - ا) نوشته می‌شود.

در برخی از سناریوها نیاز به نمایش خروجی چند مقدار به صورت یک مقدار با یک جداکننده مانند کاما داریم. در Oracle می‌توان از تابع LISTAGG برای تبدیل نتایج پرس‌و‌جو به صورت یک مقدار جداشده با کاما استفاده نمود.

اعضای داده‌ای خصوصی (private) یک کلاس تنها توسط توابع عضو آن کلاس قابل دسترسی هستند. بنابراین هر کلاس یا تابعی که از توابع عضو یک شی استفاده می‌کند و آن را از خارج از شی فراخوانی می‌کند، تنها می‌تواند توابع عمومی (public) عضو کلاس را به منظور درخواست سرویس‌های کلاس از هر شی خاص فراخوانی نماید.

همه‌ی ما می‌دانیم که کامپیوترها تنها با اعداد و ارقام سر و کار دارند و تمام اطلاعات نوشتاری، صوتی و تصویری را به صورت اعداد و ارقام پردازش و ذخیره می‌کنند. حروف، اعداد و علایمی که در اپلیکیشن‌ها مورد استفاده قرار می‌گیرند، به آن شکلی که شما آن‌ها را می‌بینید در کامپیوتر مدیریت نمی‌شوند. برای قابل فهم کردن اطلاعات برای کامپیوتر لازم است برای هر حروف از الفبا، یک عددی اختصاص دهیم. حروف و کاراکترها به مجموعه‌ای از 0 و 1 تبدیل می‌شود تا مدیریت آن‌ها برای کامپیوتر ساده‌تر باشد. اختصاص این کدها به اطلاعات توسط سیستم‌های کدگذاری انجام خواهد شد. برای این منظور صدها نوع سیستم کدگذاری برای قابل فهم کردن زبان‌های مختلف برای کامپیوترها به وجود آمد.

یکی از مهم‌ترین ساز و کارهایی که باید از سوی دانشجویان علوم کامپیوتر درک گردد پشته‌ی فراخوانی تابع است (گاهی اوقات تحت عنوان پشته‌ی اجرای برنامه نیز شناخته می‌شود). این ساختمان داده – که در پشت صحنه کار خود را انجام می‌دهد – ساز و کار فراخوانی و بازگشت توابع و همچنین ایجاد، نگهداری و انهدام متغیرهای خودکار توابع فراخوانی‌شده را نیز پشتیبانی می‌کند.

ایجاد مدل و مدل‌سازی برای بررسی دقیق انواع مختلف سیستم‌های نرم‌افزاری در مقیاس کوچک و بزرگ به کار می‌آید. با ساختن مدل این امکان به شما داده می‌شود با ابعاد مختلف پروژه قبل از ساخت آشنا شوید. گاهی در پروژه‌های بزرگ به دلیل پیچیدگی بیش از حد نمی‌شود سیستم را از جنبه‌های مختلف سنجید. بنابراین برای فهم کامل سیستم، یافتن و نمایش ارتباط بین بخش‌های مختلف آن، به مدل‌سازی می‌پردازیم. UML زبانی برای مدل‌سازی یا ایجاد نقشه‌ی تولید نرم‌افزار است.

شی‌گرایی یک راه طبیعی تفکر در مورد جهان پیرامون و نوشتن برنامه‌های کامپیوتری است. در دنیای واقعی به هرجا که بنگرید اشیا را مشاهده می‌کنید: اشخاص، حیوانات، گیاهان، اتوموبیل‌ها، هواپیماها، ساختمان‌ها، کامپیوترها و مواردی از این قبیل. انسان‌ها هر روز اشیا را در اطراف خود مشاهده می‌کنند و در مورد آن‌ها به تفکر می‌پردازند.

پردازنده‌های گرافیکی به دلیل ماهیت ساختاری و هدفی که دنبال می‌كنند‌، توانایی‌های فوق‌العاده‌ای در زمینه پردازش ‌موازی و محاسبات ممیز شناور (Floating Point) دارند و به دلیل برخورداری از هسته‌های پردازشی بیشتر با معماری بهینه‌سازی شده برای محاسبات موازی‌، در بسیاری از موارد قدرت محاسباتی بالاتری نسبت به CPU ارائه می‌دهند.