מדעי המחשב הוא ענף מדעי העוסק בלימוד הבסיס התאורטי למידע ולחישוביות, והחלתם של אלה על מערכות מחשב.
למדעי המחשב מספר רב של ענפי-משנה; חלקם מדגישים את היבטי החישוביות של תוצאות פרטניות (לדוגמה, גרפיקה ממוחשבת), אחרים עוסקים בחקר התכונות של בעיות חישוביות כלליות (לדוגמה, סיבוכיות), וענפי-משנה אחרים מתמקדים בפתרון הבעיות הכרוכות ביישום מעשי של חישובים ואלגוריתמים. ענף משמעותי במדעי המחשב הוא חקר ויישום שפות פורמליות לפתרון בעיות חישוביות מסוימות (לדוגמה, באמצעות שפת תכנות).
המשחק כולל שלושה מוטות אנכיים ("המגדלים") ומספר דיסקיות בגדלים שונים שניתן להשחיל על המוטות. בתחילת המשחק, הדיסקיות מסודרות על פי הגודל על אחד המוטות, כשהגדולה ביותר למטה והקטנה ביותר למעלה.
מטרת המשחק היא להעביר את כל הדיסקיות למוט אחר, תחת שני החוקים הללו:
מותר להזיז רק דיסקית אחת בכל פעם - כלומר להוציאה מהמוט שבו היא נמצאת, ולהשחיל אותה על מוט אחר.
אסור לשים דיסקית על דיסקית שקטנה ממנה.
כאשר מקודדים כללים אלה בצורה גרפית, מתקבלת גרסה סופית של משולש שרפינסקי.
פון נוימן היה מחלוצי מדעי המחשב, ותרם לבסיס התאורטי שלהם. בצד המעשי של המחשוב היה בקשר הדוק עם מפתחי המחשבים הראשונים ועיצב את הארכיטקטורה המוכרת לנו של המחשב, לפיה מכיל הזיכרון את התוכנית לביצוע ואת הנתונים שעליהם היא פועלת, והוראות התוכנית מתבצעות באופן סדרתי בזו אחר זו.
האניגמה (מיוונית: αἴνιγμα - תעלומה, חידה) היא משפחה של מכונות להצפנה ולפיענוח של מסרים טקסטואליים, ששימשו את הכוחות הגרמנים והאיטלקים במלחמת העולם השנייה. בזכות התקשורת המוצפנת שאפשרה האניגמה, הצליח הקריגסמרינה (הצי הגרמני), ובמיוחד צי הצוללות, להטיל מצור אפקטיבי על בריטניה.
בעלות הברית הצליחו לפצח את ההצפנה, ובמשך רוב המלחמה פיענחו מספר גדול של הודעות מוצפנות. פיצוח הצופן הקנה לצי הבריטי יתרון משמעותי במלחמה מול חיל הים הגרמני.
ניתוח תדירות הוא מעקב אחר התדירות של אותיות או קבוצות אותיות בטקסט מוצפן. צפנים חלשים לא ממסכים היטב את הפילוג והדבר עשוי להיות מנוצל לטובת המפענח המעוניין לקרוא הודעה מוצפנת.
גרף הינו אחד ממבני הנתונים השימושיים ביותר. בדוגמה לעיל, עץ פורש מינימלי, אשר מתאר את אוסף הקשתות בעל המשקל הנמוך ביותר, אשר מכסה את כלל צמתי הגרף.
מדעי המחשב, בהיותם מדע, מתבססים על יסודות מתמטיים רבים מתחום האלגברה, הקומבינטוריקה והלוגיקה.
מדעי המחשב מציעים מגוון של מבני נתונים מופשטים המהווים מודל מתמטי נוח עבור בעיות יום-יומיות. שימוש במודלים אלו מאפשר גיבוש, ניתוח ומיטובאלגוריתמים עבור בעיות אלו.
חישוביות הינה תחום תאוריה בסיסי במדעי המחשב אשר עוסק ביכולת החישוב של מחשב: מה ניתן ומה לא ניתן לחשב על ידי מחשב. הניתוח המדעי מבוסס על מודל מתמטי עבור מכונת חישוב אשר נקרא מכונת טיורינג.
סיבוכיות חישובית היא ענף של תחום החישוביות אשר מתמקד בפונקציות אשר ניתן לחשב במחשב, ועוסק ביעילות הביצוע של אותו חישוב: כמה מהר ניתן לעשותו, מה הזיכרון המינימלי הנדרש וכיוצא בזה.
אלגוריתם הוא דרך שיטתית (כלומר כזו שצעדיה מוגדרים היטב) לביצוע של משימה מסוימת במספר סופי של צעדים. מתכון להכנת עוגה הוא דוגמה לאלגוריתם, אך בדרך-כלל משמש מושג זה לפתרון בעיות במתמטיקה או במדעי המחשב. כל תוכנית מחשב היא אלגוריתם, או אוסף של אלגוריתמים.
בינה מלאכותית היא ענף של מדעי המחשב העוסק ביכולתם של מחשבים לפעול באופן המציג יכולות השמורות עד כה לבינה האנושית בלבד. מכיוון שמחשב יכול לבצע פעילויות מוגדרות במהירות רבה ביותר, לעיתים נוצרת התחושה שהוא מדמה פעולה אינטליגנטית, כגון יכולת משחק שחמט או ניהול שיחה.
בשנת 1950 הוגדר הכלי שבעזרתו ניתן לקבוע האם מכונה הגיעה לרף האינטליגנציה האנושית, במבחן הקרוי מבחן טיורינג:
"אם יינתן לאדם, היושב בחדר סגור, לנהל שיחה באמצעות ממשק מחשב (Console) עם ישות שנמצאת בחדר השני, כאשר אותה ישות תהיה או אדם או מכונה, והמשוחח לא יוכל לזהות האם מולו ניצב אדם או מכונה, או-אז המכונה תחשב לתבונית.
שימוש בגרפיקה ממוחשבת (ובפרט בגרפיקת תלת־ממד) לצורך יצירת אנימציה קרוי אנימציה ממוחשבת. לטכנולוגיה זו שימושים רבים בקולנוע, בטלוויזיה ובמשחקי מחשב.
היכולת של הגרפיקה הממוחשבת (ובפרט גרפיקת תלת־ממד) לייצר תמונות ריאליסטיות משמשת גם באדריכלות, רפואה ובתחומי תעשייה אחרים.
תחום אחר בגרפיקה הממוחשבת, עיבוד תמונה, משמש בעיקר לעיבוד תמונות שצולמו במצלמה. בעזרת שיטות אלה אפשר לתקן פגמים שנפלו בצילום, לשנות את תכונות התמונה כולה או חלקים ממנה, וכן ליצור אפקטים מיוחדים כגון מורפינג.
חישוב קוונטי הינו תחום במדעי המחשב בו מכונת החישוב פועלת על פי עקרונות הפיזיקה הקוונטית ומוגבלת אך ורק על ידי חוקים פיזיקליים אלו. להבדיל ממכונת החישוב ה"קלאסית" (מכונת טיורינג הפועלת לפי חוקי הפיזיקה הקלאסית), המחשב הקוונטי יודע לעבד ביטים-קוונטיים, קיוביטים, בעלי התכונה המוזרה שמצבם אינו בהכרח '0' או '1' אלא יכול להיות סופרפוזיציה שלהם. מודל חישובי זה מאפשר ביצוע אלגוריתמים קוונטיים בעלי מקביליות גבוהה, ויעילות טובה יותר מהאלגוריתם הקלאסי הרגיל.
כח החישוב של מחשב קוונטי אינו גדול יותר מאשר של מחשב רגיל, אך כאמור יעילותו גבוהה יותר. פעולות כמו מציאת גורם ראשוני של מספר גדול, או מציאת מפתח של צופן, ניתנות לביצוע במחשב קוונטי ביעילות פולינומית, לעומת היעילות האקספוננציאלית של מחשב קלאסי.
תורת הקודים היא תחום במתמטיקה ובמדעי המחשב שעוסק בהעברה יעילה של מידע דרך מערכת מציאותית שיוצרת שגיאות ברצף.
כאשר מעבירים מידע דרך מוליך טוב ככל שיהיה (גלי רדיו, קווי טלפון), נופלות טעויות במידע כתוצאה מרעשי רקע שנוצרים מסיבות טכניות בעיקר. שגיאה קטנה ככל שתהיה יכולה לעוות את המידע המתקבל ולהפוך אותו לחסר משמעות, או לבעל משמעות שונה מהרצוי. הבעיה קיימת מאז ומעולם גם בשפת הדיבור והכתיבה. ניתן לראות טעויות דפוס שנובעות מהחלפת אותיות כמעט בכל ספר שיוצא לשוק.
בעיה זו נעשתה חריפה במיוחד בתקשורת בין מחשבים, בה שינוי של ביט אחד במסר יכול להרוס את החישוב כולו.
בתורת הקודים מפותח מושג הקוד וכן גם כלים שמאפשרים הבחנה ותיקון שגיאות במידע המתקבל.
הספר עוסק בבינה מלאכותית, ובפרט בלמידת מכונה, מציג הישגים של דרך זו, כגון נצחונו של "כחול עמוק" במשחק השחמט ונצחונה של "אלפאגו" במשחק גו, ומתמקד בתחומים נוספים של תוכנה מבוססת למידה עמוקה, כגון ציור ממוחשב המחקה ציירים דגולים, יצירת מוזיקה, שירה וספרות על-ידי תוכנה, בדיקת משפטים מתמטיים על ידי תוכנה ויצירת משפטים חדשים ועוד. לאורך הספר עוסק המחבר במידת היצירתיות של התוכנות המתוארות, תוך השוואתה ליצירתיות האנושית.