%This style includes purely syntactical convention such as the choice of the
%GNU indentation style, and extends to commenting style and naming conventions.
We continuously refined the internal code documentation over several
-semesters, focusing on those
-portions that initially proved difficult to understand or confusing.
+semesters, focusing on those portions that initially proved difficult to understand.
\paragraph{Maximize Creative Freedom}
OS design involves a tremendous amount of creative freedom, both in the
\paragraph{Practice Test-driven Development}
%Test-driven development~\cite{Edwards}
-Each project includes a large number of test cases that is accessible
-to students, as shown in Table~\ref{table:tests}.
+Each project includes a large number of test cases that are accessible
+to students, as shown in Table~\ref{table:tests}.
They must implement the API that is exercised by these test cases.
Students are encouraged to add their own test cases.
is substantially similar to how user programs are being debugged.
\paragraph{Include Analysis Tools}
-Static and dynamic analysis tools are now being widely used; an OS course should
-be no exception. In Section~\ref{sec:dynamicanalysis}, we describe how we
+Dynamic analysis tools are now being widely used in software development;
+an OS course should be no exception.
+In Section~\ref{sec:dynamicanalysis}, we describe how we
extended the QEMU emulator~\cite{Bellard2005QEMU} to
perform tailored analyses that find errors such as race conditions.