How Hard Is It to Write a Master Thesis Text

Jonathan Friesen - Writing Coach

160 160

how to write your program presumably you have a thesis topic, and it is time to start developing a program that will implement or demonstrate your ideas about this topic. You have learned how to write programs in previous courses, but usually the program you will write for your thesis is more involved than other programs you have written.

write a requirements document

the requirements document explains what your program is to do. For example, ``the system must be fast,'' or ``the system must be user friendly.'' you'll want to write a set of requirements that can serve as a contract specifying what is expected of your program. What's in a requirements document? abstractly, the answer is very simple: a statement of valid input to the program and a statement of the corresponding output. The requirements document will clearly state what the input data and output data will be.

The requirements document tells what your program will do from the user's perspective.

write specification and design documents

the specification document explains what the requirements are, but more precisely than the requirements document itself. Essentially, the specifications define a function from the set of all possible data input to the data output by your program. The preliminary design document explains how you are going to fulfill the specifications. It is written before you write the program and should include a list of algorithms you will use, major data structures, a list of major functions, their inter relationships, and the steps you will use to develop your program. Stepwise refinement and information hiding concepts should be used in developing the program, producing a detailed design document.

160 160

write the comments first understanding where and how to comment your code is important. Basic rules include giving pre and post conditions for selection and iteration statements, as well as blocks of sequential code.

other program related documentation

additional documents are sometimes required for a program. The test suite offers some validation that your program will compute what was intended by describing test procedures and sample test inputs.

It is best to assume that users of your program will know nothing about computers or their interfaces. A clear, concise, step by step description of how one uses your program can be of great value not only to others, but to you as well. You can identify awkward or misleading commands, and by correcting these, develop a much more usable product.

Good Words to Put In a College Essay

If your work has lasting benefit, someone will want to extend the functionality of your code. The maintenance manual grows from your specification, preliminary design, and detailed design documents. The manual shows how your program is decomposed into modules, specifies the interfaces between modules, and lists the major data structures and control structures. How will you guarantee that your program meets its specifications? formal verification is one ``proof'' technique, but it can be difficult to apply for large programs. You should be familiar with verification techniques and use them as you develop your code, but others are still going to want to see that your code gives expected results on a sample of test cases. Thus, you should develop a test suite that can be used to show your program works correctly under a variety of conditions by specifying testing procedures to be used and a variety of test cases to ``exercise'' the components of your program.

use a program document formatter

i believe in literate programming.

That is, a program should be written to be read and understood by any person experienced in programming. The most basic method of facilitating human consumption of your program is to write good internal comments as discussed in 167 3.3. Much more sophisticated methods exist one of these is the web system developed by don knuth 1 . The original web system was written for pascal, but web systems for other languages have been written, and there is even a program called spiderweb that can be used to generate a web system for any programming language 2 ,5 . Briefly, the benefits of using a web system are that it enables you to 1 develop your program logically, without the constraints imposed by the compiler, 2 provide for excellent program documentation and modularity, and 3 track variables and modules automatically.

An index of variables and modules is produced containing pointers to where the variables and modules are defined and used.

how to write your paper

your thesis paper documents your work and can serve as a basis for a publishable paper. The most common mistake made by thesis students is to assume that the thesis itself will be easy to write. By the time they produce an acceptable copy, they find that a term or two of school has slipped by and they still have not graduated. Important advice is to start writing early and ask your thesis advisor for feedback on your writing. You are expected to write your own paper, not copy from what someone else has written. It is okay to use other people's ideas, even their own words, but you must clearly reference their work.

Everyone makes spelling mistakes, but with spelling checker programs available this type of error should be eliminated. Always run your written work through a spelling checker before you ask someone else to read it. Also, you should find someone who can correct grammatical mistakes in your paper.