-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
ms-swe-handbook.tex
330 lines (262 loc) · 16 KB
/
ms-swe-handbook.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
\documentclass[oneside,11pt]{memoir}
\chapterstyle{pedersen}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[margin=1.5in]{geometry}
\usepackage{soul}
% \usepackage[small,compact]{titlesec} %very powerful
\usepackage[most]{tcolorbox}
\setsecnumdepth{subsection}
\setcounter{tocdepth}{3}
\usepackage{enumitem}
\usepackage{epigraph}
\usepackage{cite}
\usepackage{caption}
\captionsetup{font=small}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{wrapfig}
\setlength\intextsep{0pt} % remove extra space above and below in-line float
\usepackage{hyperref}
\hypersetup{
colorlinks,
citecolor=black,
filecolor=black,
linkcolor=blue,
urlcolor=blue,
}
\usepackage{booktabs}
\usepackage{xcolor}
\usepackage[makeroom]{cancel}
\newtcolorbox{mybox}{
enhanced,
boxrule=0pt,frame hidden,
borderline west={2pt}{0pt}{green!75!black},
colback=green!10!white,
sharp corners
}
\newenvironment{commentbox}[1][]{
\small
\begin{mybox}
{\small \textbf{#1}}
}{
\end{mybox}
}
\newtcolorbox{mydomesticbox}{
enhanced,
boxrule=0pt,frame hidden,
borderline west={2pt}{0pt}{red!75!black},
colback=blue!10!white,
sharp corners
}
\newenvironment{domesticbox}[1][]{
\small
\begin{mydomesticbox}
{\small \textbf{#1}}
}{
\end{mydomesticbox}
}
\renewcommand{\figurename}{Fig.}
\renewcommand{\tablename}{Tab.}
\def\Section{\S}
\renewcommand{\figureautorefname}{Fig.}
\renewcommand{\tableautorefname}{Tab.}
\makeatletter
\renewcommand{\chapterautorefname}{\S\@gobble}
\renewcommand{\sectionautorefname}{\S\@gobble}
\renewcommand{\subsectionautorefname}{\S\@gobble}
\makeatother
\newcommand{\mycomment}[3][\color{blue}]{{#1{{#2}: {#3}}}}
\newcommand{\tvn}[1]{\mycomment{TVN}{#1}}{}
\newcommand{\didi}[1]{\mycomment{Didier}{#1}}{}
\newcommand{\tl}[1]{\mycomment{ThanhLe}{#1}}{}
\newcommand{\red}[1]{{\color{red}{#1}}}
\newcommand{\xz}[1]{\mycomment{Xiaokuan}{[#1]}}{}
\title{GMU MS SWE Handbook\\{\large A Handbook For the Masters of Software Engineering program at George Mason University}}
\author{\href{https://nguyenthanhvuh.github.io}{ThanhVu (Vu) Nguyen}\\{\small George Mason University, Dept. of Computer Science}}
\makeatletter
\def\maketitle{%
\null
\thispagestyle{empty}%
\vfill
\begin{center}\leavevmode
\normalfont
{\LARGE\raggedright \textbf{\@title}\par}%
\vfill%
% \hrulefill\par
{\Large \@author\par}%
\vfill%
{\large\raggedleft \@date\par}%
\end{center}%
\vfill
\null
\cleardoublepage
}
\makeatother
\begin{document}
\maketitle
\frontmatter
\chapter{Preface}
\newpage
\tableofcontents*
\mainmatter
\chapter{Admission}
Admission is competitive among students who fulfill admission requirements for graduate study at the Computer Science Department of George Mason University.
Students seeking admission to the MS in Software Engineering program must satisfy the following requirements:
\begin{itemize}
\item Hold a four-year (120-credit) baccalaureate degree from an accredited institution
\item Have a cumulative grade point average of 3.0 for the last two years of undergraduate work (60 credits)
\item Submit transcripts of all post-secondary education
\begin{itemize}
\item Unofficial copies of transcripts are acceptable for application review. However, upon admission, applicants will need to provide official transcripts before enrolling in the program.
\end{itemize}
\item A one-page goals statement, and a work résumé
\begin{itemize}
\item Your goals statement should be one to two pages, including a statement of career goals.
\end{itemize}
\item The MS in Software Engineering program \textbf{does not} require letters of recommendation.
\item Complete the self-evaluation section of the online application
\begin{itemize}
\item This information is used by the admissions committee to assess an applicant’s academic preparation for the MS program. In some cases, students with deficiencies in preparation may be admitted provisionally. See “Foundation Requirements” below for more information.
\end{itemize}
\item GRE is \textbf{not required}
\item TOEFL or IELTS is required of all applicants whose native language is not English, and who have not received a degree from a university in the United States, Canada, United Kingdom, Australia, or New Zealand.
\begin{itemize}
\item Required TOEFL iBT score: \textbf{80 points total overall with no section minimum}
\item Required IELTS score: \textbf{6.5 overall}
\end{itemize}
\end{itemize}
% Foundation Requirements
% To ensure that students have an adequate background in mathematical methods and computer science, the program requires the following four foundation courses, or their equivalents:
% INFS 501 Discrete and Logical Structures for Information Systems
% INFS 515 Computer Organization
% INFS 519 Program Design and Data Structures
% SWE 510 Object Oriented Programming in Java
% Prospective students are asked to indicate on their application if previously taken courses may satisfy these foundation requirements. Provisional admission is offered if a student has some deficiencies in preparation, but is otherwise a strong applicant. (Note: Due to federal requirements, students on F1/J1 visas are not eligible for provisional admission.) In such cases, students are advised of the necessary foundation courses to be satisfactorily completed with a grade of B or better before beginning the core curriculum. Foundation courses do not earn credit toward the MS degree.
% Students have one opportunity to test out of their required foundation courses before beginning their first semester. The exams are given before classes begin in January and August and may only be taken once. Students failing any one of the exams must take the equivalent course before enrolling in the core curriculum courses.
% More information regarding the foundation courses and test out exams can be found on this page.
\chapter{Foundation and Required Courses}
Students entering the MS-ISA, MS-ISYS, and MS-SWE programs must have course work or equivalent knowledge in the following five foundation areas: (1) introductory programming in any programming language; (2) knowledge of an object-oriented programming language such as Java and C++; (3) data structures and algorithms; (4) machine organization such as those given in computer system architecture or assembly language courses; (5) and topics in discrete mathematics, including sets, propositional and predicate logic, relations, functions, trees, graphs, and inductive proofs. The level of knowledge required in these areas is equivalent to that taught in undergraduate courses, and may be achieved by taking the following George Mason University graduate courses:
\begin{itemize}
\item \textbf{COMP 501} Computer Programming Foundations I or \textbf{SWE 510} Object Oriented Programming in Java
\item \textbf{COMP 502} Mathematical Foundations of Computing I or \textbf{INFS 501} Discrete and Logical Structures for Information Systems
\item \textbf{COMP 503} Computer Systems Foundations I or \textbf{INFS 515} Computer Organization
\item \textbf{COMP 511} Computer Programming Foundations II or \textbf{INFS 519} Program Design and Data Structures
\end{itemize}
\textbf{Provisional admission} is offered if a student has some deficiencies in preparation, but is otherwise a strong applicant. (Note: \emph{Due to federal requirements, students on F1/J1 visas are not eligible for provisional admission.}) In such cases, students are advised of the necessary foundation courses to be satisfactorily completed with a grade of B or better before beginning the core curriculum. Foundation courses \emph{do not} earn credit toward the MS degree.
%More information regarding the foundation courses and test out exams can be found on this page.
Students have one opportunity to \emph{test out} of their required foundation courses before beginning their first semester.
The exams are given before classes begin in January and August and may only be taken once. Students failing any one of the exams must take the equivalent course before enrolling in the core curriculum courses.
Additionally, if a student feels they have taken an equivalent course that was overlooked, an \emph{appeal process} is available. More information on these options can be found on the \href{https://cs.gmu.edu/current-students/ms-students/foundation-courses/policies-and-procedures/}{policies and procedures page}.
\autoref{tab:foundation-courses} shows undergraduate courses offered at GMU serving as equivalents for the corresponding foundation courses. The \href{https://catalog.gmu.edu/colleges-schools/engineering-computing/school-computing/computer-science/software-engineering-ms/#admissionspoliciestext}{GMU course catalog} also lists these courses and other relevant information.
\begin{table}[]
\centering
\footnotesize
\begin{tabular}{c|c|c|c|c}
Foundation Topics & GMU Grad & GMU Undergrad CS & GMU Undergrad IT & NVCC\\
\midrule
OO programming & COMP 501 or SWE 510 & CS 211 & IT 206 or IT 209 & CSC 202\\
Discrete math & COMP 502 or INFS 501 & MATH 125 & MATH 125 (not MATH 112) & MATH 288\\
Machine org. & COMP 503 or INFS 515 & CS 367 &IT 342 & none\\
Data structures & COMP 511 or INFS 519 & CS 310 & IT 306 or IT 309 & none\\
\end{tabular}
\caption{Foundation Courses and Equivalences}
\label{tab:foundation-courses}
\end{table}
\chapter{MS SWE}
% https://cs.gmu.edu/current-students/ms-students/ms-in-software-engineering/
The MS in Software Engineering (MS-SWE) program prepares students to become leaders in engineering high quality, large scale, computing solutions to real life problems. The MS-SWE program prioritizes working professionals--as such, all SWE courses are taught \textbf{late afternoon} or \textbf{early evening}.
\section{Degree Requirements}
Students are required to complete \textbf{30 credits} corresponding to \textbf{10 graduate courses}. Students are encouraged to download the \href{https://cs.gmu.edu/media/uploads/programs/graduate/masters/ms-swe-courseplanner.xlsx}{course planner spreadsheet}, and update it as they proceed through the program.
The course work is divided into three categories: 12 credits of core courses, 9 credits of SWE related courses, and 9 credits of elective courses.
\subsection{Core Courses (12 credits)}
\textbf{Four core courses} are required of all MS-SWE graduates:
\begin{enumerate}
\item \href{https://catalog.gmu.edu/search/?P=SWE%20619}{\textbf{SWE 619}} Object-Oriented Software Specification and Construction
\item \href{https://catalog.gmu.edu/search/?P=SWE%20621}{\textbf{SWE 621}} Software Modeling and Architectural Design
\item \href{https://catalog.gmu.edu/search/?P=SWE%20632}{\textbf{SWE 632}} User Interface Design and Development
\item \href{https://catalog.gmu.edu/search/?P=SWE%20637}{\textbf{SWE 637}} Software Testing
\end{enumerate}
\subsection{Software Engineering Related Courses (9 credits)}
Students must take \textbf{three courses} from the following list:
\begin{itemize}
\item Software Engineering
\begin{itemize}
\item Any SWE courses at the \href{https://catalog.gmu.edu/courses/swe/}{600 level or above}
\end{itemize}
\item Computer Science
\begin{itemize}
\item \href{https://catalog.gmu.edu/search/?P=CS%20540}{CS 540} Language Processors (Compilers)
\item \href{https://catalog.gmu.edu/search/?P=CS%20550}{CS 550} Database Systems
\item \href{https://catalog.gmu.edu/search/?P=CS%20555}{CS 555} Computer Communications and Networking
\item \href{https://catalog.gmu.edu/search/?P=CS%20571}{CS 571} Operating Systems
\item \href{https://catalog.gmu.edu/search/?P=CS%20584}{CS 584} Theory and Applications of Data Mining
\item \href{https://catalog.gmu.edu/search/?P=CS%20675}{CS 675} Distributed Systems
\item \href{https://catalog.gmu.edu/search/?P=CS%20678}{CS 678} Advanced Natural Language Processing
\end{itemize}
\item Information Security \& Assurance (ISA)
\begin{itemize}
\item \href{https://catalog.gmu.edu/search/?P=ISA%20562}{ISA 562} Information Security Theory and Practice
\item \href{https://catalog.gmu.edu/search/?P=ISA%20650}{ISA 650} Security Policy
\item \href{https://catalog.gmu.edu/search/?P=ISA%20673}{ISA 673} Operating Systems Security
\end{itemize}
\item Information Systems (INFS)
\begin{itemize}
\item \href{https://catalog.gmu.edu/search/?P=INFS%20740}{INFS} 740 Database Programming for the World Wide Web
\end{itemize}
\item Operations Research (OR)
\begin{itemize}
\item \href{https://catalog.gmu.edu/search/?P=OR%20542}{OR 542} Operations Research: Stochastic Models
\end{itemize}
\end{itemize}
\textbf{Note}: Credit will not be given for both INFS 614 and CS 550, or both SWE 622 and CS 675
\subsection{Elective Courses (9 credits)}
Students may select the remaining courses from the following list. Students may select courses not on this list with approval from the faculty advisor. Students, with the consent of a faculty sponsor and faculty advisor, may also complete a 6-credit thesis, which is primarily intended for students considering pursuing a PhD.
\begin{itemize}
\item All Software Engineering (SWE) courses at the 600-level or above.
\item All Information Security and Assurance (ISA) courses at the 500-level or above.
\item All Information Systems (INFS) courses at the 600-level or above.
\item Any of the following Electrical and Computer Engineering courses:
\begin{itemize}
\item ECE 542 Computer Network Architectures and Protocols
\item ECE 612 Real-Time Embedded Systems
\end{itemize}
\item Any of the following Operations Research courses:
\begin{itemize}
\item OR 531 Analytics and Decision Analysis
\item OR 541 Operations Research: Deterministic Models
\item OR 542 Operations Research: Stochastic Models
\end{itemize}
\item Any of the following Statistics courses:
\begin{itemize}
\item STAT 544 Applied Probability
\item STAT 554 Applied Statistics I
\end{itemize}
\item Any of the following Systems Engineering courses:
\begin{itemize}
\item SYST 560 Introduction to Air Traffic Control
\item SYST 659 Topics in Systems Engineering
\item SYST 680 Principles of Command, Control, Communications, Computing, and Intelligence (C4I)
\end{itemize}
\item Any of the following Psychology courses:
\begin{itemize}
\item PSYC 530 Cognitive Engineering: Cognitive Science Applied to Human Factors
\item PSYC 734 Seminar in Human Factors and Applied Cognition
\end{itemize}
\end{itemize}
Additional Information
For additional information on the degree requirements of the MS in Software Engineering
\begin{itemize}
\item The MS-SWE section of the Mason Catalog is the official source for the degree requirements of the program.
\item These slides from the orientation for new MS students provide an overview of the program, as well as additional useful information.
\end{itemize}
\section{Academic Advising}
A plan of study form for the MS Software Engineering degree should be completed by the student and approved by their academic advisor before the end of their second semester in the program. This serves as a planning guide for the student and should be kept up to date by regular consultation with their academic advisor. A final signed version of the plan must be included when the student submits a graduation application.
Plan of Study forms for all the MS degrees offered by the CS department are available at this \href{https://cs.gmu.edu/resources/student-forms/}{web page}.
For more information, please see the \href{https://cs.gmu.edu/current-students/ms-students/advising/}{academic advising pages} and \href{https://cs.gmu.edu/current-students/ms-students/faqs/}{the FAQ for Masters students}.
\chapter{History and Acknowledgement}\label{sec:ack}
\paragraph{Acknowledgement} Many people have contributed to this document.
\textbf{Thank you!}
\bibliographystyle{abbrv}
\bibliography{demystify.bib}
\end{document}