אתה מוכן ל לקדם את הקריירה שלך?

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

כל הקורסים נועדו לעזור לך לקדם את הקריירה שלך וכל קורס מכיל משימות מעשיות. נוף דרישות סיום הלימודים.

קורסים למדעי נתונים

קורסים סטנדרטיים

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

  • קורס זה בוחן את השיטות והשיטות הנוכחיות לתכנון טוב של מערכות תוכנה. הנושאים כוללים: דפוסי תכנון תוכנה, מסגרות, ארכיטקטורות ומערכות תכנון ליישם את ההפשטות הרב-רמות הללו. (2-4 זיכויים) תנאי קדם: CS 401 או הסכמת סגל המחלקה.

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

  • קורס זה מתמקד בהוראת העקרונות והנהלים המשמשים לפיתוח יישומים ארגוניים גדולים יותר. נבחן את השכבות האדריכליות השונות המשמשות לעיתים קרובות וטכנולוגיות שונות הקשורות לשכבות אלה, כולל מיפוי יחסי אובייקט (ORM), תלות בהזרקה (DI), תכנות מונחה עצמים (AOP) ושילוב עם יישומים אחרים באמצעות שירותי אינטרנט (RESTfull) ו SOAP), העברת הודעות ושיטה שיטת מרחוק. חייב להיות בעל ידע של מסדי נתונים יחסיים ו- SQL. אם אין לך קורס חזק או ידע טוב של SQL אתה צריך להירשם CS422 DBMS לפני ההרשמה EA. (יחידות 4)

  • הנדסת תוכנה היא קורס המציג את הסטודנט לשיטות עבודה מומלצות בפיתוח תוכנה באמצעות מתודולוגיית פיתוח תוכנה. לסטודנטים יש כבר ניסיון כלשהו בקורסים קודמים עם הפרדיגמה מונחה עצמים והשתמשו כמה דיאגרמות UML בסיסיים לצורך מודלים היחסים בין אובייקטים תוכנה. בהנדסת תוכנה, התלמיד יפתח מיומנויות בהצבת כלים אלה כדי לייצר תוכנה יציבה וקלה לתחזוקה. מתודולוגיה של פיתוח תוכנה מתארת ​​מתי ואיך יש להשתמש במושגים OO ובדיאגרמות UML כדי להשיג את המטרה של בניית תוכנה איכותית. הקורס מתמקד בפרויקט קטן שבו ניתן להדגים ולהחיל את העקרונות הנדונים במתכונת ההרצאה. בסוף הקורס יהיה לתלמיד יישום ריצה, שיבנה בהתאם לסטנדרטים הגבוהים של מתודולוגיית הפיתוח של RUP (Rational Unified Process Process).

  • קורס זה מתמקד ביישומי אינטרנט בהגדרת הארגון. יישום ארגוני הוא מערכת תוכנה גדולה שנועדה לפעול בארגון גדול כגון תאגיד או ממשלה. יישומים ארגוניים מורכבים, ניתנים להרחבה, מבוססי רכיבים, מבוזרים ומשימות קריטיות. קורס זה, CS545, מתמקד בשכבת הקצה הקדמי או המצגת של יישום אינטרנט ארגוני. CS544 Enterprise Architecture הוא קורס נלווה המתמקד בקצה האחורי או בשכבת העסק, כולל לוגיקה עסקית, עסקאות והתמדה. CS472, תכנות יישומי אינטרנט, הוא קורס מקדים המכסה HTML, CSS, JavaScript, Servlets ו- JSP.

    הקורס מלמד עקרונות ודפוסים הכלליים על פני פלטפורמות ומסגרות. הקורס יבחן ויעבוד עם שתי מסגרות האינטרנט הג'אווה הנפוצות, Java Server Faces (JSF) ו- SpringMVC. JSF הוא מסגרת מבוססת רכיבים והוא מפרט מסגרת המצגת הרשמית עבור מחסנית הטכנולוגיה של Java Enterprise Edition. SpringMVC היא חלק ממסגרת הליבה של הליבה והפכה למסגרת האינטרנט Java הנפוצה ביותר בשנים האחרונות. (יחידות 4) תנאי קדם: CS 472 או הסכמת סגל המחלקה.

  • קורס זה מספק מבוא שיטתי לתכנות יישומי אינטרנט אינטראקטיביים ודינמיים. הקורס מיועד לאנשים עם מעט מעט או ללא ניסיון קודם בתכנות יישומי רשת. הצעה זו תשתמש ב- servlets Java וב- JSP לעיבוד צד השרת. הקורס יציג HTML ו- CSS. JavaScript מהווה מוקד לקורס ומכוסה כשפת תכנות פונקציונלית הכוללת מרחבי שמות ומודולים של jQuery, Ajax ו- JavaScript. זהו תנאי מוקדם לאדריכלות יישומי האינטרנט CS545. הוא אינו מכסה את AngularJS או NodeJS, אך ה- JavaScript המכוסה כאן יכין אותך ללמוד את הטכנולוגיות הללו. (4 יחידות)
    תנאי קדם: CS 220 או CS 401 או הסכמת סגל המחלקה.

  • הקורס הראשון שלך תוכנן במיוחד כדי לבסס את הבסיס לאופן שבו אתה יכול להפוך למקצוענים המובילים בתחום מדעי המחשב. הקורס נעוץ בתרגול של מדיטציה טרנסצנדנטלית המובילה למימוש הפוטנציאל האמיתי שלך. תוכלו ללמוד על היתרונות של TM כולל יכולת לפתור בעיות מורכבות על ידי תפקוד מנטאלי מעולה המשפר את היצירתיות וחשיבה "מחוץ לקופסה". הקורס יתמקד בעקרונות העומדים בבסיס ביצועי השיא בפעילות על ידי פיתוח שילוב אופטימלי של מנוחה ופעילות. תוכלו לפתח ולחוות שגרה יומית אידיאלית התומכת בהצלחה בחיים. (2 יחידות)

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

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

    האם יש מנהיגים טבעיים?

    האם יש לך כריזמה להוביל ביעילות?

    איזה נכס אחד נדרש כדי להיות מנהיג?

    מה ההבדל בין ניהול ומובילה?

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

    מהי 'רשלנות ניהולית' וכיצד היא מובילה לחבלה עצמית?

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

    מה המקור של 80% מהבעיות שנמצאות במקום העבודה?

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

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

    (יחידות 2)

קורסים נוספים של MSCS

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

  • עיבוד מידע מודרני מוגדר על ידי מאגרי נתונים עצומים שאינם ניתנים לטיפול במערכות מסדי נתונים מסורתיים. קורס זה מכסה את הטכנולוגיה העדכנית ביותר שפותחה בשימוש על ידי מנהיגים בתעשייה כדי לפתור את הבעיה בצורה היעילה ביותר. נושאים ספציפיים מכוסים כוללים אלגוריתמים MapReduce, דפוסי עיצוב אלגוריתם MapReduce, HDFS, אדריכלות אשכול Hadoop, YARN, מחשוב תדרים יחסי, מיון משני, זחילה אינטרנט, אינדקסים הפוך אינדוקס דחיסה, אלגוריתמים ספארק וסקלה. (4 יחידות) תנאי מוקדם: CS 435 אלגוריתמים.

  • Big Data הוא המשאב הטבעי החדש: הנתונים מכפילים כל 12-18 חודשים. זה חדש ביג ניתוח נתונים הקורס מכסה את המושגים הבסיסיים וכלים כריית גדול מגדיר נתונים מגוונים כדי ליצור תובנות חדשות. תוכלו לשלוט בשימוש בשפה R כדי ליצור Wordcloud, Pagerank, ויזואליזציה נתונים, החלטות עצים, רגרסיה, קיבוץ באשכולות, רשתות עצביות, ועוד. אתה תעבוד עם כמה רב מיליון רב רשומות נתונים, וגם שלי הזנות Twitter. תוכלו ללמוד מושגים של Hadoop / MapReduce והזרמת נתונים, וכן לחקור פרויקטים נוספים של Apache Big Data כגון Spark, Flink, Kafka, Storm, Samza, NoSQL באמצעות מחקרים בודדים. אתה תעבוד בקבוצות על פרויקטים פתוחים מ Kaggle.com כדי להתחרות על כספי הפרס על ידי פתרון של הטוב ביותר של גזע נתונים אנליטיים האתגרים. תוכלו גם ללמוד להשתמש מובילים בתעשייה IBM SPSS Modeler, ופלטפורמות קוד פתוח פלטפורמת כריית נתונים. #1 ספר רבי המכר המשמש בקורס זה נכתב על ידי המדריך עצמו. הקורס ישתמש גם במגוון רחב של חומרי הדרכה וידאו מ MIT, קורסרה, גוגל, ובמקומות אחרים. (יחידות 4) תנאי קבלה: הסכמת סגל המחלקה

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

    מטרת הקורס היא להוסיף כמה כלים חשובים באמת בארסנל שלך שיעזרו לך לפתור בעיות ביג דאטה שונות. נתחיל במתן תשובות לשאלות כמו "מה זה Big Data? מדוע זה חשוב או שימושי? איך שומרים את הביג דאטה הזה? " לאחר מכן נלמד על כלים ומודלים מתכנתים שונים מתוך ערימת הטכנולוגיה הגדולה של נתונים אשר יסייעו לנו לנתח את הנתונים. הנושאים כוללים כמה מהפרויקטים במערכת האקולוגית של Hadoop כגון MapReduce, Pig, Hive, Sqoop, Flume, HBase (NoSQL DB), Zookeeper ו- Apache Spark System. אנו נסקור גם מבוא ל- AWS ו- EMR. אתה תעבוד בעיקר עם הפצת Hadoop של צומת אחת של Cloudera. (4 יחידות) (ללא תנאים מוקדמים)

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

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

  • מערכות מסד נתונים לארגן ולאחזר מידע, המאפשר למשתמש לגשת למידע הרצוי בקלות וביעילות. הנושאים כוללים: מודל נתונים יחסיים; SQL מיפוי ER; אלגברה יחסיים; נורמליזציה של נתונים; עסקאות; אובייקטים במסד הנתונים; אבטחת נתונים ויושרה; אחסון נתונים, OLAP, כריית נתונים; מסדי נתונים מבוזרים; וללמוד מערכת מסדי נתונים ספציפיים. (יחידות 4) תנאי קדם: CS 401 או הסכמת סגל המחלקה.

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

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

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

  • חשיבותו של תכנות המכשיר הנייד התפתחה בשנים האחרונות בתחום חדש בפיתוח תוכנה. קורס זה מכין את התלמידים לפתח יישומים הפועלים על מכשירים ניידים כגון טלפון IPhone, iPad או Android. זהו שוק המתפתח במהירות. הקורס מתמקד בהתקנת, פיתוח, בדיקה והפצה של יישומים ניידים. בסוף הקורס הזה התלמידים יכולים לפתח אפליקציה עבור פלטפורמות מכוסה, לדמות אותם, לבדוק אותם על המכשיר האמיתי ולבסוף לפרסם בחנות App כדי להפוך את הזמינות של המשתמשים. (יחידות 4) תנאי קדם: CS472 או הסכמת סגל המחלקה.

  • בקורס זה תלמד את ארכיטקטורת תכנות תגובתי של SPA (יישומי אינטרנט בודדים) יחד עם כל הכישורים הדרושים לבניית יישום אינטרנט מודרני מלא. טכנולוגיות כוללים: NodeJS, ExpressJS, TypeScript, AngularJS2, Firebase ו מסדי נתונים NoSQL (MongoDB). הקורס יכלול:

    • איך C + + V8 מנוע קוד אסינכרוני לעבוד הצומת ואת הלולאה האירוע הצומת.
    • כיצד לבנות את הקוד לשימוש חוזר ולבנות API משופר באמצעות מודולים ו- ExpressJS.
    • כיצד מסדי נתונים NoSQL לעבוד: Mongo מעטפת, מסגרת צבירה, ערכות עותק משוכפל, קיבוץ באשכולות, Shards, נמייה נמיבית.
    • הבנה מעמיקה של האופן שבו זוויתי (בגיבוי של Google) פועל, שינוי זיהוי, תכנות RxJs תגובתי עם תצפיות ונושאים, DOM צל, אזורי, מודולים ורכיבים, הוראות מותאמות אישית וצינורות, הזרקת שירותים ותלות, מהדר זוויתי, JIT ו- AOF , טפסים (מונע מונחה נתונים מונע), נתונים מחייב, ניתוב, שומרים והגנה על הכביש, לקוח HTTP, JWT JSON אינטרנט אסימון אימות.

    (יחידות 4)

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

  • מעבד סטנדרטי עבור כל המחשבים החדשים הוא עכשיו מעבד מרובה ליבות, אשר יש פוטנציאל לבצע תוכניות הרבה יותר מהר. עם זאת, כדי לנצל את הפוטנציאל הזה, מתכנת חייב להיות קצת ידע של טכניקות תכנות מקבילים. במהלך הקורס הזה, התלמידים יבלו את רוב זמנם בכתיבה ובביצוע תוכניות מקבילות. התוצאה הצפויה תהיה לפתח רמה חדשה של מיומנות תכנות מעשית. מיומנות זו לא תהיה שימושית רק עבור תכנות של מעבדים מרובי ליבות, אלא גם תכנות מערכות הפעלה מופץ תכנות הנתונים. כלי התוכנה המשמשים במהלך הקורס כוללים Microsoft Visual C / C + +, ספריית ריבוי הלידות של Java ו- OpenMP השחלה רגילה. (4 יחידות) דרישות קדם: ידע של תכנות מחשבים באמצעות Java, C, או C + +.

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

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

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