Writing in CS 251
Writing is a key part of computer science. The following provides some guidance for different aspects of writing as well as some examples that will help you to identify both good and bad characteristics of different asepcts of the writing you will do in this course.
Summaries
A brief summary is a required part of every CS project report. The summary is a chance for you to provide to the reader a concise description of the content of your report. This should include a description of the task or problem, your solution, and your results. In technical writing, the summary, or abstract, is one of the most critical pieces of a paper, as it is the filter a reader will use to determine the relevance of your work to their own. The abstract is the hook by which you draw the reader into looking at your work more closely.
The following are some examples of prior CS 251 summaries for project 2. As you read them, consider the following questions:
- Does it describe the CS purpose of the project?
- Does it describe the specific project application?
- Does it describe the solution or how it was developed?
- Does it describe the results or outputs?
- Is it concise?
- Are all of the terms well-defined?
- Does it read logically and in the proper order?
Example 1:
In this project, the goal was to create
matrices to store data and manipulate it. We wanted to be able
to take in comma separated values and use that as data to
manipulate, and potentially later visualize.
Example 2:
For this project, I created programs
that can read and analyze data from a csv data file. In a csv
data file the first row contains the column headers , the
second row contains the type of data (string, numeric, etc.),
and the rest of the rows contain the data.
Example 3:
This project was far more data driven
then the previous one, and it entailed reading in a data file,
then running analysis on that data. Therefore it was crucial
that all the accessors and mutators worked perfectly, which
required quite a lot of unit testing. In the coming paragraph
I will go over my API and my extensions.
Example 4:
This weeks lab was to further expand
upon the Data class we wrote during lab. The first file,
data.py, contained a read method, which read in data from a
specified csv file. It then stores the headers and types into
lists and raw_data into a list of lists. Then, it created a
header2raw dictionary that has keys which are the names of the
headers, and the values which are the numbers of the columns
in the data. Afterwards, I had the read method create a list
of headers for the numeric data. From this I could make a
numpy matrix of the numeric data, which was found by using the
list of headers and iterated through each row of the full
dataset. Most of the methods turned out to be accessor
methods, which will allow me to manipulate the data in the
future.