Computing MS Degrees Masters Degrees in Computing at GMU Jeff Offutt Professor of Software Engineering Chair, Graduate Studies Committee Coordinator, MS-SWE program MS in Software Engineering (SWE) MS in Information Systems (INFS) MS in Information Security Assurance (ISA) MS in Computer Science (CS) Offered by the Department of Computer Science
Computing MS Degrees What Is An MS ? A degree that says you have “mastered” the material in a field Beyond a 4-year college degree Usually 30 credits – one to two years –10 classes or 8 classes and an MS thesis More focused … all classes on one subject –No General Ed requirements At GMU, more than 75% of MS students are part-time students, working full-time © 20102
Computing MS Degrees Why Get An MS ? 1.We haven’t taught you enough as an undergrad to be successful in your job 2.To update your knowledge and skills –More important for people who come back to school after working for a few years 3.Higher salary 4.Job security 5.More choices of tasks at work 6.To change field or direction in your field © Most of you will get an MS degree eventually The questions are when and what field
Computing MS Degrees When To Get An MS ? 1.Immediately after BS ↑Can use “accelerated MS” option ↑You already have study habits ↑BS knowledge is still fresh ↓You might need a salary … NOW ↓You might be really really tired of school 2.A few years after BS (4 or 5) ↑A little experience will help make the classes more relevant ↑A way to help take the “next step” at work ↑Learn new material that was not available ↓Study habits are gone ↓Financial impact ↓Do you have time for school? © 20104
Computing MS Degrees When To Get An MS ? 3.Several years into a career (10 or 20) ↑Chance to learn new material ↑Experience helps give confidence and decide what’s important ↓Conflicts with life … children, house, demanding career, … ↓Less mental and physical energy to study ↓It takes more time to learn ↓You may have forgotten fundamentals (or they may have changed) © Our students fall in all three categories Most succeed ABOUT 40% category 1, 40% category 2, 20% category 3
Computing MS Degrees How To Get Accepted ? Appropriate foundation material –Discrete math, data structures, computer organization, OO programming, appropriate theory (for MS-CS) –You get all these in a BS-CS degree, most in a BS-ECE degree Undergrad GPA of 3.0 or above –Exceptions for “close to 3.0” with high grades in major or last 60 hours Accelerated BS to MS program –Must have GPA of 3.5 or above –Take two graduate courses in your senior year – they are applied to both your BS and MS degrees –Full-time students will finish the MS in one year © 20106
Computing MS Degrees Which MS Program ? The CS department at GMU has four –We also have 100 MS-level lecture based classes We are truly the university of diversity !!! –No university in the world can match this © MS in Software Engineering (SWE) MS in Software Engineering (SWE) MS in Information Systems (INFS) MS in Information Systems (INFS) MS in Information Security Assurance (ISA) MS in Information Security Assurance (ISA) MS in Computer Science (CS) MS in Computer Science (CS) Which one should I choose ? How do I know what’s right for me ?
Computing MS Degrees Which MS Program ? © MS-SWE MS-INFS MS-ISA MS-CS How to design, build, and maintain databases and other data retrieval systems How to provide secure networks, information systems and software products How to engineer high quality large scale software products Fundamentally understand what we can do with computing devices
Computing MS Degrees 9 Distinguishing SWE and CS Building High Quality Software specifying, modeling, designing, implementing, evaluating, deploying, maintaining, … etc.... Reliability Scalability Maintainability Usability Security Availability Engineering software is distinct from the science of computing © 2010
Computing MS Degrees Computing MS Program “Mosts” © Computer Science Most theoretical, most programming Software Engineering Most broad, most teamwork Info Security Assurance Most specialized Information Systems Most diverse students
Computing MS Degrees MS in Computer Science Courses : 10 Courses for the MS CS Degree –Core (1): Analysis of Algorithms –Advanced : At least five “advanced” graduate courses, i.e., with graduate prerequisites –CS : At least six courses must be CS Including 2 “advanced” courses –Electives : At least eight courses from a list of pre-approved courses Distance Education : Students can take enough courses via distance education to finish an MS Website ©
Computing MS Degrees MS in Information Security and Assurance Courses : Ten courses for the MS-ISA Degree –Foundations : Computer Architecture, Program Design & Data Structures, Discrete Math, Object-Oriented Programming in Java –Core (4): Computer Networks, Information Security Theory and Practice, Security Laboratory, and Network –Security Electives : Four ISA courses –Electives : Two courses from a list of pre-approved courses Website ©
Computing MS Degrees MS in Information Systems Courses : Ten courses for the INFS Degree –Foundations : Computer Architecture, Program Design & Data Structures, Discrete Math, Object-Oriented Programming in Java –Core (4): Computer Networks, Database Management, Info Systems Analysis and Design, Information Security –Electives : Six courses from a list of pre-approved courses –Emphasis Areas : Database Management, Data Mining and Data Warehousing, E-Commerce, Software Engineering, Knowledge Management, Information Security and Assurance Website ©
Computing MS Degrees MS in Software Engineering Courses : Ten courses for the MS-SWE Degree –Foundations : Computer Architecture, Program Design & Data Structures, Discrete Math, Object-Oriented Programming in Java –Core (4): OO Software Specification and Construction, Software Testing, Software Modeling and Architectural Design, Distributed Software Engineering (4 courses) –Emphasis Area : Three courses from an emphasis area (Software Design, Software Assurance, Software Management, Web Applications) –Electives : Three courses from a list of pre-approved courses Website ©
Computing MS Degrees Emphasis of Concepts ConceptCSISAINFSSWE MathHeavyModerateLightHeavy ProgrammingV. HeavyHeavyLightModerate TheoryV. HeavyModerate AlgorithmsV. HeavyHeavyLightModerate ConceptualModerateHeavyLightHeavy AbstractionsModerateLightModerateHeavy ModelingLightModerateLightHeavy TeamworkLight HeavyV. Heavy CommunicationLight Moderate ManagementLight Moderate ©
Computing MS Degrees Emphasis of Quality Criteria CS Speed of execution, Time-to-market ISA Security, Reliability INFS Reliability, Maintainability, Security SWE Reliability, Maintainability, Usability, Scalability, Security, Availability, Speed, Time-to-market ©
Computing MS Degrees Topics Emphasized CSAlgorithms, AI, Languages, Systems, Networks, Theory, Graphics ISAOperating systems, Networking, Theory, Languages, Intrusion, Software INFSDatabases, Operating Systems, Networks, Systems analysis, Information systems SWEOO programming, Requirements, Modeling, Design, Distributed software, Testing, User interfaces, Web applications, SOAs, Software patterns and architectures, Management ©
Computing MS Degrees Computer Science and Computing © We have barely started the process that Physics / Engineering started a century ago Computer Science Fields Based on Computer Science Electronic Commerce Information Security and Assurance Information Systems Software Engineering Telecommunications Information Technology... others... ??
Computing MS Degrees Frequently Asked Questions (1/4) Which MS program is better ? –They are all good, but different. Diversity benefits the student, so it depends which one is suitable for you. Which MS program is harder ? –They all focus on different things, and are harder in different ways Which will best prepare me for a PhD in CS or IT ? –It probably depends on what area you want to work in as a PhD student. You should take MS classes that prepare you for the qualifying exams. What undergraduate majors are acceptable in the MS programs? –All MS programs take students from all majors, although foundation requirements may be required. Most CS students have a CS BS, about half of SWE students have a CS BS and many of the others are engineering or science, many INFS students have business BS ©
Computing MS Degrees Frequently Asked Questions (2/4) Can I transfer from one program to another ? –Yes and many students do. Foundation requirements are similar and core courses from one program can usually be used as electives in another. Can I take classes from another program ? –Yes, all programs have free electives and most students take classes from multiple programs Can I get two MS degrees ? –Yes, but GMU does not allow a course to be applied to two different MS degrees. If you took a core course in your second degree as an elective for your first degree, we will make a substitution. Can I get certificates with my MS degree ? –Yes, GMU allows up to two certificates within one MS degree; courses can count to both an MS and a certificate ©
Computing MS Degrees Frequently Asked Questions (3/4) Why do I have to take foundation courses ? –We want all of our students to do as well as possible. Foundation courses teach undergraduate computing concepts that teachers assume the students know in MS courses. Many C grades in MS courses are a result of inadequate preparation. – The foundation requirements are there to help you !!! If I get a C, am I kicked out of school ? –No. You are allowed to graduate with at most two C grades if you have a 3.0 or above GPA (effectively, for every C, you need to get a complementary A). Why is software engineering called “SWE”, not “SE” ? –“SE” is standard around the country, but our SWE program is the oldest in the USA, so there was no standard. At GMU, “SE” is used by systems engineering. ©
Computing MS Degrees Frequently Asked Questions (4/4) Why does GMU offer so many computing MS degrees ? –For the benefit of our many students. GMU is well known for its diversity – we reflect that diversity by offering a diverse collection of classes and degree programs. We believe GMU has the most diverse collection of computing classes in the nation. Why do you keep saying “computing” instead of “computer science”? –One of our degrees is called computer science, so we use “computing” to reflect the breadth of our degrees – software engineering, security, information systems. They are all related to computer science, but have developed away from the core curriculum, just as engineering disciplines developed away from physics. ©