|
77 | 77 | \pagenumbering{arabic}
|
78 | 78 |
|
79 | 79 | \section{Introduction}
|
80 |
| -One of Carnegie Mellon University's most widely attended class is 15-122, |
| 80 | +One of Carnegie Mellon University's most widely attended classes is 15-122, |
81 | 81 | Principles of Imperative Computation. 15-122 contains a capstone assignment
|
82 | 82 | called the C0 Virtual Machine, which involves implementing a program that
|
83 |
| -allows the user to run arbitrary code in the language in which 15-122 is |
84 |
| -taught, C0. The implementation of the virtual machine (C0VM) is not an easy |
| 83 | +allows the user to run arbitrary code in C0, the language in which 15-122 is |
| 84 | +taught. The implementation of the virtual machine (C0VM) is not an easy |
85 | 85 | task - it involves higher level thinking and a deep understanding of the
|
86 | 86 | abstractions associated with running arbitrary code. Because it is difficult,
|
87 | 87 | the CDB (C0 Debugger) hopes to improve the learning process by making
|
@@ -111,7 +111,7 @@ \section{Literature Review}
|
111 | 111 | debugged, adding support for stopping, starting, and analyzing the
|
112 | 112 | program. The debugger was the visual interface to the virtual
|
113 | 113 | machine, allowing users to control the virtual machine and see its
|
114 |
| - output. |
| 114 | + output. We may wish to design our project similarly. |
115 | 115 | \par
|
116 | 116 | Masad also discusses challenges he overcame while writing
|
117 | 117 | debug.js. These included being able to step line-by-line through a
|
@@ -186,26 +186,26 @@ \section{Benefits}
|
186 | 186 | \section{Approach}
|
187 | 187 | \par
|
188 | 188 | The approach section contains our methodology, how we plan to implement the
|
189 |
| -project, and our project schedule, the timeline we plan to adhere to. The |
| 189 | +project, our project schedule, and the timeline we plan to adhere to. The |
190 | 190 | methodology outlines the specific tools we will use to complete the project in
|
191 | 191 | a timely manner whereas the schedule outlines the deadlines by which we hope to
|
192 | 192 | have certain tasks completed.
|
193 | 193 |
|
194 | 194 | \subsection{Methodology}
|
195 | 195 | The C0 Debugger is designed for the CMU teaching language, C0. It will be
|
196 |
| -hosted on heroku with the website itself designed in CSS and HTML, using |
| 196 | +hosted on Heroku with the website itself designed in CSS and HTML, using |
197 | 197 | Node.js to run most of the core functionality. We will first deploy a blank
|
198 | 198 | template website after which half of the team will work on parsing C0 bytecode
|
199 | 199 | and the other half will work on creating a meaningful user experience. Once
|
200 | 200 | both teams have made reasonable progress, they will combine the two units to
|
201 | 201 | complete the basic outline of the project.
|
202 | 202 |
|
203 | 203 | \subsection{Project Schedule}
|
204 |
| -The project will be separated into five main phases: Basic Website Design, |
205 |
| -Backend implementation, Frontend Implementation, User Testing, and Revisions. |
| 204 | +The project will be separated into five main phases: basic website design, |
| 205 | +backend implementation, frontend implementation, user testing, and revisions. |
206 | 206 | The first phase should take less than a week with the
|
207 | 207 | next two phases occurring simultaneously and composing the rest of the month's
|
208 |
| -work. User implementation and revisions will then hopefully take up the |
| 208 | +work. User testing and revisions will then take up the |
209 | 209 | remainder of the alloted time, with extra time padded in case implementation or
|
210 | 210 | revisions are more extensive than we have predicted.
|
211 | 211 | \begin{figure}[h]
|
@@ -236,7 +236,7 @@ \section{Evaluation Criteria}
|
236 | 236 | experience as a whole.
|
237 | 237 | \par
|
238 | 238 | Our main goal is to provide these students with a useful debugging tool, so
|
239 |
| -their feedback is invaluable in slowly modifying our project to better suit |
| 239 | +their feedback is invaluable in modifying our project to better suit |
240 | 240 | their needs.
|
241 | 241 |
|
242 | 242 | \section{Qualifications of Team Members}
|
@@ -266,17 +266,17 @@ \section{Qualifications of Team Members}
|
266 | 266 | web applications for real-time resource monitoring. Aaron is very well-versed in
|
267 | 267 | JavaScript, C, and C0.
|
268 | 268 | \par
|
269 |
| -Mitchell Plamann has had nine years of programming experience. He has interned |
270 |
| -at Rockwell Automation, doing firmware developement for embedded systems. |
271 |
| -Mitchell has coded extensively in C, Python, and Haskell. |
| 269 | +Mitchell Plamann has had nine years of programming experience. For the past two |
| 270 | +summers, he interned at Rockwell Automation, doing firmware developement for |
| 271 | +embedded systems. Mitchell has coded extensively in C, C0, and Haskell. |
272 | 272 | % You know I had to say it, right?
|
273 | 273 |
|
274 | 274 | \section{Sources Cited}
|
275 | 275 | \begin{enumerate}
|
276 | 276 | \item Amjad Masad,
|
277 | 277 | ``Building an In-Browser JavaScript VM and Debugger Using Generators'',\\
|
278 | 278 | http://amasad.me/2014/01/06/building-an-in-browser-javascript-vm-and-debugger-using-generators/
|
279 |
| -\item Mike Kamerman, ``The Architecture of Open Source Applications (Volume 2)'',\\ |
| 279 | +\item Mike Kamermans, ``The Architecture of Open Source Applications (Volume 2)'',\\ |
280 | 280 | http://www.aosabook.org/en/pjs.html
|
281 | 281 | \item Joyent, Inc., ``Node.js Documentation'', \\
|
282 | 282 | http://nodejs.org/documentation
|
|
0 commit comments