מדעי המחשב

מדְעי המחשב הוא ענף מדעי העוסק בלימוד הבסיס התאורטי והמעשי של השימוש במערכות מחשב[1], ובמידה מסוימת, גם בשאלה של תכנון ובנייה של מערכות מחשב. ענפי המִשנה שלו רבים; חלקם מדגישים שימוש במחשב בתחום מסוים (כגון גרפיקה ממוחשבת או בניית מהדרים), אחרים עוסקים בחקר התכונות של בעיות חישוביות כלליות (לדוגמה, סיבוכיות), וענפי משנה אחרים מתמקדים בפתרון הבעיות הכרוכות ביישום מעשי של חישובים ואלגוריתמים. ענף בולט במדְעי המחשב הוא חקר ויישום שפות פורמליות לפתרון בעיות חישוביות מסוימות (לדוגמה, באמצעות שפת תכנות).

להדגשת ההיבט התאורטי של תחום זה, אמר אחד מהעוסקים הבולטים בו:

מדְעי המחשב אינם עוסקים במחשב יותר ממה שאסטרונומיה עוסקת בטלסקופ.

מדעי מחשב כוללים מספר בעיות פתוחות (כגון שאלת P=NP) שמתנהל מחקר רב לפותרן, והן בעלות השלכות משמעותיות להתפתחות המדע בכלל ומדעי מחשב בפרט.

עיינו גם בפורטל

פורטל מדעי המחשב הוא שער לכל הנושאים הקשורים במדעי המחשב. ניתן למצוא בו קישורים אל תחומי המשנה של הענף, מושגי יסוד בתחום, מדענים חשובים ועוד.

הנושאים העיקריים

אלה הנושאים העיקריים הנחקרים ונלמדים במסגרת מדְעי המחשב:

מדעי המחשב מסייעים גם במידה רבה לתחום הביואינפורמטיקה וליישום פענוח הגנום האנושי.

חוג מדעי המחשב הראשון הוקם ב-1962 באוניברסיטת פרדו שבארצות הברית.

אבני הדרך והתפתחות המדע

מדעי המחשב התהוו לענף מדע עצמאי רק באמצע המאה ה-20, אם כי התחילו להתפתח זמן רב קודם לכן. מכונות החישוב הראשונות הופיעו כבר בעת העתיקה.

בתקופות קרובות יותר לזמננו, תחום מדעי המחשב התחיל לתפוס תאוצה כשמדענים כמו קפלר, לייבניץ, פסקל (על שמו שפת התכנות פסקל) ואחרים היו צריכים לחשב חישובים מורכבים, והמציאו לשם כך מכונות חישוב מכניות מבוססות גלגלי שיניים.

באמצע המאה ה-19 תיכנן צ'ארלס בבג' מחשב מכָני ראשון מסוגו (אולם הוא מעולם לא קרם עור וגידים). המכונה של בבג' היא למעשה המכונה הראשונה שנבנתה מבלי שתכנונה יקבע מראש את יכולותיה, והיה אפשר לתכנתה למלא פקודות שונות. זוהי המכונה הראשונה מסוגה, ובשל כך, נחשב בבג' לממציא רעיון המחשב.

עדה לאבלייס, בתו של המשורר לורד ביירון, הייתה שותפה לבבג', וכתבה תוכנה למכונתו. בעקבות זאת היא נחשבת למתכנתת הראשונה. על שמה נקראת שפת התכנות Ada.

מאז אותם ימים התפתח תחום המחשבים בצעדי ענק. התרומה העיקרית נזקפת לזכותם של צִבאות העולם. הגרמנים והאמריקאים השתמשו במלחמת העולם הראשונה במכונות חישוב לירי ארטילרי, וכן להצפנה.

לקראת מלחמת העולם השנייה פיתחו הגרמנים מכונת הצפנה משוכללת, אניגמה, ובעזרתה הִצפינו את התשדורת הצבאית שלהם. פיצוח המכונה על ידי בעלות הברית ארך כעשור ואילץ את שירותי הביון של פולין, צרפת והממלכה המאוחדת לפתח כלים מתמטיים (למשל תורת החבורות). פיצוח צופן האניגמה על ידי הצוות הבריטי (הדמות המרכזית בו היה אלן טיורינג), נחשב לאחד הגורמים הבולטים לשימוש מעשי בנושאים שעד אז נחשבו לתאורטיים, והיה זרז לפיתוח תחום מדעי המחשב. טיורינג נחשב לאבי מדעי המחשב המודרניים, ועל שמו נקרא פרס טיורינג המחולק על ידי ארגון ACM, האגודה האמריקאית למחשבים, ונחשב לפרס היוּקרתי בענף.

התפתחות התאוריה של מדְעי המחשב

בשנות השלושים של המאה העשרים התפתח תחום התאוריה של מדעי המחשב, ניתוח האלגוריתמים והחישוביות. פריצת הדרך הייתה יצירת מודל מתמטי של רעיון ה"מחשב". מודל זה נקרא מכונת טיורינג. מודלים רבים אחרים לביצוע חישובים הועלו, והוכחו כשקולים זה לזה מבחינת יכולת החישוב. מכאן הגיעה תזת צ'רץ'-טיורינג שהציעו אלן טיורינג ואלונזו צ'רץ', הטוענת כי כל מודל חישובי "סביר" וחזק מספיק שקול למכונת טיורינג. התזה הזאת מקובלת כיום, על פי רוב, כהנחת עבודה במחקר.

המחשב הראשון

ב-1942 פותח המחשב הראשון, Z3, על ידי קונראד צוזה. מחשב זה היה מחשב עולמי אוניברסלי: מכונה מכנית המסוגלת להריץ תוכנה כלשהי ולא תוכנה קבועה[2]. הוא קרא תוכנה מתוך סרטים מנוקבים. באמצע שנות ה-40 של המאה ה-20 נבנה המחשב ENIAC, המחשב האלקטרוני הראשון בר-התכנות. עם המצאת הטרנזיסטור ב-1947 נפוצו מחשבים אלקטרוניים.

בשנות ה-50 בארצות הברית נפרסה רשת מחשבים צבאיים שקישרה אמצעי שיגור גרעיניים ומהותה הייתה ביזור על ידי מניעת נקודת כשל יחידה. בשנות ה-60 החלו מכוני מחקר אוניברסיטאיים לשתף מידע מדעי ביניהם באמצעות מחשבים מחוברים לרשת אינטרנט. בשנות ה-80 ארגונים כלכליים מיכנו שירותיהם על ידי מחשבים נוספים שהותקנו וחוברו לרשת.

התפתחות השפות הפורמליות והאוטומט הסופי

במהלך 1950 עד 1960 החל להתפתח תחום האוטומטים הסופיים, מודל מעט מוגבל יותר מאשר מכונת הטיורינג הכללית, אך מדמה בצורה טובה תוכנות מחשב פשוטות ותוכנות אשר מנתחות קלט בפורמט קבוע כגון מהדרים למיניהם. בד בבד זינק תחום השפות הפורמליות בשנים אלו, בעיקר לאור עבודתו של נעם חומסקי אשר הגדיר מושגים רבים במבנה השפות. מבנים אלו תורגמו לשפות שאפשר לזהותן במודל האוטומט הסופי, והם עזרו להבחנה בין יכולות מודלים אלו[2].

חישוביות, סיבוכיות ואלגוריתמים

בשנות השישים החל להיבחן נושא הסיבוכיות: עד כמה מהר אפשר לחשב חישובים. בשנים אלו הוגדרו מחלקות סיבוכיות שונות ונבנתה היררכיה של קושי החישוב של הבעיות השונות (כלומר, אילו בעיות "קלות" יותר, ואילו "קשות" יותר). בשנים אלו נתגלו בעיות NP קשות על ידי סטפן קוק ובד בבד על ידי לאוניד לוין. לאחר מכן נתגלו מספר רב של שפות NP שלמות, בעיקר על ידי ריצ'רד קארפ, שחקר בעיה זו לעומקה. בתקופה זו הוגדרה השאלה P=NP, וזו נותרה בעיה פתוחה מרכזית עד עצם היום הזה.

במהלך שנות ה-70 ניסו לפתור את בעיית P=NP מזוויות שונות, כגון ניתוח גודלם של מעגלי מחשוב לוגיים אשר פותרים בעיות שונות. בשנים אלו נוסח הקשר בין זמן הריצה של תוכנית לבין גודל המעגל הלוגי המממש את אותה תוכנית[2]. מעגלי המחשוב הלוגיים הם, למעשה, עוד מודל אשר שקול למכונת טיורינג, ומאפשר לנתח את בעיית החישוביות מזוויות נוספות. בשנים אלו חלה פריחה בתחום מבני הנתונים והאלגוריתמים. דונלד קנות' פרסם את סדרת הספרים[3] "The Art of Computer Programming", וזו הייתה אוסף כתוב ומסודר של הידע על אלגוריתמים בתחומים שונים. בנוסף פותחו ושוכללו אלגוריתמים עבור מיון, אחסון ואיחזור נתונים, אלגוריתמים בתורת הגרפים, פתרון מערכת משוואות ליניארית וכן בעיות בחישוב מקבילי[2].

רשימת הבעיות הפתוחות מתעדכנת באופן דינמי, ומדעי המחשב ממשיכים לצבור ידע ואסטרטגיות חישוב באופנים יעילים יותר. עבור סוגי נתונים מסוימים (כגון big data, ועיבוד ביואינפורמטי) יש לכך השלכות מרחיקות לכת, שהופכות יכולת תאורטית לחשב לאפשרות מעשית שבעזרת ייעול חישוב לוקחות זמן ריצה סביר (שעות/שנות אדם) ולא כזה שמצריך אלפי או מיליוני שנים כדי להסתיים.

1980 ואילך

בשנים אלה חל גידול ניכר בכמות המחשבים ובשימושיהם השונים. המחשב הפך מכלי חישוב אוניברסיטאי ונדיר, לכלי יום-יומי ורחב־תפוצה. משנים אלו התפתחו תתי תחומים, כגון חישוב מקבילי ומבוזר, קריפטוגרפיה וחישוב קוונטי. תחומים חדשים של שנות ה-2000 כמו מחשוב ענן, מחשוב נייד ומחשבי לוח, וטלפונים חכמים נתנו דחיפה נוספת לשכיחות שימוש, הן בהיבט כמות משתמשים, והן מבחינת מספר אפליקציות שפותחו לתת מענה לצורך חברתי ותעשייתי-כלכלי במגוון רב של תחומים. לצורך ייעול תהליך פיתוח נוצרו שפות תכנות נוחות יותר לכתיבה וקריאה.

מדְעי המחשב בישראל

מדעי המחשב נלמדים ונחקרים בכל האוניברסיטאות בישראל. הפעילות בתחום זה החלה באמצע שנות השישים, תחילה במסגרת החוגים למתמטיקה או הנדסת חשמל, ולאחר מכן כחוגים עצמאיים, הזוכים לביקוש רב בקרב הסטודנטים. מסלול הלימודים הראשון לתואר במדעי המחשב בישראל נוסד במכון ויצמן למדע ב-1969, ביוזמתו של פרופ' שמעון אבן.

ארבעה מדעני מחשב ישראליים קיבלו את פרס טיורינג, ואלה הם:

ישראלים רבים קיבלו פרסים אחרים בתחום, כגון פרס גדל (מ-44 הזוכים בפרס עד ל-2011, תריסר ישראלים) ופרס דייקסטרה.

בישראל נלמדים מדְעי המחשב בכל האוניברסיטאות, וכן במכון ויצמן למדע. מדעים אלה נלמדים גם במכללות, ובהן המכון הטכנולוגי חולון (HIT), המרכז האקדמי לב, המכללה למינהל, המכללה האקדמית תל אביב-יפו, המרכז הבינתחומי הרצליה, המכללה האקדמית אשקלון, ומכללת נתניה. בחלק מהמוסדות אפשר לשלב מסלולים שונים, באוניברסיטה העברית ובמכללת נתניה קיים מסלול משולב של מדעי המחשב ומנהל עסקים, באוניברסיטת תל אביב קיים מסלול משולב של מדעי המחשב עם לימודי הנדסת חשמל ואלקטרוניקה, באוניברסיטת אריאל בשומרון ישנו מסלול משולב של מתמטיקה ומדעי המחשב, ובטכניון ובאוניברסיטת בר-אילן קיימים מסלולים משולבים של מתמטיקה ומדעי המחשב, ופיזיקה עם מדעי המחשב.

מתוך כ-20,000 מחלקות למדעי מחשב אקדמיות בעולם, מוסדות ישראליים מדורגים סביב מקומות 50–150 בדירוג שנחאי שמתעדכן מדי שנה וכולל קריטריונים כגון עומק מחקרי, תרומה למדע, לתעשייה ולחברה, שכיחות ציטוטי פרסומים, מספר פטנטים חדשים, איכות הוראה ועוד.

לקריאה נוספת

Overview
  • Tucker, Allen B. (2004). Computer Science Handbook (מהדורה שנייה). Chapman and Hall/CRC. ISBN 1-58488-360-X.
    • "Within more than 70 chapters, every one new or significantly revised, one can find any kind of information and references about computer science one can imagine. […] all in all, there is absolute nothing about Computer Science that can not be found in the 2.5 kilogram-encyclopaedia with its 110 survey articles […]." (Christoph Meinel, Zentralblatt MATH)
  • van Leeuwen, Jan (1994). Handbook of Theoretical Computer Science. The MIT Press. ISBN 0-262-72020-5.
    • "[…] this set is the most unique and possibly the most useful to the [theoretical computer science] community, in support both of teaching and research […]. The books can be used by anyone wanting simply to gain an understanding of one of these areas, or by someone desiring to be in research in a topic, or by instructors wishing to find timely information on a subject they are teaching outside their major areas of expertise." (Rocky Ross, SIGACT News)
  • Ralston, Anthony; Reilly, Edwin D.; Hemmendinger, David (2000). Encyclopedia of Computer Science (מהדורה 4th). Grove's Dictionaries. ISBN 1-56159-248-X.
    • "Since 1976, this has been the definitive reference work on computer, computing, and computer science. […] Alphabetically arranged and classified into broad subject areas, the entries cover hardware, computer systems, information and data, software, the mathematics of computing, theory of computation, methodologies, applications, and computing milieu. The editors have done a commendable job of blending historical perspective and practical reference information. The encyclopedia remains essential for most public and academic library reference collections." (Joe Accardin, Northeastern Illinois Univ., Chicago)
  • Edwin D. Reilly (2003). Milestones in Computer Science and Information Technology. Greenwood Publishing Group. ISBN 978-1-57356-521-9.
Selected literature
  • Knuth, Donald E. (1996). Selected Papers on Computer Science. CSLI Publications, Cambridge University Press.
  • Collier, Bruce. The little engine that could've: The calculating machines of Charles Babbage. Garland Publishing Inc. ISBN 0-8240-0043-9.
  • Cohen, Bernard (2000). Howard Aiken, Portrait of a computer pioneer. The MIT press. ISBN 978-0-2625317-9-5.
  • Tedre, Matti (2014). The Science of Computing: Shaping a Discipline. CRC Press, Taylor & Francis.
  • Randell, Brian (1973). The origins of Digital computers, Selected Papers. Springer-Verlag. ISBN 3-540-06169-X.
    • "Covering a period from 1966 to 1993, its interest lies not only in the content of each of these papers — still timely today — but also in their being put together so that ideas expressed at different times complement each other nicely." (N. Bernard, Zentralblatt MATH)
Articles
  • Peter J. Denning. Is computer science science?, Communications of the ACM, April 2005.
  • Peter J. Denning, Great principles in computing curricula, Technical Symposium on Computer Science Education, 2004.
  • Research evaluation for computer science, Informatics Europe report. Shorter journal version: Bertrand Meyer, Christine Choppy, Jan van Leeuwen and Jorgen Staunstrup, Research evaluation for computer science, in Communications of the ACM, vol. 52, no. 4, pp. 31–34, April 2009.
Curriculum and classification

קישורים חיצוניים

Bibliography and academic search engines
Professional organizations
Misc

הערות שוליים

  1. ^ "Computer science is the study of information" Department of Computer and Information Science, Guttenberg Information Technologies
    "Computer science is the study of computation." Computer Science Department, College of Saint Benedict, Saint John's University
    "Computer Science is the study of all aspects of computer systems, from the theoretical foundations to the very practical aspects of managing large software projects." Massey University
  2. ^ 2.0 2.1 2.2 2.3 ‎John E.Savage, Models Of Computation, Brown University, 1998 (pdf)
  3. ^ הסדרה החלה לאחר שקנות' הבין שספר אחד לא יספיק לכסות את כלל המידע הקיים. כתיבת סדרת הספרים (3 הכרכים הראשונים) נמשכה מעל לעשור, דבר שגרם לקנות' לפתח את השפה TeX, עקב העבודה הרבה שנדרשה ממנו לאור שינויי הטכנולוגיה בתחום עימוד וסידור ספרים
  4. ^ שפי גולדווסר ממכון ויצמן זכתה בפרס טיורינג היוקרתי, באתר TheMarker‏, 13 במרץ 2013
אלגוריתם

אלגוריתם הוא דרך שיטתית וחד-משמעית לביצוע של משימה מסוימת, במספר סופי של צעדים. מקור המילה בהגייה לטינית משובשת של שם המתמטיקאי הפרסי בן המאה התשיעית, מוחמד אבן מוסא אל-ח'ואריזמי.

מתכון להכנת עוגה הוא דוגמה לאלגוריתם. בדרך-כלל משמש מונח זה לכינוי שיטת פתרון בעיות במתמטיקה או במדעי המחשב ובעיקר ביחס לנתונים תוויים כלשהם. כל תוכנית מחשב היא אלגוריתם, או אוסף של אלגוריתמים. בתיאור זה של האלגוריתמים יש עמימות מסוימת. כדי לפזר עמימות זו הגה טיורינג את "מכונת טיורינג", שהיא "מכונה" תאורטית המסוגלת, עקרונית, לבצע כל אלגוריתם. במקביל לטיורינג, הגו עוד מתמטיקאים ולוגיקנים הגדרות למושג האלגוריתם והתברר שכל ההגדרות שלהם היו שקולות זו לזו. לכן, היום אלגוריתם הוא מה שכל אחת מההגדרות האלה מתאר, ובפרט, מה שמכונת טיורינג מסוגלת לבצע.

קיימות משימות מוגדרות שלא קיים פתרון אלגוריתמי עבורן, וכבר טיורינג הוכיח זאת (ענף מדעי המחשב העוסק בסוגיה זו קרוי חישוביות). מצד שני, לביצועה של משימה מסוימת ייתכנו אלגוריתמים אחדים, מצב שמצדיק בחינה של יעילות האלגוריתמים, בהתאם למדדי יעילות נאותים. במסגרת מדעי המחשב נבחנת יעילותם של אלגוריתמים (בענף הקרוי סיבוכיות חישובית) על-פי הזמן והזיכרון הנדרשים לביצוע האלגוריתם כפונקציה של גודל הקלט לאלגוריתם. דהיינו, ככל שזמן הריצה של האלגוריתם ביחס לגודל הקלט קטן יותר, האלגוריתם ייחשב טוב יותר. מקובל להגדיר אלגוריתמים כ"יעילים" אם זמן הריצה שלהם פולינומי בגודל הקלט שלהם.

תיאור ויזואלי של אלגוריתם ניתן באמצעות תרשים זרימה.

אלן טיורינג

אלן מת'יסון טיורינג (באנגלית: Alan Mathison Turing;‏ 23 ביוני 1912 – 7 ביוני 1954) היה מתמטיקאי בריטי, ממניחי היסודות למדעי המחשב. הגיע להישגים יוצאי דופן בצד התאורטי ובצד המעשי של מדעי המחשב. בצד התאורטי הנחיל טיורינג לעולם את מכונת טיורינג – מודל מופשט למכונת חישוב אוניברסלית, אשר מתאר את אופן פעולתו של המחשב, ואת מבחן טיורינג – מבחן הבודק האם למכונה כלשהי יש בינה מלאכותית שלא תאפשר להבחין בינה לבין אדם. טיורינג נחשב לאבי מדעי המחשב והבינה המלאכותית.

בצד המעשי היה טיורינג דמות מרכזית במאמץ הבריטי במלחמת העולם השנייה: הוא היה אחד השותפים העיקריים לפיצוח ה"אניגמה" – מכונת הצפנה של הצבא הגרמני – מאמץ שתרם תרומה מכרעת לניצחונן של בעלות הברית. הוא גם פיתח מכונת פיענוח שכונתה "בומב", אשר מיכנה והאיצה את תהליך הפענוח של הודעות האניגמה המוצפנות.

טיורינג שם קץ לחייו בשנת 1954, שבועיים לפני יום הולדתו ה-42, ככל הנראה בעקבות תופעות הלוואי של טיפול הורמונלי שנכפה עליו לאחר שהורשע בהומוסקסואליות, שהייתה באותן שנים בגדר עבירה בבריטניה. בשנת 2009 התנצל ראש ממשלת בריטניה, גורדון בראון, התנצלות רשמית ופומבית בשם הממשלה הבריטית על "היחס המחריד שנהגו כלפי טיורינג", וב-2013 העניקה לו המלכה אליזבת השנייה חנינה לאחר המוות.

ביזור

בִּזּוּר (בלעז: דֵּה-צֶנְטְרָלִיזַצְיָה או דֵּצֶנְטְרָלִיזַצְיָה; מצרפתית: Décentralisation) הוא תהליך של חלוקה מחדש או של פיזור סמכויות או תפקידים שמרוכזים במיקום מרכזי או בידי סמכות מרכזית. התהליך ההפוך נקרא מרכוז (או "ריכוז"). מאחר שמעטים המקרים בהם המצב ההתחלתי הוא של מרכוז מוחלט, מצב של ביזור הוא תמיד יחסי למצב אחר.

גאומטריה חישובית

גאומטריה חישובית היא תחום במתמטיקה ובמדעי המחשב העוסק במבני נתונים ובאלגוריתמים לפתרון בעיות גאומטריות באמצעות מחשב.

הבעיות הנדונות בתחום זה נוגעות לעצמים גאומטריים כמו נקודות, קטעים ומצולעים במישור, או לנקודות, לקטעים, למשטחים וכדומה במרחב מממד גבוה יותר.

המחקר העיוני בגאומטריה חישובית מיושם בתחומים אחרים במדעי המחשב, כגון: ראייה ממוחשבת, גרפיקה ממוחשבת, רובוטיקה ומערכות תיב"ם וכן בתחומים שאינם נמנים עם מדעי המחשב, כגון: הנדסה, סטטיסטיקה, מערכת מידע גאוגרפית וביולוגיה מולקולרית.

הסתברות

הסתברות היא ביטוי מספרי למידת הסבירות שמאורע מסוים יתרחש. ההסתברות של מאורע יכולה לקבל ערך מספרי שבין 0 ל-1. מאורע בלתי אפשרי הוא בעל הסתברות 0, ומאורע ודאי הוא בעל הסתברות 1. ההסתברות היא מושג יסודי במתמטיקה ומוגדרת באופן אנליטי בתורת ההסתברות. שימוש מעשי נרחב במושג ההסתברות נעשה בתחומי הסטטיסטיקה, מדעי הטבע, מדעי המחשב, מדעי החברה ומדעים אחרים.

מדען מחשב

מדען מחשב הוא אדם העוסק במחקר במדעי המחשב.

הכשרה של מדעני מחשב נעשית באוניברסיטאות, במסגרת החוג למדעי המחשב (חוג למדעי המחשב הוקם לראשונה בשנת 1962 באוניברסיטת פרדו שבארצות הברית. מסלול לימודים ראשון לתואר במדעי המחשב בישראל נוסד במכון ויצמן למדע בשנת 1969). כיוון שמדובר בענף מדעי צעיר, הרי העוסקים הוותיקים בו קיבלו את הכשרתם המדעית בתחומים אחרים, בפרט מתמטיקה. עקב צעירותו של התחום נחשבים למדעני מחשב גם כאלה שנפטרו קודם להיווסדו של תחום זה, אך נושאי פעולתם נמצאים בתחום זה (שנוצר במידה רבה בזכות מחקריהם). דוגמה מובהקת לכך הוא אלן טיורינג.

מחרוזת (מדעי המחשב)

בתאוריה של שפות פורמליות ובמדעי המחשב, מחרוזת (באנגלית: string) היא רצף של סימנים מתוך אלפבית נתון. בשפות תכנות מחרוזת היא טיפוס נתונים המכיל רצף של תווים.

מחשוב

תחום המחשוב (Computing) עוסק בשימוש בטכנולוגיית מחשבים לביצוע משימה מסוימת, כגון חישוב השטח של אזור מסוים, או יצירת מערכת אשר אליה מוזנים נתונים מסוימים והיא מספקת פלט מסוים.

תחום המחשוב עשוי לכלול את התכנון והפיתוח של מערכות התוכנה (ובפרט אלגוריתמים) ומערכות חומרה עבור מגוון רחב של מטרות. מחשוב הוא מרכיב אינטגרלי וחשוב במיוחד בטכנולוגיה התעשייתית המודרנית. תחומי המחשוב העיקריים כוללים הנדסת מחשבים, הנדסת תוכנה, מדעי המחשב, מערכות מידע וטכנולוגיית מידע.

מידע

מידע (או אינפורמציה) הוא כל: ערך, מתאם, נתון, עובדה או פרט תוכן, שניתן לקידוד, שמירה או שימוש בעיבוד. מבחינה סמנטית מידע ניתן להגדרה (בעיקר בתקשורת ובמדעי המחשב) כקשר בין מסמן למסומן, כאשר מסמן הוא סמל מוחשי המצביע על המסומן.

קשר זה יכול להיות קיים ברמה פוטנציאלית מופשטת ואובייקטיבית, או לקבל אופי ממשי וסובייקטיבי על ידי מערכת פירוש כלשהי המקנה לו משמעות.

סמלים נפוצים הם סימני הכתב והצלילים של המילים הדבורות בשפה. המסומן הוא המובן של הסמל, והמידע למעשה הוא ערך מופשט המקודד בסמלים המוחשיים.

מימוש

מימוש (לעיתים גם: יישום; באנגלית: implementation) הוא ההגשמה של יישום מחשב או ביצוע של תוכנית, רעיון, מודל, תכנון, אפיון, תקן, אלגוריתם, או מדיניות.

מעטפת (מחשבים)

במחשבים, מעטפת (באנגלית: Shell) היא רכיב תוכנה המספק ממשק למשתמשים. המונח מתייחס בדרך כלל למעטפת של מערכת הפעלה, המספקת גישה לשירותי הליבה. עם זאת, המונח משמש גם לציון יישומים ה"בנויים מסביב" לרכיב מסוים, לדוגמה דפדפנים ותוכניות לדואר אלקטרוני המשמשות כ"מעטפת" למנוע תצוגה מבוסס HTML.

למערכות הפעלה יש בדרך כלל שני סוגים של מעטפות: שורת פקודה וגרפית. מעטפת שורת הפקודה מספקת ממשק שורת פקודה (CLI) למערכת ההפעלה, ואילו המעטפת הגרפית מספקת ממשק משתמש גרפי (GUI). בשתי הקטגוריות, היעוד העיקרי של המעטפת הוא לשפעל או "לשגר" תוכניות אחרות, אך עם זאת, יש למעטפות לרוב גם יכולות נוספות כגון הצגת ספריות וקבצים.

מערכת זמן אמת

מערכת זמן אמת היא מערכת מחשב שיש לה, מעבר לדרישות הפונקציונליות הרגילות, דרישה של עמידה בזמנים. מערכת זמן אמת לא חייבת להגיב מהר, אך היא חייבת להגיב תוך הזמן שהוגדר מראש ובעקביות.

עיבוד אותות

עיבוד אותות הוא ניתוח, הצגה, קידוד ופיענוח של אותות. אותות יכולים להגיע ממקורות שונים, כגון אותות אקוסטיים, חשמליים, תמונות, קרינה אלקטרומגנטית, מדידות תלויות זמן, מוצא חיישנים, אותות ביולוגיים ועוד רבים אחרים.

ישנם מספר תחומים מרכזים תחת עיבוד אותות בהתאם לטבע האות אותו מעבדים:

עיבוד אותות ספרתי - אותות שנדגמו ומעובדים על ידי מעגלים אלקטרונים דיגיטליים, מיקרו-מעבדים או מחשבים.

עיבוד אותות אנלוגי - אותות שלא נדגמו ומעובדים כאותות רציפים על ידי מעגלים אנלוגיים.

עיבוד אותות קול - עיבוד אותות שמע חשמליים שנדגמו.

עיבוד אותות וידאו - עיבוד אותות וידאו חשמליים שנדגמו.

עיבוד אותות דיבור - פיענוח מילים מאותות דיבור חשמליים שנדגמו.

עיצוב תוכנה

עיצוב תוכנה הוא התהליך של פתרון בעיות ותכנון של פיתוח תוכנה. פיתוח התכנון ודרך העבודה של התוכנה, נעשה לאחר שנקבעים מטרות ומפרט. התהליך של עיצוב תוכנה משלב בתוכו מרכיבים של תכנות low-level, יישום אלגוריתמים, יחד עם ארכיטקטורת תוכנה, ותכנון מופשט של מרכיבי התוכנה.

פרויקט הגנאלוגיה במתמטיקה

פרויקט הגנאלוגיה במתמטיקה (באנגלית Mathematics Genealogy Project) הוא בסיס נתונים הנמצא באתר אינטרנט, המנהל את אילן היוחסין של מנחים וסטודנטים בעבודת דוקטור במתמטיקה. באילן יוחסין זה, המנחה (או המנחים) הוא ה"אב" והדוקטורנט הוא ה"בן". ההגדרה של מתמטיקה היא רחבה יחסית וכוללת בנוסף למתמטיקה גם: "ניתוח נתונים", סטטיסטיקה, שיטות כמותיות בפיזיקה, שיטות כמותיות במדעי החברה, מדעי המחשב וחקר ביצועים. מאגר הנתונים כולל מידע על כ-220,000 מתמטיקאים.

הפרויקט החל בספטמבר 1997 כשהפרופסור למתמטיקה הרי קונס (Harry B. Coonce) התעניין בשם המנחה של המנחה שלו, וכתוצאה בנה את אילן היוחסין. נכון לשנת 2010, הפרויקט מנוהל על ידי אוניברסיטת דקוטה הצפונית (NDSU) ונתמך על ידי האגודה האמריקאית למתמטיקה (AMS).

המידע מתקבל מתקצירים של הדוקטורטים, מהודעות של האגודה האמריקאית למתמטיקה, או דרך עדכון אתר האינטרנט. בסיס הנתונים מכיל את שמו של המתמטיקאי, האוניברסיטה שבה ניתן התואר, שנת קבלת התואר, נושא העבודה לתואר הדוקטור, שמות המנחים והמדינה שבה הוענק התואר.

מספר תלמידים ומספר "צאצאים" גדול מציין מתמטיקאי שהעמיד יותר מתמטיקאים למדע. למתמטיקאי יוהאן ברנולי, למשל, למעלה מ-62,000 צאצאים. בדף מיוחד באתר מצוינים שמותיהם של המורים בעלי המספר הגדול ביותר של תלמידים (השיא הוא 144, נכון ל-2018).

ישנם מקרים שבהם לא ניתן לטפס במעלה אילן היוחסין. דוגמה שכזאת היא רוברט פלויד, מדען מחשב שהעמיד "צאצאים" רבים, אך כזה שאין לו אפילו תואר שני, ולפיכך גם לא מנחה.

פרס טיורינג

פרס טיורינג (באנגלית: ACM A.M. Turing Award) הוא פרס בינלאומי בתחום מדעי המחשב. הוא ניתן על ידי ה-ACM, האגודה למכונות מחשוב, בגין הישג יוצא דופן בתחום מדעי המחשב. בתחום זה שקול הפרס מבחינת יוקרתו לפרס נובל, אשר אינו מוענק בתחומי המתמטיקה ומדעי המחשב. (הפרס המקביל בתחום המתמטיקה הוא מדליית פילדס). הפרס קרוי על שמו של אלן טיורינג, מתמטיקאי בריטי שנחשב לאבי מדעי המחשב התאורטיים והבינה המלאכותית.

הפרס ניתן מדי שנה, החל משנת 1966. משנת 2007 מחולק לזוכים פרס כספי של 250,000 דולר הממומן על ידי החברות אינטל וגוגל.

החל משנת 2014, גובה הפרס הוא מיליון דולר, במימון חברת גוגל.

בארבעים שנותיו הראשונות נמנו רק גברים עם מקבלי הפרס. בשנת 2006 ניתן הפרס לראשונה לאישה - פרנסס אלן, על תרומתה בתחום המהדרים ומיטוב הקוד שהם יוצרים.

שפה פורמלית

במתמטיקה, לוגיקה ומדעי המחשב, שפה פורמלית היא קבוצה כלשהי של רצפים סופיים של סימנים (או אותיות) מקבוצה סופית .

קבוצת הסימנים מכונה "האלפבית של השפה". את הרצפים של השפה נהוג לכנות "מילים".

תהליך (מדעי המחשב)

תהליך (באנגלית: Process) במדעי המחשב, הוא מופע של תוכנית מחשב שמופעל על ידי מערכת מחשב שיש לה היכולת להפעיל מספר תהליכים בו זמנית.

תוכנית מחשב היא בעצמה רק אוסף פקודות, בעוד שתהליך הוא ההפעלה של אותן פקודות. כך למשל, הפעלה של מספר מופעים של אותה תוכנה יגרום לעיתים קרובות למספר תהליכים של התוכנה להפתח בו זמנית. כדי לאפשר למשתמש להפעיל מספר תהליכים במקביל, מתבצעת על ידי סדרן התוכניות (Scheduler) חלוקת זמן מעבד בין התהליכים. בסיום ריצתו, התהליך מחזיר ערך יציאה (Exit status) שמאפשר לתהליך האב שיצר אותו לקבל מידע על סיום מוצלח של התהליך או לחלופין ערך שגיאה המעיד על סוג הכישלון שמנע מהתהליך להסתיים בהצלחה. תהליך שסיים את פעולתו אך עדיין קיים בטבלת התהליכים כדי שיתאפשר לתהליך האב לקרוא את ערך היציאה שלו מכונה תהליך זומבי.

תהליכון

תהליכון (באנגלית: Thread of execution, או בקיצור: Thread) ולעיתים חוט, פתיל ריצה או נים הוא מושג במדעי המחשב המשמש במערכות הפעלה כדי לתאר הקשר ריצה במרחב כתובות.

מערכות הפעלה מודרניות מאפשרות לנהל במסגרת ריצה של תהליך (Process) מספר תהליכונים הרצים במקביל במרחב כתובות אחד. במערכות אלו כל תהליך חדש מתחיל את ביצועו באמצעות 'תהליכון ראשי' אשר עשוי בהמשך ליצור תהליכונים נוספים. מנגנון הריצה באמצעות תהליכונים מאפשר לספק למשתמש במערכת ההפעלה מהירות תגובה ורציפות פעולה כאשר התהליך (יישום) מבצע כמה משימות במקביל.

תחומים במדעי המחשב
יסודות מתמטים לוגיקה מתמטיתתורת הקבוצותתורת המספריםתורת הגרפיםתורת הטיפוסיםתורת הקטגוריותאנליזה נומריתתורת האינפורמציה
תורת החישוביות תורת האוטומטיםתורת הרקורסיהתורת הסיבוכיותמחשוב קוונטי
אלגוריתמים ומבנה נתונים אנליזה של אלגוריתמים • עיצוב אלגוריתמים • גאומטריה חישובית
שפות תכנות ומהדרים ניתוח מלל • מפרשתכנות פרוצדורליתכנות מונחה עצמיםתכנות פונקציונליתכנות לוגיפרדיגמת תכנות
חישוב מבוזר, ועיבוד מקבילי עיבוד מרובה • מחשוב סריגיבקרת מקביליות
הנדסת תוכנה ניתוח מערכות מידעעיצוב תוכנהתכנות מחשבים • מתודות פורמליות • בדיקות תוכנהמתודולוגיית פיתוח תוכנה
תקשורת ניתובטופולוגיית רשתקריפטוגרפיה
בסיס נתונים מערכת לניהול בסיסי נתונים • מסד נתונים יחסיSQLתנועהאינדקסיםכריית מידע
בינה מלאכותית חשיבה אוטומטיתבלשנות חישוביתראייה ממוחשבת • אינטליגנציה חישובית • מערכת מומחהלמידה חישוביתעיבוד שפה טבעיתרובוטיקה
גרפיקה הדמיה ממוחשבתהנפשה ממוחשבתעיבוד תמונה
שימושים במדע ביואינפורמטיקהמדעים קוגניטיבייםכימיה חישוביתפיזיקה חישוביתאנליזה נומרית

דף זה בשפות אחרות

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.