Scientific Writing I

Gregor von Laszewski

(c) Gregor von Laszewski, 2018

1 Preface

This manuscript provides practical information to write high quality scientific papers and reports. This is one of two volumes. Volume I covers non-LaTeX. Volume II covers LaTeX.

An up to date version of this document can be downloaded from:

https://github.com/cloudmesh-community/book/raw/master/vonLaszewski-writing-1.epub

1.1 Git

The material for this document is managed in git

https://github.com/cloudmesh-community/book x Please look at the chapters.

1.1.1 Contributing

Create the volume

To create this volume yourself, which is useful if you like to contribute, create a git clone, check out your clone

cd book/writing

make your modifications and verify them with

make
make view

After you are satisfied do a pull request. As you are working in parallel, it is best to focus on small pull request that are done to a single section or issue. Do not create a pull request that is done over a long period of time. This may fore sure result in conflicts with others.

1.1.2 Direct edit via Github.com GUI

It is also possible to directly contribute to the volume while using the ☁️ (Cloud) links in case you find a contribution you like to make, locate the closest preceding cloud and click on it. It allows you to create a pull request that you can edit directly and thus provides the ability to make changes very quickly without the need of a complete checkout. However we ask you to carefully review your changes. Furthermore, as you work on a browser window the changes should be small and we recommend for larger changes to first write the section you like to change in a local editor and than paste the changes into the GUI. This helps avoiding losing your text in case of network outages and minimises conflicts with others.

1.2 Notation ☁️

☁️

If you click on the ☁️ in a heading, you can go directly to the document in github that contains the next content. This is copnvenient to fix errors or make additions to the content.

$

Content in bash is marked with verbatim text and a dollar sign

$ This is a bash text

[1]

References are indicated with a number and are included in the reference chapter [1]

⭕

Chapters marked with an ⭕ are not yet complete or have some issue that we know about. These chapters need to be fixed.

🎬 REST 36:02

Example for a video

💡 Notes are indicated with a bulb and are written in itallic and surounded by bars

2 Scientifc Writing

2.1 Plagiarism ☁️

We start with the review of a most important topic.

2.1.1 Plagiarism Definition

In academic life it is important to understand and avoid plagiarism. The dictionary defines plagiarism as follows dictionary.com:

pla⋅\cdotgia⋅\cdotrism

“the practice of taking someone else’s work or ideas and passing them off as one’s own.”

2.1.2 Plagiarism Policies

Organizations and universities will have policies in place do address plagiarism. An example is provided for Indiana University [2]. We quote:

"Honesty requires that any ideas or materials taken from another source for either written or oral use must be fully acknowledged. Offering the work of someone else as one’s own is plagiarism. The language or ideas thus taken from another may range from isolated formulas, sentences, or paragraphs to entire articles copied from books, periodicals, speeches, or the writings of other students. The offering of materials assembled or collected by others in the form of projects or collections without acknowledgment also is considered plagiarism. Any student who fails to give credit for ideas or materials taken from another source is guilty of plagiarism.

(Faculty Council, May 2, 1961; University Faculty Council, March 11, 1975; Board of Trustees, July 11, 1975)"

Faculty members at Universities are also bound by policies that mandate reporting. At Indiana University the following policy applies (for a complete policy see the Web page):

"Should the faculty member detect signs of plagiarism or cheating, it is his or her most serious obligation to investigate these thoroughly, to take appropriate action with respect to the grades of students, and in any event to report the matter to the Dean for Student Services (or equivalent administrator). The necessity to report every case of cheating, whether or not further action is desirable, arises particularly because of the possibility that this is not the student’s first offense, or that other offenses may follow it. Equity also demands that a uniform reporting practice be enforced; otherwise, some students will be penalized while others guilty of the same actions will go free.

(Faculty Council, May 2, 1961)"

Naturally if a student has any questions about understanding plagiarism the University can provide assistance. If a student is in doubt and asks for help this is not considered at that time plagiarism.

As you can see from the previous policies, the faculty do not have any choice but reporting real cases of plagiarism to the university administration. Thus you must not hold them personally responsible as this is part of the tasks they are required to do if they like it or not. Instead, it is the responsibility of the authors of the document to assure no plagiarism occurs. If you are a student of a class that writes a paper or project report this naturally also all applies to you. In addition, if you work in a team you need to assure the entire team addresses plagiarism appropriately.

In practice this means that the teachers of a course expect yo know plagiarism and you need to be informed about it. This is typically done in other courses. However, as it is often overlooked by the student we are pointing it out here so we can make sure you contribute to courses that require you to write papers and reports. This also means you can not claim you did not know what plagiarism is. You are required to know what it is, know how to detect it and know how to avoid it. The resources provided next will give you the necessary tools and background.

2.1.3 Plagiarism Resources

The School of Education at Indiana University has a significant set of resources to get educated about plagiarism. These resources are intended to “preparing educators, advancing knowledge, and improving education” [2]. This includes:

IU Definition of Plagiarism from Student Code of Conduct

Overview How to give proper credit, steps.

Cases of Plagiarism in the US, in the news, and elsewhere

Examples Word for word, paraphrasing

Practice with feedback on word-for-word and paraphrasing plagiarism

Test 10 questions on recognizing plagiarism

Tutorial Site Map Expanded table of contents

Resources Websites, books, dictionary links, references for learning more about plagiarism

Furthermore, a number of tutorials are offered by Indiana University Instructional Systems Technology Department Web pages dealing with plagiarism. These include:

Plagiarism Tutorial

Understanding Plagiarism

2.1.4 How to Recognize Plagiarism

We are listing fifteen patterns of plagiarism that are defined at

https://www.indiana.edu/~istd/patterns.html

which we copied into the next table. As such we have not included quotes but refer to their Web page but instead copied the tables with a reference. Naturally we do not want to be accused of plagiarize in a chapter about plagiarism.

Plagiarism [3]

Name | Plagiarism Type | Reason
Clueless Quote | word-for-word | no quotes, no citation, no reference
Crafty Cover-up | proper paraphrase but word-for-word | also present
Cunning Cover-up | paraphrasing | no citation, no reference
Deceptive Dupe | word-for-word | no quotes, no citation, but has reference
Delinked Dupe | word-for-word | no reference, even though quotes and citation
Devious Dupe | correct quote but word-for-word | also present
Dippy Dupe | word-for-word | quotes missing, even though full citation and reference
Disguised Dupe | looks like proper para, but actually word-for-word | no quotes, no locator
Double Trouble | word-for-word and paraphrasing | although has reference
Linkless Loser | word-for-word | citation and reference lacking, although has quotes and locator
Lost Locator | word-for-word | missing locator, although has quotes, citation, and reference
Placeless Paraphrase | paraphrasing | no reference, although citation present
Severed Cite | paraphrasing | reference but no citation
Shirking Cite | word-for-word | lacks locator and reference, although quotes and citation present
Triple D–Disguised Disconnected Dupe | word-for-word | looks like proper para, but no quotes, no reference, no locator

Three patterns of non-plagiarism [3]

Name Type Description |  |
Correct Quote | non-plagiarizm | takes another’s words verbatim and acknowledges with quotation marks, full in-text citation with locator, and reference
Proper Paraphrase | non-plagiarizm | summarizes another’s words and acknowledges with in-text citation and reference
Parroted Paraphrase | non-plagiarizm | appears to be paraphrasing, and technically may not be plagiarism …

2.1.5 Citation Styles

Each journal or workshop and books will have their own citation styles. Often we find styles such as APA and Harvard. However these styles are often not use in scientific writing and tutorials that use them may provide you with information that is not applicable to other publications. Hence you need to review the rules for your specific publication venue carefully. In some cases this will lead to a significant improvement in readbility as well as reduction in space.

While in APA style you may mention

“John von Neuman (John von Neuman; 1927) describes a turing machine in his ground braking paper … that can do this and that and more.”.

However in our community we often focus more on the technology than on the person or team that did this. Also citations will be precisely numbered. Hence this will be sufficient:

“In [1] a turing machine is introduced that can do …”

Please be reminded that non of our assignments will use APA style citing. We use numbered ACM or IEEE proceedings and journal citations.

2.1.6 Exercise

Plagiarism.1

Pass the plagiarism certification. This test is mandatory for all students taking this class. Typically it should have been done as part of another class, but we found through experience that some student that have not taken the certification have issues with this topic.

2.2 Emacs ☁️

One of the most useful short manuals for emacs is the following reference card. It takes some time to use this card efficiently, but the most important commands are written on it. Generations of students have literally been just presented with this card and they learned emacs from it.

https://www.gnu.org/software/emacs/refcards/pdf/refcard.pdf

There is naturally also additional material available and a great manual. You could also look at

https://www.gnu.org/software/emacs/tour/

From the last page we have summarized the most useful and simple features. And present them here. One of the hidden gems of emacs is the ability to recreate replay able macros which we include here also. You ought to try it and you will find that for data science and the cleanup of data emacs (applied to smaller datasets) is a gem.

Notation

Key | Description
C | Control
M | Esc (meta character)

Here are some other ways on what to do if you have accidentally pressed a wrong key:

C-g If you pressed a prefix key (e.g. C-x) or you invoked a command which is now prompting you for input (e.g. Find file: …), type C-g, repeatedly if necessary, to cancel. C-g also cancels a long-running operation if it appears that Emacs has frozen.

C-/ If you executed a command and Emacs has modified your buffer, use C-/ to undo that change.

Key | Description
— | Saving and Exiting
C-x C-w | Write the buffer to file
C-x C-s | Write the buffer to file and quit Emacs
— | Cursor use the cursor keys or …
C-f | Forward one character
C-n | Next line
C-b | Back one character
C-p | Previous line
— | Cursor context move
C-a | Beginning of line
M-f | Forward one word
M-a | Previous sentence
M-v | Previous screen
M-< | Beginning of buffer
C-e | End of line
M-b | Back one word
M-e | Next sentence
C-v | Next screen
M-> | End of buffer
— | Cursor jump
M-g g | Jump to specified line number
— | Search
C-s | Incremental search forward
C-r | Incremental search backward
— | Replace
M-% | Query replace
— | Killing (“cutting”) text
C-k | Kill line
C-y | Yanks last killed text
— | Macros
M-x ( | Start recording macro
M-x ) | Stop recording macro
M-x e | Play back macro once
M-5 C-x-e | Play back macro 5 times

Modes

“Every buffer has an associated major mode, which alters certain behaviors, key bindings, and text display in that buffer. The idea is to customize the appearance and features available based on the contents of the buffer.” modes are typically activated by ending such as .py, .java, .rst, …

Key | Description
M-x python-mode | Mode for editing Python files
M-x auto-fill-mode | Wraps your lines automatically when they get longer than 70 characters.
M-x flyspell-mode | Highlights misspelled words as you type.

2.2.1 Org Mode

Emacs has some very advanced features that you can activate via a mode. One such feature is to organize a TODO list via org-mode.

Instead of us designing our own video, we point to a community tutorial such as

2.2.2 Programming Python with Emacs

Emacs comes by default with syntax highlighting for python when you edit a .py file. This is really all you need. It also comes with a python ide that you can use and customize.

Python auto-completion for Emacs:

https://github.com/tkf/emacs-jedi

Some more information is available at

https://realpython.com/blog/python/emacs-the-best-python-editor/

https://www.emacswiki.org/emacs/PythonProgrammingInEmacs

2.2.3 Emacs Keys in a Terminal

One of the real great features of knowing emacs is that you can set all your editors to emacs shortcuts. This includes pyCharm, but also bash. In bash you simply say

set -o emacs

in your bash prompt. Additionally, if you do not have a window systems configured, you can run emacs directly in the terminal with

emacs -nw

This you can log in to a remote computer and if it has emacs installed. Use it in the terminal. This would replace editors such as vi, vim, nano, pico or others that work in a terminal.

2.2.4 LaTeX and Emacs

LaTeX is directly supported by emacs and nothing has to be changed. However, a collection of information about additional LaTeX features for emacs is available at

https://www.emacswiki.org/emacs/LaTeX

Of interest are for example also

M-x flyspell-mode: allowing to do spell checking in the window

predictive mode: https://www.emacswiki.org/emacs/PredictiveMode

preview latex

whizzy tex

However instead of previews and whizzy tex we recommend to use

https://www.emacswiki.org/emacs/LatexMk

which comes preinstalled and allows you to do editing in one terminal, while previewing the update on change in another window.

LatexMk is all integrated in our report Makefiles and the Book format, so you will be able to use this immediately. This is similar to share latex, but much faster and without collaborators editing the same file.

2.3 Markdown ☁️

The content form this section originates from see:

https://en.wikipedia.org/wiki/Markdown

Markdown is a simple markup language, however there is no precise standard defined for it and implementations may have features not supported by other implementations. Nevertheless, it provides a simple and easy way to quickly develop clean looking documents.

There are several tools that make markdown attractive allowing to write the text in one window while at the same time seeing the rendered out put in another.

This includes

Macdown

An editor for markdown targeted on OSX

To convert the markdown to other formats with pandoc

# Heading

## Sub-heading

### Another deeper heading

Paragraphs are separated
by a blank line.

Two spaces at the end of a line leave a
line break.

Text attributes _italic_, *italic*, __bold__, **bold**, `monospace`.

Horizontal rule:

---

Bullet list:

  * apples
  * oranges
  * pears

Numbered list:

  1. apples
  2. oranges
  3. pears

A [link](http://example.com).

```bash
$ echo "a bash script"
```

```python
print("a pythion script")
```

2.3.1 Editing Tools

Dilinger

A HTML5 based cloud enabled editor https://dillinger.io/. It allows to download the created Markdown.

Macdown

MacDown is an open source Markdown editor for macOS that is available at https://macdown.uranusjr.com/

Haropad

Haropad is a cross platform markdown editor. It asks for donation for its further development. It can be downloaded from http://pad.haroopress.com/

Markdown plus

Markdown with lots of extensions. We are not supporting all of the extensions at this time. We just use mostly regular markdown. It is located at https://mdp.tylingsoft.com/. The source code is on gitub https://github.com/tylingsoft/markdown-plus. A precompiled version is available for $15. A possible local install could be working as follows (untested)

$ git colone https://github.com/tylingsoft/markdown-plus.git
$ cd markdown-plus
$ brew install yarn
$ yarn install
$ yarn watch
$ open open dist/index.html

2.3.2 Presentations in Markdown

Please find some links on hwo to use markdown to create slides

https://yhatt.github.io/marp/

http://slidify.org/

https://rmarkdown.rstudio.com/lesson-11.html

GitPitch https://github.com/gitpitch/gitpitch/wiki/Slide-Markdown

2.3.3 Conversion with pandoc

Pandoc is a tool to convert file formats between each other. According tho the Web page Pandoc can convert “Markdown, reStructuredText, textile, HTML, DocBook, LaTeX, MediaWiki markup, TWiki markup, TikiWiki markup, Creole 1.0, Vimwiki markup, OPML, Emacs Org-Mode, Emacs Muse, txt2tags, Microsoft Word docx, LibreOffice ODT, EPUB, or Haddock markup”.

The Web page is located at.

https://pandoc.org/

To convert files simply use the following commandline option -o to specify the output format

pandoc filename.md -o filename.tex

In our example we converted the md file to latex.

As this document is created with pandoc we encourage you to review our Makefile to see how we use some more advanced features

2.3.4 Mermaid

Mermaide is a graph generation tool that lets you create graphs and diagrams with the help of a description language. It includes graphviz and UML like diagrams, as well as gantt charts

A live editor is available at

Mermaid live editor

A markdown plugin for pandoc is available

Mermaide

https://github.com/raghur/mermaid-filter

Installation is done with

$ npm install --global mermaid-filter

A sequence diagram example is shown next

~~~mermaid
sequenceDiagram
Alice->>John: Hello John
    John-->>Alice: Hallo Allice
~~~

A flowchart looks like

~~~mermaid
graph LR
    Start --> End
~~~

2.3.5 Advanced Pandoc

pandoc can integrate extensions and filters. We have not made yet use of them but like to explore them over time.

Packages of interest include:

Include files http://pandoc.org/filters.html#include-files

Integration of R https://github.com/cdupont/r-pandoc

Figure numbers https://github.com/tomduck/pandoc-fignos

Equation numbers https://github.com/tomduck/pandoc-eqnos

Table numbers https://github.com/tomduck/pandoc-tablenos

Cross refs with lots of numbering https://github.com/lierdakil/pandoc-crossref

section numbering https://github.com/chdemko/pandoc-numbering

CSV table https://github.com/baig/pandoc-csv2table

inline CSV table https://github.com/mb21/pandoc-placetable

2.4 Report Format ☁️

We provide a uniform trivial high quality report format for this class that is slightly modified from its original. This was necessary as we observed over the years that some students increased their paper length while modifying the format or added empty lines, played with font sizes and so on. This is all not necessary and wastes not only your time, but also the reviewers time. We just use all the same unchanged uniform paper format. As we do such cheating attempts are easy to detect.

To avoid all this, we have adopted a the following simple proven approach implemented by hundreds of students successfully.

We provide you with a high quality report template format that you must not change. It is a slight improvement to a template that is used by millions of researchers.

All references must be managed with jabref or emacs as reference management tool and must be provided in addition to the document.

If your document does not follow the format or we find that you have modified the template or do not use floating figures (which will be placed automatically at the end of the paper) we will return the document without review and may give a grade reduction.

It is in the students responsibility to use the template format from the beginning on.

If you treat our template simply as a form that you fill out, you will succeed. If you modify it you will not. Keep it simple.

The template for the report is available from:

https://github.com/cloudmesh-community/hid-sample/tree/master/paper

Copy all files from this directory in the directory where you want to write your report in. Make sure you have the full version of LaTeX installed and can use make. THis can be done on OSX, Linux, and Windows via gitbash. When you say

make

the document will be created and is called

report.pdf

However, when submitting the report you just need to submit the following files and directories with their files in it

Makefile
content.tex
report.bib
images

You MUST NOT commit your pdf file as we will regenerate it for you as part of a class proceedings. If you commit it, it will lead to conflicts in git and will slow us down and we will deduct points if you commit it. Here are some useful tips to what is in the directory:

Images

All images must be placed in an images folder and submitted in your repository with the originals.

Makefile

It is in your responsibility that the document can be compiled with make. If your system can not do this, create one that can. Use a virtual machine or containers if you fail to set it up on Windows. As this is a cloud class this part of your class deliverables as it shows to us you can set up such an environment. There will be NO EXCEPTION to this. This file must not be modified.

context.tex

This is your form. Look at it and fill it out with your content. See especially how images and tables are placed and referred to. Although they will in your context.tex file be close to where they should be in our review process we place them on purpose to the end. You will see this when you say make and view the pdf document,

report.tex

This file must not be modified.

2.4.1 Parallel Editing

In most cases you will be able to work in groups on class projects. This allows you to develop the report collaboratively via github.com. Learning how to do this properly is part of the class goals. The rule is commit and pull frequently. The reason we want you to use git directly is also to prepare you for parallel code development. Thus we do not encourage using of sharelatex and overleaf. Instead we recommend you use git directly and communicate with each other in case yo work in a team.

2.4.2 Timemanagement

Obviously doing a project takes time

It takes time to read the information

It takes time understand the information

It takes time to do the project

This will get you in trouble: There are still 10 weeks left till the project is due so let me start in 4 weeks …. Postponing the project till the last moment

Do not spend significant time on unimportant documentation and setup. Instead spend time to develop sophisticated scripts that you can than easily document in possibly one line ;-) If you can use for example cloudmesh cmd5 commands and scripts that help you developing commands semi-automatically.

2.4.3 Report Checklist

This partial list may serve as a reminder on how to make sure your paper is properly developed. It is based on a collection of issues we observed over time done by students developing reports.

Have you written the report in the specified format?

Have you included an acknowledgement section?

Have you included the report but not report.pdf in git?

Have you specified the HID, names, and e-mails of all team members in your report. E.g. the Real Names that are registered in Canvas?

Have you included the project number in the report?

Have you included all images in native and PDF format in git in the images folder?

Have you added the bibliography file that you managed with jabref or emacs

Have you made sure that you removed report.pdf in case you accidentally added it to github

Have you added an appendix describing who did what in the project or report? (only needed when you worked in a team)

Have you spellchecked the paper?

Are you using a and the properly?

Have you made sure you do not plagiarize?

Have you not used phrases such as shown in the Figure below, but instead used as shown in Figure when referring to the figure, and F:coolfigure is set with the label command?

Have you capitalized “Figure …”, “Table …” ?

Any figure that is not referred and explained explicitly in the text must be removed.

Are the figure captions bellow the figures and not on top. (Do not include the titles of the figures in the figure itself but instead use the caption or that information?

When using tables have you put the table caption on top?

Make the figures large enough so we can read the details. If needed make the figure over two columns?

Do not worry about the figure placement if they are at a different location than you think. Figures are allowed to float.

Do avoid copy images from others as this would require you to contact the publisher and ask for permission. Redraw the figure, but use a citation if the figure is not substantially different.

Do not use the word “I” instead use “We” even if you are the sole author.

Do not use the phrase “In this paper/report we show” instead use “We show”. It is not important if this is a paper or a report and does not need to be mentioned.

Do not artificially inflate your report if you are bellow the page limit and have nothing to say anymore.

If your paper limit is 12 pages but you want to hand in 120 pages, please check first with an instructor ;-)

Check in your current work for the report on a weekly basis to show consistent progress.

Please use the dedicated report format for class.

Do not use the characters & # % in the paper. If you use them you probably need a  in front of them.

If you want to say and do not use & but use the word and.

When writing quotes use ``quote’’ and not “quote”.

Do not include a section Future improvements as this implies you want an incomplete. Instead use a section Limitations and discuss them in detail.

Have another student review your paper and give you feedback.

Do a self check. Do you think this paper is excellent or do you think its just good enough? What are the limitations of the paper?

When using directory names use only lower case, do not use spaces or underscore in them. Use a dash instead of underscores.

bibtex labels must not have underscores in them, instead use dashes.

Make sure to add your hid as a prefix to the bibtex label.

howpublished does not contain urls, for that we use a url attribute. IN how published you put a noun in that describes what it is. E.g. Webpage, Git repository, …

2.4.4 Exercise

Report.1:

Install emacs, latex and jabref on your system

Report.2:

Check out the report example directory. use make and view the PDF. Modify and recompile.

Report.4:

Learn about the different bibliographic entry formats in bibtex

Report.5:

What is an article in a magazine? Is it really an Article or a Misc?

Report.6:

What is an InProceedings and how does it differ from Conference?

Report.7:

What is a Misc?

Report.8:

Why are spaces, underscores in directory names problematic and why should you avoid using them for your projects

Report.9:

Write an objective report about the advantages and disadvantages of programs to write reports.

Report.10:

Why is it advantageous that directories are lowercase have no underscore or space in the name?

Report.11:

Review in a grammar book proper usage of “a” and “the”.

Report.11:

Memorize: When writing quotes use ``quote’’ and not “quote”. Note these are two quotes let to the one to open and two other quotes right to the enter (US keyboard) to close a quote.

2.5 Communicating Research in Other Ways ☁️

Naturally, writing papers is not the only way to communicate your research with others. We find that today we see additional pathways for communication includine blogs, twitter, facebook, e-mail, Web pages, and electronic notebooks. Let us refisit some of them and identify when they are helpful.

2.5.1 Blogs

blog:

noun, a regularly updated website or web page, typically one run by an individual or small group, that is written in an informal or conversational style.

Advantages:

encourages spontaneous posts

encourages small short contributions

chronologically ordered

standard software exists to set up blogs

online services exists to set up blogs

Disadvantages:

structuring data is difficult (some blog software support it)

not suitable for formal development of a paper

often lack of sophisticated track change features

no collaborative editing features

2.5.2 Sphinx

Sphinx (http://www.sphinx-doc.org/) is a tool that to create integrated documentation from a markup language.

Advantages:

output formats: html, LaTeX, PDF, ePub

integrates well with directory structure

powerful markup language (reStructuredText)

can be hosted on github via github pages

can integrate other renderers such as Markdown

automatic table of content, table of index

code documentation integration

search

written in python and using bash, so extensions and custom automation are possible

Disadvantage:

requires compile step

When using markdown github can render individual page

Others:

Read the Docs (https://readthedocs.org/)

Doxygen (http://www.stack.nl/~dimitri/doxygen/)

MkDocs (http://www.mkdocs.org/)

2.5.3 Notebooks

2.5.3.1 Jupyter

The Jupyter Notebook (http://jupyter.org/) is an open-source web application allowing users to create and share documents that contain live code, equations, visualizations and explanatory text. Use cases include data cleaning and transformation, numerical simulation, statistical modeling, machine learning.

Advantages:

Integrates with python

Recently other programming languages have been integrated

Allows experimenting with settings

Allows a form of literate programming while mixing documentation with code

automatically renders on github

comes with web service that allows hosting

Disadvantage:

mostly encourages short documents

mark up language is limited

editing in ASCII is complex and Web editing is prefered

2.5.3.2 Apache Zeppilin

A Web-based notebook that enables data-driven, interactive data analytics and collaborative documents with SQL, Scala and hadoop. It integrates a web-based notebook with data ingestion, data exploration, visualization, sharing and collaboration features to Hadoop and Spark.

Advantages:

integration to various framework

Web framework

integration with spark, hadoop

Disadvantages:

larger framework

must leverages existing deployments of spark, hadoop

[1] G. von Laszewski, F. Wang, H. Lee, H. Chen, and G. C. Fox, “Accessing Multiple Clouds with Cloudmesh,” in Proceedings of the 2014 acm international workshop on software-defined ecosystems, 2014, pp. 21–28 [Online]. Available: http://doi.acm.org/10.1145/2609441.2609638

[2] “University policies: Cheating and plagiarism, aca-72.” Web Page, 1961 [Online]. Available: https://policies.iu.edu/policies/aca-72-cheating-plagiarism/index.html

[3] School of Education, INdiana University, “How to recognize plagiarism - examples: Patterns of plagiarism.” Web Page [Online]. Available: https://www.sharelatex.com