קורס תכנות – מה ללמוד: ג'אווה, דוט נט, Full Stack או תואר במדעי המחשב?

 

הסבר על קורס תכנות בערוץ 12, בתוכנית הטלוויזיה "עבודה עברית"

 

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

 

מה ללמוד ג'אווה או #C?

קורס תכנות מומלץראשית נסביר – ג'אווה וגם #C הן שפות תכנות מודרניות אשר התפתחו ב-15-20 שנים האחרונות. ג'אווה פותחה והחלה את דרכה בחברת המחשבים SUN, חברה שלימים נבלעה על-ידי חברת התוכנה הענקית ORACLE. היום ג'אווה ממשיכה להתפתח על-ידי קהילה של מפתחי קוד מקור חופשי הנתמכים על-ידי חברת ORACLE. #C לעומתה נבנתה על-גבי שפת התכנות ++C (שבעצמה נבנתה על גבי שפת התכנות C). #C פותחה על-ידי חברת מיקרוסופט והיא נתמכת על-ידי מיקרוסופט. #C משולבת עם הסביבה הטכנולוגית הנקראת DOT NET. דוט נט היא סביבה טכנולוגית המאפשרת להשתמש במגוון כלים עצום העוזרים לחסוך זמן פיתוח יקר ובעיקר לחסוך שגיאות (BUGS).

 

אז איזו שפה פופולארית יותר? מה כדאי ללמוד?
התשובה המפתיעה היא – זה לא כל כך משנה! מדוע? ראשית שתי השפות הן מאוד דומות ושתיהן פופולאריות ומצויות בשימוש נרחב בשוק. יש ארגונים רבים בהם משתמשים בשתי השפות במקביל בפרויקטים שונים ואף באותו פרויקט. גם מבחינה טכנית, יש בשתי השפות כמעט את אותם המבנים. שנית בקורס תכנות חשוב ללמוד שפת תכנות מודרנית אחת לעומק (ואולי עוד שפה נוספת להשוואה). אבל לא חשוב איזו. מה שכן חשוב, כפי שנראה בהמשך, זה ללמוד קורס מעמיק ורציני, המלמד הן את הרמה התכנונית והן את הרמה הטכנולוגית. וכאשר לומדים תכנון ועקרונות – ניתן ללמוד אותם גם בג'אווה וגם ב- #C באותה מידה. יחד עם זאת רצוי גם להצביע על הבדלים בין השפות מבחינת השימושיות בהן. ניתן לומר שרוב החברות היותר קטנות (אבל ממש לא כולן) נוטות להשתמש ב-JAVA. בחברות הבינוניות תמצאו הרבה יותר את #C ובחברות הגדולות לרוב תמצאו את שתיהן. ואם כבר עוסקים בשפות תכנות כדאי להזכיר שגם ידע ב-PYTON יכול לעזור ואפילו ב-RUBY. אבל שוב, השפה עצמה שלומדים בקורס תכנות הרבה פחות חשובה מלימוד מעמיק ורציני של כלל מרכיבי התוכנה המודרנית. ראו בהמשך תוכנית לימודים מוצעת לקרוס תכנות.

 

מה האורך של קורס תכנות טוב?
קורס_תכנות_חוות_דעתבשוק תמצאו מגוון גדול של קורסי תכנות. ישנם קורסים קצרים הנמשכים כ-200-300 שעות, ישנם קורסים ארוכים יותר בסביבות ה-600 שעות לימוד וישנם קורסים של 1,100 שעות לימוד ואף יותר. אז כמה זמן נמשך קורס תכנות טוב? אם משווים את התוכניות הקצרות והבינוניות לתוכניות המלאות והיותר ארוכות רואים בבירור שני הבדלים: א) בתוכניות הקצרות מסתפקים בלימוד שפת תכנות בצורה בסיסית ולומדים עוד מספר טכנולוגיות על קצה המזלג. בתוכניות הארוכות (המלאות יותר) לומדים יותר עקרונות תכנון ושיטות תכנון. כמו כן, בקורסים המלאים, לומדים כל נושא בצורה מקיפה יותר; ב) בתוכניות הארוכות יש יותר דגש על פתוח פרויקטים מעשיים, יש מגוון של פרויקטים שהם חלק מתוכנית הלימודים והם מהווים את השלד של התוכנית – ראו תוכנית לימודים של קורס תכנות בהמשך. הלימודים בקורס תכנות חייבים להכין את הבוגר בצורה מיטבית לשוק העבודה. יש חשיבות עצומה לתפקיד הראשון אותו יבצע הבוגר. תפקיד זה קובע במידה רבה את העתיד המקצועי של הבוגר (וכמובן את השכר הצפוי לו). חשוב מאוד שהתפקיד הראשון יהיה תפקיד מאתגר המאפשר לבוגר להתברג גבוהה ככל האפשר בסולם המקצועי. לכן ככל שהבוגר יבוא לשוק העבודה מצויד ביותר כלים, מצויד ביותר חשיבה מקצועית בוגרת וניסיון מקצועי רב – כך יקל עליו למצוא ג'וב מקצועי יותר. תלמיד שיתפשר על קורס מהיר וקצר ייפגע בעצמו פעמיים – פעם אחת הוא יפסיד את ההזדמנות ללמוד דברים בשלב הקריטי של הכניסה למקצוע וייצא מהקורס עם ראיית עולם מקצועית צרה ופעם שניה הוא יוכל להתמודד על תפקידים בסיסיים בלבד, תפקידים שיפגעו ללא ספק בעתידו המקצועי. לכן חשוב מאוד לא להתפשר, הגם שקורס קצר יכול להביא את הלומד למציאת עבודה, חשוב לבחור קורס המוביל לעבודה רצינית ומתקדמת. כאן המקום להזכיר שגם ב-צ.ה.ל., גוף המריץ מגוון קורסי תכנות שונים (בחיל התקשוב, בחיל המודעין ובחיל האוויר) קורסי התכנות אורכים כ-1,000 עד 1,300 שעות לימוד וזאת לפני שמתחשבים בשלבי ההתמחות השונים שהבוגרים עוברים.

 

איך בוחרים קורס תכנות טוב?
בשוק יש מגוון קורסי תכנות. המתעניין בהחלט יכול להיות מבולבל ממבול ההצעות. למען האמת רוב ההצעות נשמעות טובות וקשה להחליט. אבל לפני שמחליטים חשוב מאוד לעשות בדיקות מקיפות. חשוב לזכור שמדובר בכל מקרה בקורס שאמור לתת לבוגר מקצוע ותעסוקה לשנים רבות קדימה. לכן מדובר בהחלטה לא פשוטה – מה קורס התכנות הטוב ביותר עבורי? אז הנה כמה טיפים שיכולים לעזור:
• לשאול אנשים מהתחום. חשוב לנסות למצוא קרובי משפחה, חברים, מכרים וכד' העובדים בהייטק ולשאול אותם. מה לשאול? האם הם נתקלו בבוגרים של המכללה העובדים בארגונם? האם הם עצמם למדו במכללה? אולי יש להם חברים לעבודה ששמעו על המכללה? בדרך כלל אנשים מהתחום מבינים את המשמעות ארוכת הטווח של לימודים במכללה נכונה ולכן ההמלצה שלהם חשובה.
• חוות דעת בוגרים. גם בוגרים של המכללה יכולים לעזור לגבש דעה. חוות דעת בוגרים היא חשובה – אבל תמיד צריך לקחת אותה בפרספקטיבה מתאימה. אז חפשו בים החברים שלכם בוגרים שלמדו במכללה. אם לא מצאתם בקשו מהמכללה לספק לכם טלפונים של בוגרים. הכינו מראש כמה שאלות, התקשרו ושאלו את השאלות. רצוי גם שאלות קלות אבל גם קשות, כגון – עד כמה את/ה מרגיש/ה שהלימודים עזרו למצוא עבודה? מה הדבר שאהבת שם? ומה שנאת? וכד'
• בדיקת חוות דעת באינטרנט. האינטרנט הינו מקור נוסף למציאת חוות דעת על קורסי תכנות. כמובן חייבים להיזהר מהטעיות מכוונות ו-Fake reviews. אפשר לחפש בגוגל עצמה חוות דעת בוגרים על המכללה – פשוט חפשו לדוגמא חוות דעת על מכללת סלע ואז תגללו למצוא את "כרטיס העסק" ושם חפשו ביקורות (Reviews ). בנוסף ישנם פורטלי לימודים כגון לימודים, הסטודנט ועוד.
• ללכת לראות ולהתרשם. אין כמו מראה עיניים. קחו את עצמכם למכללה. בקשו לשוחח עם יועץ. בקשו לערוך סיור במקום. נסו להתרשם מהרצינות, האם מקבלים כל אחד שמוכן לשלם או יש סינון? כיצד הסינון פועל? עד כמה הסינון רציני? כיצד המקום נראה וכד' אם ניתן – שוחחו עם תלמידים הלומדים שם.

 

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

 

תוכנית לימודים מוצעת לקורס תכנות – 2019

 

קורס

מה לומדים?

ש"א הרצאה + תרגול

Computer Architecture מושגי הבסיס בעולם התוכנה והחומרה: איך המחשב עובד? האלגברה מאחורי החישוביות. 26

Introduction to Programming - Using C# Language

לימוד יסודות התכנות תוך שימוש בשפת #C. לימוד הכלים הקיימים לכתיבה, בדיקה והרצה של תוכניות מחשב בגישה מעשית.

45

Computer Methodology - C#

לימוד פתוח תוכניות מחשב ברמה גבוהה יותר, תוך לימוד מרכיבים נוספים של שפת #C ומבוא ל-Object Oriented.

46

Introduction to Testing

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

45

Programming Project

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

50

Object Oriented and C# in depth

תכנות מתקדם בשפת #C, תכנות תוך שימוש בכלי מערכת הדוט נט (NET.) וטכנולוגיית ה-UML  לתכנון מערכות מורכבות.

68

Project O-O Design & .NET Framework

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

50

Unit Test

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

5

Algorithms and Complexity (using C#)

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

28

Data Structures (using C#)

לימוד מבני הנתונים עיקריים המצויים בכל מערכת תוכנה גדולה, יישומם בפועל ומטרתם. הסטודנטים ילמדו הן על העיצוב שלהם והן על דרך מימושם ב-#C.

32

Data Structures Project

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

50

Relational Data Bases and SQL

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

34

Programming with ADO.NET

לימוד הטכנולוגיות היותר נפוצות לעבודה עם בסיסי נתונים מתוך #C ה -ADO.NET נלמד על שיטות שונות לביצוע Data Binding ולעבודה במודל שרת/לקוח

11

LINQ via C#

לימוד טכנולוגיית ה-LINQ לצורך טיפול בנתונים הייחודיות והיתרונות של הטכנולוגיה. LINQ to SQL ו- LINQ to XML

9

Entity Framework

לימוד הטכנולוגיה העדכנית ביותר של עבודה מול נתונים מתוך שפת #C בעזרת Entity Framework. הסטודנטים ילמדו כיצד לייצר ולבנות נכון את שכבות ההפרדה הנדרשות לעבודה מול בסיס נתונים קיים.

30

HTML and JavaScript

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

50

Developing ASP.NET MVC Web Applications

כתיבת תוכנה לבנית אתרי WEB מורכבים תוך שימוש בשפת התכנות #C לימוד תיכנת צד השרת וצד הלקוח של האתר.

49

Project - WEB based

פרויקט מקיף בו יבצעו הסטודנטים הקמה של אפליקציית להרצת אתר WEB מבוססת ASP MVC.

50

Active Server Pages (ASP.Net) Part B & AJAX

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

28

Programming in HTML5 with JavaScript and CSS3

ללמוד לשלב מרכיבים מתקדמים באתרי WEB, כגון יצירת אתרי WEB דינמיים, HTML5 והכלת וידאו באתר.

22

Developing Single Page Applications with AngularJS

פתוח אתר כאפליקציה, בטכנולוגית אנגולאר, הטכנולוגיה הפופולאריות ליצירת אפליקציות WEB.

28

Programming the .NET Framework

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

41

Web API RESTful applications

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

9

SOA (Service-Oriented Applications) using WCF

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

9

Developing Windows Azure and Web Services

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

59

Developing SOA-Project

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

50

Design Patterns & Adv. Techniques in .NET

לימוד הפרדיגמה הכללית לתכנון מערכות - ה Design Patterns, וכיצד הפרדיגמה משמשת לבניית ארכיטקטורת תוכנה בצורה נכונה.

19

Advanced Windows Store App Development Using C#

קורס מקיף זה מלמד פתוח תוכנה לסמארטפונים תוך שימוש בשפת #C.

41

Windows Store App Project

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

50

Developing Cross-Platform mobile applications in C# using Xamarin

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

29

Final Project

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

100


23/01/2019 חזרה

מעוניינים במידע נוסף?

מלאו פרטיכם ונציגינו יחזרו אליכם בהקדם

  • *שם מלא:

  • *אימייל:

  • *טלפון:

  • *נושא הפניה:

  • פירוט הפניה:

  • קבוצת סלע

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

    הצטרפו לרשימת הדיוור של סלע  »
  • מכללת סלע

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

    הצטרפו לרשימת הדיוור של סלע  »
  • אתר הסטודנטים

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

    כניסה לאתר הסטודנטים »