So long and thanks for all the fish

Some time has passed since our last session. Nevertheless, I want to take the opportunity to write a last post.

We worked on a lot of topics around scientific writing and research, we wrote, we read, we edited. You practised research, writing up, polishing your sentences and paragraphs. In the end, you contributed to a book which I was happy to give you in print in our last session. (By the way, you can find a PDF of our book here.)

You all worked hard on your papers and did a great job editing them according to the reviews. You helped to make the papers of your fellow students better by crafting a review yourself. Thanks for that.

I really enjoyed giving the seminar and working with you. You tremendously contributed to a very relaxed and fun work atmosphere. This gave us the opportunity to ask and answer questions, juggle with ideas, and create fun texts for our writing prompts.

I especially want to thank Norman for his book recommendations he gave in his blog. 🙂 A big thank you goes out again to Josi and Sebastian for their invaluable help with giving feedback to your homework and student project papers.

I hope the tools and techniques I introduced you to will help you with your studies and especially with your master’s thesis.

So long

Katrin

makeitso

Recap session 9 – Algorithms, Graphs, Figures, and Tables

image from npr.org

image from npr.org

Today’s session topic was “Algorithms, Graphs, Figures, and Tables”. You read chapters 10 and 11 in Zobel’s “Writing for Computer Science” in preparation for class.

Today we flipped the classroom such as you had the opportunity to enter the stage in front of the class. Instead giving you a writing prompt I asked you to form 3 groups. Each group was assigned a topic from “Algorithms”, “Graphs and Figures”, and “Tables” and you had some time to recap the aspects you read for each respective topic. Afterwards, you presented the aspects of your group on the whiteboard and we discussed each topic extensively.

This was a little experiment we tried in order to make the discussion a little more lively and it turned out really well. Thanks to everyone for a great session! This was really fun.

So here are some aspects we discussed for each section or chapter, respectively:

Algorithms

  • content
    • show the steps an algorithm takes
    • give information about the environment (input, output, data structures, …)
    • report about the scope of its application
    • report about advantages and limitations
    • demonstrate correctness and performance
  • formal analysis
    • asymptotic cost analysis – consider important variables
    • initialization of data structures might be expensive – you have to point this out
  • presentation
    • pay attention to the level of detail
    • prefer a mathematical notation
    • figures vs. descriptions (doubly-linked)
    • list of steps
    • three modes: pseudocode, prosecode, and literate code

Graphs and Figures

  • use only when needed (not as embellishment of your paper)
  • use appropriate software
  • mind copyright issues when you use a figure from someone else’s paper
  • reduce clutter
  • be consistent in style
  • caption goes below the figure and give enough information such that the reader understands the figure without having read the paper in detail
  • pay attention to the scaling of axes of graphs, sometimes it’s smart to use a logarithmic scaling
  • prefer greys instead of color
  • don’t forget labeling your axes and data points
  • follow CS conventions for elements in figures (i.e. use symbols from UML)
  • figures should be as sparse as possible

Tables

  • use tables for showing exact values for a small amount of data
  • unclutter tables – no grids, use whitespace for vertical separation
  • structure tables hiearchical if appropriate
  • no empty cells, use dashes to indicate that there is no data (and you just didn’t forget to write it down)
  • use it to compare alternatives

On a side note, we also talked a little about LaTeX tools and stuff, I will cover this in a separate post. Lena mentioned Edward Tufte’s “Data-to-ink ratio” (aka “remove unnecessary clutter”) as a measure for good diagrams. I found two interesting articles that go a little more into detail on that: “Less Is More – Improving The Data-To-Ink Ratio” and “8 Simple Tips for Better Data Visuals”.

This was our last input session for this semester. Next week’s session is an offer to you to work on your student project papers in the familiar writer’s workshop atmosphere. You can come and just use the time to write in an allocated time slot, ask questions, and get help. Sebastian and I will be there to assist you (or write ourselves). If you decide to work on your paper another time and in another place, that’s fine. You choose your path, young padawans, but choose it wisely.

Be sure to upload your papers BEFORE our session on June 23 so that we can distribute them for reviewing.

We will definitely meet in class on June 23 and write the reviews for your assigned paper.

Homework

Describing algorithms is a core task in computer science. It is not as trivial as it might seem as we sometimes just think in code. For reporting and demonstration of the inner works of an algorithm, it is necessary to give explanations on a more abstract level. Use this homework assignment to practise this task.

(from Zobel “Writing for Computer Science”, p. 273)

  1. Choose a simple algorithm and a standard description of it, such as linear search
    in a sorted array. Rewrite the algorithm in prosecode. Repeat the exercise with a
    more interesting algorithm, such as heapsort. Now choose an algorithm with an
    asymptotic cost analysis. Rewrite the algorithm as literate code, incorporating
    the important elements of the analysis into the algorithm’s description.

Recap session 8 – Good style and style specifics

Sheldon-Cooper-High-NFCWe started the session off with a fun writing prompt:

Use the following words in your story: kittens, a half-eaten pizza, telepathy, a radio call-in show, salt crackers, magic, a six-pack of beer, existential angst.

This was really a fun one and it was also fun to hear what you made out of these words. I found this writing prompt somewhere online. If you google it, you will find some more stories from other people for this prompt.

The main part of our session was about good style in scientific writing. In preparation for the topic, you read chapters 6 and 7 in Zobel’s “Writing for Computer Science”. We discussed the aspects and characteristics of good style and came up with this mindmap:

goodstyle_mindmap_msc

(sorry for the non-optimal quality of the photo).

Both chapters can be seen as a top-down view. While chapter 6 gives an overview of the aspects of good style, chapter 7 dives into detail on these different aspects and suggests some practical approaches. Therefore, it can be used as a future reference to look up whenever you need it.

Homework

  1. Read chapters 10 „Algorithms“ and 11 „Graphs, Figures, Tables“ in „Scientific Writing for Computer Science“ in preparation for the next session.
  2. Read the text „Fighting for breath“ in  Tim Skerns „Writing Scientific English“ (p. 50f) and analyze its adherence to the aspects of good style.

[article image: Why BBQ?]

Recap session 7 – Scientific argumentation

lerone_bennet

Our session started with the writing prompt “Imagine you are someone’s shadow for a day.” Thanks to all of you who read their stories aloud, it was a pleasure as always.

The main part of our seminar was a very interesting discussion on the aspects of Chapter 4 “Hypotheses, Questions, and Evidence” in Zobel’s “Writing for Computer Science”.

We discussed different forms of evidence such as proof, modelling, simulation, and experiments and their applicability and validity in disciplines of computer science.

We also discussed computer science as a science between engineering and natural science.

Thank you all for the active participation in the discussion, this was really fun.

Here is the mindmap from the discussion aspects I made during the session:

mindmap1_scientific_argumentation

Finally, we collected some recommendations for writing regarding scientific argumentation:

mindmap2_scientific_argumentation

 

An essential aspect of argumentation is logical conclusiveness. Beware of the fallacies:

Homework

  1. Read chapters 6 “Good style” and 7 “Style Specifics” in “Writing for Computer Science” as preparation for the next session. Don’t be intimidated by the number of pages, these chapters contain a lot of examples so that there is really not that much content to read.
  2. Apply the Checklist from Zobel p.49 to the research plan of your (future) Master thesis.
    Try to answer all questions. If you feel that a question is inappropriate
    explain shortly why this is the case.
    In case you have no topic for your Master thesis yet, you can use the following paper for this exercise:

    Paul, C., et.al.: Efficient Graph-Based Document Similarity. In:
    Proceedings of the ESWC 2016, http://doi.org/10.1007/978-3-319-34129-3_21

(article image: wikimedia)

Recap session 6 – Revision techniques and what to do against writer’s block


Yesterday’s session topic was “Revision techniques and what to do against writer’s block”.

After solving the punctuation game homework and a short discussion about fuzzy punctuation rules we started off with a writing prompt. As I had left my prompt cards in my office  we picked up this tweet from @DailyPrompt:

Thank you to those of you who read aloud their fun stories on the making of peanut butter. If you want to re-read, here is my writing prompt text.

We discussed chapters 3 and 13 from Zobel’s “Writing for Computer Science” on Revising and Editing. It became clear, that there is a clear distinction between revision and proofreading. While revision is a crucial  and often repeated part of the writing process itself, proofreading is done mostly at the end to polish your text and finish it for submission or publication.

In my slides, a gave you a  summary of proofreading and revision techniques. Furthermore, we talked about methods how to handle writer’s block. One of those techniques is freewriting which is literally used to write yourself free. The technique stems from creative writing, but it can be applied to scientific writing as well. You write for a particular amount of time and jot down everything that comes to your mind regarding the central topic or term. Anything goes – spelling mistakes, incomplete sentences, funky grammar. Don’t limit yourself and allow yourself to write “rubbish”. Flex your writing muscle,  and you will come to the core and the real thing eventually.

If you want to see how a freewriting text could look like, have  a glimpse at this post over at the bachelor’s course.

Here are some more tips on what to do against writer’s block.

Activating and stimulating your writing muscle by actually performing writing movements with your hands really works. In that context, you might find the study “The pen is mightier than the keyboard” interesting.

One last thing regarding our discussion at the end of class about how to spark creativity: “Coffee vs beer: Which drink makes you more creative?”

Remember: be smart and don’t set your brain on fire. Moderation (in terms of amounts as well as frequency) is key!

Homework

  1. Read chapter 4 on “Hypotheses, Questions, and Evidence” in Zobel’s “Writing for Computer Science”. We will discuss that chapter in the next session.
  2. Write an abstract for your student project paper. This is not necessarily the abstract that will be part of your real paper later. The purpose of this exercise is rather to get started with writing for your project paper and to gain an overview on your topic. Write a first version of the abstract and let it rest for a day (or more). Revise and edit this version with the help of the tools and methods you learned in the last session. Post the revised version of the abstract to your blog. Maybe freewriting will help you to get started and you will produce a text that you will turn into a coherent abstract eventually.

[article image: Jonno Witts]

Writing prompt: The making of peanut butter


writing time: 10min

Have you ever asked yourself how peanut butter is made? You might have the idea that actual peanuts are used. Well, not quite. Peanut butter is not made from real peanuts. I mean, why would you want to make butter out of peanuts in the first place? Peanuts are yummy and crunchy as they are, why would you want to squish them into a brownish mush? Peanut butter is actually made from red cabbage. It’s way cheaper to grow cabbage and no one really likes cabbage as it is.

So how do you make peanut butter? You take the cabbage, wash it, pluck the leaves and grind them in a blender. Of course, you have to get rid of the purple color. Who would eat purple peanut butter? So you put organic bleach into the mush and place it in the sun. After some time it will become lighter in color. But it will also begin to smell. Awfully. You have to get rid of the smell because no one would want to eat peanut butter that smells like rotten cabbage. So you add some soy sauce, sugar, vanilla and E numbers 110- 253 to the smelly mixture. Stir and let sit for some more days. E42 will also adjust the color a little more. If you want to have crunchy peanut butter, add some real peanuts. Put in a jar and you are good to go.

You ask why it is called peanut butter when it doesn’t really contain peanuts? Well, would you buy cabbage butter? No? See!

 

Links Links Links

Here are some links regarding scientific writing that I stumbled upon last week. I think they might be interesting for you:

[article image: pixabay]

Recap session 5 – Scientific English

Here’s a quick recap of yesterday’s session. First of all, we tried to clarify some open questions regarding the student project. I updated the project page accordingly.

If you haven’t noticed yet, I also linked an example paper there to give you some idea about the structure of such a paper. Nevertheless, the example paper is from the bachelor’s course and has a smaller scope. Your paper should have  a larger scope!

If  you like to have early feedback or reassurance that you are on the right track, feel free to send us (that is your tutor and/or me) your zeroth or first draft.

Yesterday’s  writing prompt was “What would you do now if you wouldn’t have to attend this class?” Again thanks to the brave among you who read their little stories aloud 🙂

We discussed aspects from the introduction in Skern’s “Writing Scientific English” and I showed you some slides and a nice comic to sum things up.


Did you know that Shakespeare contributed fundamentally to the evolution of the English lanuage? There is a nice article at Grammarly about this.

For the remainder of the session, we read a paper and analyzed it for characteristics of good scientific English (No link to the paper since it appeared in a bogus journal).

 

Homework

  1. (Re-)Read the sections in Zobel’s chapter 3 on reviewing (p. 30ff) and chapter 13 on “Editing”. We will discuss these chapters in class next time.
  2. Punctuation Game – Put in the missing punctuation marks (, ; -)
    • We live in the era of Big Data with storage and transmission capacity measured not just in terabytes but in petabytes (where peta- denotes a quadrillion or a thousand trillion). Data collection is constant and even insidious with every click and every “like” stored somewhere for something. This book reminds us that data is anything but “raw” that we shouldn’t think of data as a natural resource but as a cultural one that needs to be generated protected and interpreted. The book’s essays describe eight episodes in the history of data from the predigital to the digital. Together they address such issues as the ways that different kinds of data and different domains of inquiry are mutually defining how data are variously “cooked” in the processes of their collection and use and conflicts over what can or can’t be “reduced” to data. Contributors discuss the intellectual history of data as a concept describe early financial modeling and some unusual sources for astronomical data discover the prehistory of the database in newspaper clippings and index cards and consider contemporary “dataveillance” of our online habits as well as the complexity of scientific data curation.
    • During succession ecosystem development occurs but in the long term absence of catastrophic disturbance a decline phase eventually follows. We studied six long term chronosequences in Australia Sweden Alaska Hawaii and New Zealand for each the decline phase was associated with a reduction in tree basal area and an increase in the substrate nitrogen to phosphorus ratio indicating increasing phosphorus limitation over time. These changes were often associated with reductions in litter decomposition rates phosphorus release from litter and biomass and activity of decomposer microbes. Our findings suggest that the maximal biomass phase reached during succession cannot be maintained in the long term absence of major disturbance and that similar patterns of decline occur in forested ecosystems spanning the tropical temperate and boreal zones.
    • Facebook’s Graph API is an API for accessing objects and connections in Facebook’s social graph. To give some idea of the enormity of the social graph underlying Facebook it was recently announced that Facebook has 901 million users and the social graph consists of many types beyond just users. Until recently the Graph API provided data to applications in only a JSON format. In 2011 an effort was undertaken to provide the same data in a semantically enriched RDF format containing Linked Data URIs. This was achieved by implementing a flexible and robust translation of the JSON output to a Turtle output. This paper describes the associated design decisions the resulting Linked Data for objects in the social graph and known issues.

 

Recap session 4 – “Research, references, and citation”

After having a sneak peek into the brand new student project page we started the session with the following writing prompt:

A man jumps off the roof of a 40-story building. As he passes the 28th floor he hears his mobile ringing in his pocket. He regrets having jumped. Why?

Thanks for  sharing  your stories in class. It is always exciting how different your stories are for the same writing prompt.

Today’s topic was “Research, references, and citation”. We discussed Chapter 3 from Zobel’s “Writing for Computer Science” and made a  ranked list of reference-worthy publication types. We also talked about how to judge the quality and trustworthiness of a paper. In the exercise, we had a look in one rather negative example of a paper, which was not reference-worthy at all.

I prepared some slides (in German) regarding references and quotes. I didn’t show those in session as we didn’t really need them, but here they are anyway, for reference.

As someone asked for tools for managing literature after class, my recommendation is Mendeley. I use this tool heavily for my day-to-day work. It comes as a browser-based client, but there are also desktop apps for the major OS (Win, Linux, OSX).

I held a workshop for the “Lange Nacht der aufgeschobenen Hausarbeiten” back in March this year where I talked about tools for scientific writing. My slides for that workshop are not really useful as standalone material, but maybe the list of tools might help you. If you have any questions or recommendations for tools, please leave a comment below.

Homework for the next session (May 12 2016)

  1. Read the introduction of Tim Skern’s “Writing Scientific English” (pages 13-33). We will discuss this chapter in the next session.
  2. Find at least 5 important literature references for your student project topic. Write down the full bibliographical record of the reference and argue why you picked it. Keep in mind the quality criteria we discussed in this session.
  3. Prepare a 5-minute whiteboard talk for your student project topic. Try to introduce your topic to someone who has no knowledge about it. This talk should be relaxed and informal – just like you would do if you would explain your topic to a friend. You can use the whiteboard to sketch something. Your tutor will send around a doodle to find a time for a meeting to have this talk. So you will be in a session with your tutor and 5 other students and you will explain your topics to each other. The audience should ask questions if there are things that remain unclear. This exercise should help you jumpstart your project and help you understand the important aspects.

Homework week 17

tyrion
Hi all. Thank you for sharing your writing prompts from the last session. Sorry I couldn’t be there.

I changed our semester schedule as suggested by Marianne. So this coming Thursday we will talk about research, references and citation.

In preparation of our session, please submit the following assignments:

Reading

Read chapter 3 on “Reading and Reviewing” in Zobel’s “Writing for Computer Science”. We will discuss the chapter in class.

Write a Summary

Read the article “Warp Drive Research Key to Interstellar Travel” in the Scientific American Blog.

Write a summary for this article (~500 words) and post it in your blog. Pay particular attention to the following aspects:

  • are all important details included?
  • Would a reader  have the same insights as reading your summary as if he would have read the original text?

After you submitted a first version feel free to polish it over and submit a revised version.

This exercise serves as preparation for the student project.