Master of Engineering στη Μηχανική Λογισμικού
University of Maryland - A. James Clark School of Engineering
Πληροφορία κλειδί
Τοποθεσία πανεπιστημιούπολης
College Park, Ηνωμένες Πολιτείες
Γλώσσες
Αγγλικά
Μορφή μελέτης
Εξ αποστάσεως εκπαίδευση, Στην Πανεπιστημιούπολη
Διάρκεια
2 χρόνια
Βήμα
Πλήρης απασχόληση, Μερικής απασχόλησης
Δίδακτρα
USD 45.000 / per course *
Προθεσμία εφαρμογής
15 May 2024
Πρωιμότερη ημερομηνία έναρξης
28 May 2024
* δίδακτρα στην πανεπιστημιούπολη: 1.086,53 $ ανά ώρα πίστωσης / διαδικτυακά δίδακτρα: 1.340,39 $ ανά ώρα πίστωσης
Εισαγωγή
Το πρόγραμμα Software Engineering ασχολείται με την ανάπτυξη και τη συντήρηση συστημάτων λογισμικού που συμπεριφέρονται αξιόπιστα και αποτελεσματικά, είναι οικονομικά προσιτά στην ανάπτυξη και συντήρηση και ικανοποιούν όλες τις απαιτήσεις που έχουν ορίσει οι πελάτες για αυτά. Η σχολή μας αποτελείται από ερευνητές και επαγγελματίες παγκόσμιας κλάσης που εφαρμόζουν τις πιο πρόσφατες αρχές Μηχανικής Λογισμικού σε μεγάλα έργα στη NASA, τη DARPA, τη Raytheon και τη Lockheed Martin.
Οι μαθητές που κερδίζουν πτυχίο Master of Engineering ή Μεταπτυχιακό Πιστοποιητικό Μηχανικής μέσω του προγράμματός μας θα μάθουν να αναπτύσσουν και να διατηρούν οικονομικά προσιτά, αξιόπιστα και αποτελεσματικά συστήματα λογισμικού που ευθυγραμμίζονται με τις ανάγκες των πελατών. Τα μαθήματα επικεντρώνονται σε τρεις τεχνικούς τομείς —την ασφάλεια στον κυβερνοχώρο, τη μηχανική υπολογιστών και τη μηχανική συστημάτων—προετοιμάζοντας τους μαθητές να βοηθήσουν στην επίλυση πιεστικών προβλημάτων του πραγματικού κόσμου.
Εισαγωγές
Διδακτέα ύλη
Απαιτήσεις για το πτυχίο
Master of Engineering: 30 μονάδες ή 10 μαθήματα
Οι μαθητές που επιδιώκουν αυτήν την επιλογή πρέπει να ολοκληρώσουν πέντε μαθήματα από το βασικό πρόγραμμα σπουδών, 1 τεχνικό μάθημα επιλογής συγκεκριμένου λογισμικού και 4 επιπλέον τεχνικά μαθήματα επιλογής. Δεν απαιτείται έρευνα ή διατριβή για αυτό το πτυχίο.
Πτυχιούχος πτυχίο Μηχανολογίας: 12 μονάδες ή 4 μαθήματα
Οι φοιτητές που επιδιώκουν Πιστοποιητικό Μεταπτυχιακών Σπουδών στη Μηχανική πρέπει να ολοκληρώσουν τα ακόλουθα τέσσερα μαθήματα:
- ENPM611, Μηχανική Λογισμικού
- ENPM612, Απαιτήσεις συστήματος και λογισμικού
- ENPM613, Software Design & Implementation
- ENPM614, Δοκιμή & Συντήρηση Λογισμικού
ΚΥΚΛΟΣ ΜΑΘΗΜΑΤΩΝ
ENPM611 Μηχανική Λογισμικού (3 Μονάδες) | Πυρήνας
Φθινόπωρο 2024 M 4:00 μ.μ. - 6:40 μ.μ. Christopher Ackermann
Θα καλυφθούν έννοιες, μέθοδοι και πρακτικές μηχανικής λογισμικού που είναι σημαντικές τόσο για τον θεωρητικό όσο και για τον επαγγελματία. Παρουσιάζεται όλο το φάσμα των αρμοδιοτήτων που αναμένονται από έναν μηχανικό λογισμικού. Οι θεμελιώδεις τομείς της ανάπτυξης απαιτήσεων, του σχεδιασμού λογισμικού, των γλωσσών προγραμματισμού και των δοκιμών καλύπτονται εκτενώς. Περιλαμβάνονται επίσης συνεδρίες σε υποστηρικτικούς τομείς όπως η μηχανική συστημάτων, η διαχείριση έργων και η εκτίμηση λογισμικού.
Προϋπόθεση: Ικανότητα σε μία γλώσσα προγραμματισμού και πρέπει να έχει ολοκληρώσει προπτυχιακό μάθημα μηχανικής λογισμικού ή άδεια εκπαιδευτή μαθημάτων.
ENPM612 Απαιτήσεις συστήματος και λογισμικού (3 μονάδες) | Πυρήνας
Θα δοθεί έμφαση στις θεωρητικές και πρακτικές πτυχές της ανάπτυξης απαιτήσεων. Οι μαθητές θα αναγνωρίσουν τη θέση των απαιτήσεων, τον τρόπο εργασίας με τους χρήστες, τις μεθόδους και τις τεχνικές απαιτήσεις, τους διάφορους τύπους απαιτήσεων, τον τρόπο ρύθμισης των χρονοδιαγραμμάτων ανάπτυξης απαιτήσεων, την εξέλιξη των απαιτήσεων, τον τρόπο μοντελοποίησης και πρωτότυπων απαιτήσεων, τον τρόπο αξιολόγησης και διαχείρισης του κινδύνου στις απαιτήσεις, τεχνικές δοκιμής απαιτήσεων, πώς να διαχειριστείτε τη διαδικασία απαιτήσεων και πώς να γράψετε ένα αποτελεσματικό έγγραφο απαιτήσεων.
Προϋπόθεση: ENPM611.
ENPM613 Σχεδιασμός & Υλοποίηση Λογισμικού (3 Μονάδες) | Πυρήνας
Φθινόπωρο 2024 W 7:00 μ.μ. - 9:40 μ.μ. Tony Barber
Καλύπτει τη διαδικασία σχεδιασμού λογισμικού, από την κατανόηση της ανάγκης ή του προβλήματος έως τη δημιουργία κατάλληλης αρχιτεκτονικής και λεπτομερών λύσεων σχεδιασμού, έως τη διατήρηση και την εξέλιξη του σχεδιασμού κατά την υλοποίηση και τη συντήρηση. Τα κύρια θέματα μελέτης περιλαμβάνουν μοντέλα ανάλυσης απαιτήσεων. Σχεδιασμός με επίκεντρο τον χρήστη. Αρχιτεκτονικός σχεδιασμός μέσω αποσύνθεσης και σύνθεσης. στυλ αρχιτεκτονικής και τακτικές αρχιτεκτονικής για την υποστήριξη διαφόρων ποιοτικών χαρακτηριστικών, όπως η ασφάλεια και η χρηστικότητα. σχεδιασμός για επαναχρησιμοποίηση και με επαναχρησιμοποίηση. λεπτομερείς αντικειμενοστρεφείς αρχές σχεδιασμού (όπως SOLID) και σχέδια σχεδίασης. προσεγγίσεις για την αξιολόγηση, τη σύγκριση και την επιλογή σχεδιαστικών λύσεων. τυπικές σημειώσεις για την τεκμηρίωση προβολών αρχιτεκτονικής, λεπτομερούς σχεδιασμού και μοντέλων ανάλυσης. και βιομηχανικά πρότυπα για τη δημιουργία παραδοτέων σχεδιασμού. Οι μαθητές θα αποκτήσουν όχι μόνο τεχνικές γνώσεις, αλλά και μαλακές δεξιότητες όπως η επικοινωνία, η συνεργασία, η κριτική σκέψη, η ηγεσία, η διαπραγμάτευση και η διαχείριση χρόνου.
Προϋπόθεση: ENPM611.
ENPM614 Δοκιμή & Συντήρηση Λογισμικού (3 Μονάδες) | Πυρήνας
Σκοπός αυτού του μαθήματος είναι να παρέχει μια επισκόπηση των δοκιμών και συντήρησης λογισμικού και του τρόπου με τον οποίο αυτές οι δραστηριότητες εντάσσονται στον Κύκλο Ζωής της Μηχανικής Λογισμικού. Πολλά παραδείγματα που χρησιμοποιούνται στις διαλέξεις προέρχονται από ανάλυση διαφόρων συστημάτων της NASA. Τα θέματα περιλαμβάνουν διάφορες μορφές δοκιμών, όπως Λειτουργικές Δοκιμές, Συνδυαστικές Δοκιμές, Δομικές Δοκιμές, Δοκιμές βάσει Μοντέλων, Δοκιμές προσανατολισμένες στην ασφάλεια καθώς και ο ρόλος της Αρχιτεκτονικής Λογισμικού στη δυνατότητα δοκιμής και συντήρησης, Δοκιμές παλινδρόμησης, Αυτοματοποιημένες δοκιμές, Κάλυψη δοκιμών συμπεριλαμβανομένης της κάλυψης MC/DC και πρότυπα δοκιμών.
Προϋπόθεση: ENPM611.
ENPM637 Διαχείριση Έργων Μηχανικής Λογισμικού (3 Μονάδες) | Αιρετός
Αυτό το μάθημα πραγματεύεται το εύρος της διαχείρισης έργων μηχανικής λογισμικού. Θα βοηθήσει στη μετατροπή εμπνευσμένων μηχανικών λογισμικού σε ηγέτες έργων λογισμικού. Το μάθημα θα μεταδώσει προηγμένες αρχές, μεθόδους και εργαλεία για τη διαχείριση έργων λογισμικού σε ένα ρεαλιστικό πλαίσιο μηχανικής λογισμικού. Θα καθοδηγηθεί ένα πλαίσιο Integrated Lean Project Management (ILPM), το οποίο είναι ένα υβρίδιο προσανατολισμένο στην υλοποίηση των παραδοσιακών παραδειγμάτων Project Management Institute (PMI) και Agile διαχείρισης έργων. Μετά την ολοκλήρωση αυτού του μαθήματος, οι φοιτητές θα είναι σε θέση: να επιλέγουν και να αιτιολογούν έργα μηχανικής λογισμικού καθιερώνοντας σχετικές επιχειρησιακές περιπτώσεις, διαχειριζόμενοι τις απαιτήσεις των πελατών, αναπτύσσοντας βασικά στοιχεία του σχεδίου έργου μηχανικής λογισμικού και τη διαδικασία σχεδιασμού, εντοπίζοντας τους κινδύνους έργων λογισμικού και αναπτύσσοντας στρατηγικές μετριασμού του κινδύνου , αναπτύξτε μια ομάδα έργου για τη δημιουργία και παράδοση του προϊόντος, την κατανόηση και την εφαρμογή μεθόδων για την επίλυση και την αποφυγή κοινών δυσκολιών που σχετίζονται με τη διαχείριση του έργου μηχανικής λογισμικού, την εκτέλεση αναθεώρησης μετά την εφαρμογή και τη βελτίωση της αποτελεσματικότητας και αποδοτικότητας των έργων ανάπτυξης λογισμικού.
ENPM655 Συστήματα λογισμικού που βασίζονται σε AI (3 μονάδες) | Αιρετός
Ώρα τάξης φθινοπώρου 2024/λεπτομέρειες στο ELMS Mikael Lindvall, Joshua Giltinan
Ο στόχος αυτού του νέου μαθήματος είναι να αντιμετωπίσει το σημαντικό πρόβλημα του προσδιορισμού, της ανάπτυξης και της δοκιμής συστημάτων λογισμικού που βασίζονται σε στοιχεία τεχνητής νοημοσύνης (AI). Δεδομένου ότι τέτοια συστήματα είναι συχνά κρίσιμα για την ασφάλεια ή πρέπει να είναι αξιόπιστα για άλλους λόγους, η ποιότητα πρέπει να χτιστεί σε όλο τον κύκλο ζωής ανάπτυξης λογισμικού. Είναι σημαντικό να σημειωθεί ότι η εστίαση του μαθήματος δεν είναι στη γενική μηχανική λογισμικού ή στον τρόπο εκπαίδευσης νευρωνικών δικτύων, παρόλο που θα θίξουμε αυτά τα θέματα. Ο πυρήνας του μαθήματος είναι αντίθετα σχετικά με τον τρόπο καθορισμού, ανάπτυξης και δοκιμής συστημάτων λογισμικού που βασίζονται ή χρησιμοποιούν την τεχνητή νοημοσύνη. Οι επιστήμονες δεδομένων είναι συχνά εξαιρετικοί στην κατασκευή μοντέλων με τεχνικές αιχμής, αλλά η ενσωμάτωση αυτών των μοντέλων σε λειτουργικά προϊόντα λογισμικού παρουσιάζει διαφορετικές προκλήσεις μηχανικής. Για παράδειγμα, οι επιστήμονες δεδομένων μπορεί να εργαστούν με σημειωματάρια χωρίς έκδοση σε στατικά σύνολα δεδομένων και να εστιάσουν στην ακρίβεια της πρόβλεψης, αγνοώντας την επεκτασιμότητα, την ευρωστία, τον λανθάνοντα χρόνο ενημέρωσης ή το λειτουργικό κόστος. Οι μηχανικοί λογισμικού, αντίθετα, συνήθως εκπαιδεύονται με σαφείς προδιαγραφές και τείνουν να εστιάζουν στον κώδικα, αλλά μπορεί να μην γνωρίζουν τις δυσκολίες της εργασίας με δεδομένα και τα αναξιόπιστα μοντέλα. Διαθέτουν ένα μεγάλο σύνολο εργαλείων για τη λήψη αποφάσεων και τη διασφάλιση ποιότητας, αλλά μπορεί να μην ξέρουν πώς να τα εφαρμόσουν σε συστήματα με δυνατότητα τεχνητής νοημοσύνης και στις προκλήσεις τους. Αυτό το μάθημα εξετάζει ερωτήματα όπως: Σε ποιο βαθμό μπορούν να χρησιμοποιηθούν οι υπάρχουσες πρακτικές SE για την κατασκευή ευφυών συστημάτων; Σε ποιο βαθμό χρειάζονται νέες πρακτικές; Αυτό το μάθημα υιοθετεί μια προοπτική μηχανικής λογισμικού για την κατασκευή ευφυών συστημάτων, εστιάζοντας στο τι μπορεί να κάνει ένας μηχανικός λογισμικού για να μετατρέψει μια ιδέα μηχανικής μάθησης σε ένα επεκτάσιμο και αξιόπιστο προϊόν. Το μάθημα θα χρησιμοποιήσει ορολογία και τεχνικές μηχανικής λογισμικού και συστημάτων (π.χ. κάλυψη δοκιμής, προβολές αρχιτεκτονικής, δέντρα σφαλμάτων) και θα συζητήσει τις προκλήσεις που τίθενται από τη χρήση τέτοιων τεχνικών σε στοιχεία μηχανικής μάθησης/AI. Το μάθημα θα περιλαμβάνει μια διάλεξη σχετικά με τη διδασκαλία/ανανεωτικά βασικά στοιχεία της μηχανικής μάθησης και της τεχνητής νοημοσύνης για να παρέχει μια βασική κατανόηση των σχετικών εννοιών (π.χ. μηχανική χαρακτηριστικών, γραμμική παλινδρόμηση έναντι δέντρων σφαλμάτων έναντι νευρωνικών δικτύων). Το μάθημα θα καλύψει επίσης εν συντομία τη σχεδιαστική σκέψη και την ανάλυση ανταλλαγής. Θα επικεντρωθεί κυρίως σε πρακτικές προσεγγίσεις που μπορούν να χρησιμοποιηθούν τώρα και θα περιλαμβάνει πρακτική εξάσκηση με σύγχρονα εργαλεία και υποδομές.
ENPM680 Εισαγωγή στην Ασφαλή Κωδικοποίηση για Μηχανική Λογισμικού (3 Μονάδες) | Αιρετός
Ώρα τάξης φθινοπώρου 2024/λεπτομέρειες στο ELMS Gananand Kini
Το λογισμικό διαποτίζει την καθημερινή μας ζωή και αποτελεί κρίσιμο μέρος πολλών από τις τεχνολογίες που χρησιμοποιούνται από τους ανθρώπους παγκοσμίως. Είναι τόσο περίπλοκο όσο και ποικίλο στις εφαρμογές του, συμπεριλαμβανομένων, ενδεικτικά, ενός σημαντικού αριθμού τομέων όπου χρησιμοποιείται τεχνολογία, συμπεριλαμβανομένων των επικοινωνιών, των οικονομικών, της κατασκευής κ.λπ. αναφέρονται ως σφάλματα. Ωστόσο, μια σημαντική κατηγορία αυτών των σφαλμάτων τείνει να έχει σοβαρές επιπτώσεις στην ασφάλεια που επηρεάζουν τις αρχές εμπιστευτικότητας, ακεραιότητας, διαθεσιμότητας και μη απόρριψης που στηρίζουν την ασφάλεια της διαχείρισης και λειτουργίας τέτοιων συστημάτων λογισμικού. Αυτό το μάθημα θα καλύψει βασικές έννοιες και τεχνικές για την ανάλυση και τον χαρακτηρισμό τέτοιων σφαλμάτων ασφαλείας και πιθανούς τρόπους μετριασμού τους. Οι έννοιες θα εισαχθούν και θα συζητηθούν στο πλαίσιο της πρόθεσης ενός αντιπάλου να αλλάξει ή να ανατρέψει τη συμπεριφορά του λογισμικού με επιπτώσεις στην ασφάλεια. Το μάθημα δεν αναμένει από τους μαθητές να έχουν προηγούμενη εμπειρία ασφάλειας. Μετά από αυτό το μάθημα ο φοιτητής θα είναι εξοικειωμένος με: 1. Έλεγχος εφαρμογής λογισμικού για την εύρεση αδυναμιών ασφαλείας. 2. Περιγραφή αδυναμιών χρησιμοποιώντας το CWE. 3. Μεθοδολογία και τεχνικές που χρησιμοποιούνται στην αξιολόγηση κώδικα από ομοτίμους. 4. Χρήση εργαλείων ανάλυσης για την εύρεση αδυναμιών ασφάλειας. [1] https://spectrum.ieee.org/computing/software/why-software-fails
ENPM696 Αντίστροφη Μηχανική Λογισμικού (3 Μονάδες) | Πυρήνας
Φθινόπωρο 2024 W 4:00 μ.μ. - 6:40 μ.μ. Allen Hazelton
Αυτό το μάθημα παρέχει μια εις βάθος κατανόηση των εννοιών της αντίστροφης μηχανικής λογισμικού και πρακτική εκπαίδευση με εργαλεία αντίστροφης μηχανικής, συμπεριλαμβανομένων των αποσυναρμολογητών, των απομεταγλωττιστών και των αναλυτών κώδικα. Οι μαθητές θα εξοικειωθούν τόσο με το λογισμικό χαμηλού επιπέδου όσο και με το σύνολο εντολών x86 μέσω δυαδικών συνεδριών αντιστροφής. Αυτό το μάθημα παρέχει επίσης πληροφορίες για πολλά θέματα όπως η ασφάλεια του συστήματος, η ανάλυση πηγαίου κώδικα, ο σχεδιασμός λογισμικού και η κατανόηση προγράμματος που θα είναι επωφελής σε διάφορους τομείς.
Προϋπόθεση: ENPM691 και CMSC106
Κατάταξη
Ηλεκτρονικά προγράμματα
#6 Διαδικτυακά Προγράμματα Μεταπτυχιακών Σπουδών Μηχανικών - Αναφέρουν τα Καλύτερα Διαδικτυακά Προγράμματα Μεταπτυχιακών Μηχανικών στις Η.Π.Α
Προγράμματα Μεταπτυχιακών Σπουδών στις ΗΠΑ
#19 Graduate Engineering - US News and World Report 2023 Best Engineering Graduate Programs
Ειδικότητες:
- #15 Αεροδιαστημική Μηχανική
- #16 Ηλεκτρολόγος Μηχανικός; #15 Μηχανική Υπολογιστών
- #17 Μηχανολόγων Μηχανικών
Κατάταξη Επιχειρηματικότητας
- #7 Προπτυχιακό Πρόγραμμα
- #18 Μεταπτυχιακό Πρόγραμμα
Το Princeton Review's Top 50 Schools for Entrepreneurship Programs"