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

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

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

חדש! זכייה בפרס מדע נתונים

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

  • שיטות תכנות מודרניות (תכנות Java) (CS 401)

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

  • פיתוח תוכנה מתקדם (CS 525)

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

  • אלגוריתמים (CS 435)

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

  • Enterprise Enterprise (CS 544)

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

  • הנדסת תוכנה (CS 425)

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

  • ארכיטקטורת יישומי אינטרנט ומסגרות (CS 545)

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

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

  • תכנות יישומי אינטרנט (CS 472)

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

  • מדע וטכנולוגיה של התודעה עבור מקצועני מחשבים (עבור 506)

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

  • מנהיגות למנהלים טכניים (עבור 506B)

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

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

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

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

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

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

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

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

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

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

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

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

    (יחידות 2)

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

  • שפות תכנות מתקדמות (CS 505)

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

  • ביג דאטה (מדע נתונים) (CS 522)

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

  • Big Data Analytics (מדע נתונים) (CS 488)

    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) תנאי קבלה: הסכמת סגל המחלקה

  • טכנולוגיות ביג דאטה (מדע נתונים) (CS 523)

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

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

  • רשתות מחשבים (CS 450)

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

  • אבטחת מחשבים (CS 466)

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

  • מערכות ניהול מסדי נתונים (CS 422)

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

  • למידת מכונה (מדעי נתונים) (CS 582)

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

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

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

  • תכנות להתקנים ניידים (CS 473)

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

  • יישומי אינטרנט מודרניים (CS 572)

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

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

    (יחידות 4)

  • מערכות הפעלה (CS 465)

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

  • תכנות מקבילי (CS 471)

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

  • ארכיטקטורת תוכנה (CS 590)

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

  • הפרקטיקה בפיתוח תוכנה (CS 575)

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

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

אדווין בוומבאלאוגנדה