# Scientific Hackathon

A Scientific Hackathon (SciHack) is a design sprint-like event in which a team of people are exposed to a problem or challenge that requires an collaborative way of problem solving. The participants have in general different backgrounds and expertise. The objective of the Scientific Hackathon creates interfaces between stakeholder or participants of the event and it requires evidence based decision making i.e. decision making in teams are based on scientific results. The "hacking" in a SciHack refers to a rapid prototype for the elaborated decision support workflow.

## Product of a Scientific Hackathon

In contrast to a hackathon whose aim is to create a functioning software or hardware by the end of the event., the product after the scientific hackathon is an interdisciplinary team that is able to work on complex problems computer programmers and others involved in software development, including graphic designers, interface designers, project managers, and others, often including domain experts, collaborate intensively on software projects.
* Create or enhance the operational capabilities of an interdisciplinary teams,
* Create or foster interfaces between (SciHack) participants,
* test the fitness of the collaborating team with a task that require the collaboration of all team members.
* Decision making is based on and requires scientific evidence, i.e. people joining the SciHack require in depth scientific knowledge in their team
The end of the SciHack event is in fact the beginning of the work of a subgroup or the complete SciHack participants.
The product is generated with a Open Community Approach, so that all participants
* can take the results and apply the product in other settings,
* transfer and adapt the generated decision support product in other environment,
* with OCA the product can be regarded as a common good with e.g. Creative Commons Licence for the documentation for the product and an OpenSource licence for generate IT product for modelling the decision support.

## Task for Learners

* Explain and discuss the following statements:
   * SciHacks can be used to support Swarm Intelligence in group of decision makers, scientist, software developers, ...
   * The Open Community Approach applied in SciHacks allow to build on previous SciHack results without the constraints of proprietory or commercial constraints of the developed results, ...
   * The documentation of developmental process and the documentation of the resulting deliverable of the SciHack is a key for replication of successful SciHacks in other regions and countries with different requirements and constraints. Furthermore the documentation of dead ends of developement are relevant for lessons learnt
* (KnitR) Analyse the concept of KnitR and explain why KnitR as a dynamic reporting environment can be used as developement framework for the SciHack. Explain why the real-time analysis with a constant data input stream can produce dynamic decision support product.
* (Geographically tailored Open Educational Resource) Combine the documentation of SciHack deliverables with geolocation of a decision maker on a smartphone. How can SciHacks create regionalized resp. geographically tailored decision support products?
* (Mapathon) Compare the concept of a Mapathon with a Scientific Hackthon! What common approaches and what are the differences? Can Mapathon be used within or in conjunction with a SciHack (e.g. Humanitarian Open Streetmap or Missing Maps).

## The role of Software Development in Scientific Hackathon

Within the SciHack software is used for modelling to create a demonstrator for the potential impact of the collaboratively developed ideas. The modelling product in the SciHack cannot be considered as final from the scientific point of view. The goal of a SciHack is to create usable modelling environment with existing software with the goal of creating a modelling environment for collaborative evidence based decision making for complex problems. The application of software in a SciHack require in analogy to an standard Hackathon the event defines a target software environment in which the modelling result as demonstrator is implemented. E.g. if the joint modelling product is developed with the programming language R all participants should be able to contribute directly with R-programming skills or indirectly with a team member to the joint product. The modelling prototype could use more than one programming language because importing of data in the modelling infrastructure might be much easier by application of an existing other software infrastructure with a non-target programming language. The modelling product with software should be able usable on multiple operating systems (Linux, Windows, Mac,...) to allow replication and adaptation of the generated modelling result. SciHack remixes mainly existing already implemented libraries, packages, existing APIs, or even a complete software package display the modelling result. Some coding is involved but the main task is to chain existing package, software, ... in way that SciHack product can be used as modelling environment, e.g. like a Decision Support System for Health Service Delivery.

## Example: Scientific Hackathon

The following examples refers to the Space and Global Health and shows a starting of an distributed scientific hackathon:
* (Distributed Meeting Points) a distributed scientific hackathon allows collaboration between at least two universities, institution and/or meeting points. The network collaboration is added to minimize the carbon footprint of the collaborating teams. If you have just one meeting point skip this sections.
* (Capacity Building) Teams at different meeting points may form a working group a specific institution, organisation or community the are reponsible for Capacity Building within the institution or organisation who send the team members. The main objective is to take home a rapid prototype for further use of the intended SciHack results.

## Complex Dynamic Systems and SciHacks

Complex dynamic systems and grant or global challenges are topics that require interdisciplinary teams for problem solving. Systems theory is underlying framework for a SciHack. The Complexity theory as an interdisciplinary theory grew out of Systems theory in the 1960s and focuses on organisational change. The SciHack combines rapid prototyping with evidence based decision making in the natural sciences that examines uncertainty and non-linearity. The modelling environment serves as sandbox to visualize the consequences of decision making.
E.g. biofuel as fuel that is produced through contemporary biological processes from renewable sources agriculture by application of anaerobic digestion. In constrast to fossil fuel, that produced by geological processes, the biofuel can be regarded as the way to go to reduce the emission of greenhouse gas generated by fossil fuel. But if the tropical rainforest is cut down for production of renewable source in agriculture and additional negative impact on greenhouse in atmosphere is added to the system because trees remove greenhouse gas from the atmosphere and store it biological matter.
This shows just one link in complexity theory, that shows the interactions within systems and the accompanying feedback loops that constantly change systems and could create an undesired outcome of decision making. The constant change of systems is incorporated in the modelling environment if the SciHack prototype is able to fetch data continuously from remote data sources (e.g. stock exchange in economics, [[Satellite technologyremote sensing for disaster management data, enviromental monitoring data for decision making , ...) and is able to fetchWhile it proposes that systems are unpredictable, they are also constrained by order-generating rules.

## Etymology

The word "hackathon" alone is a portmanteau of the words "hack" and "marathon", where "hack" in the context of a Scientific Hackathon is used in the sense of exploratory prototype of a modelling environment for decision making in complex dynamic systems. The orignal meaning of hack as reference to computer security is not applicable anymore, similar to the use of the word hackathon, that does not refer to hacking of a computer system anymore.
The modelling enviroment of a SciHack is published under a license that all members of the community can build on the results and establish other communities that build on the results of the current SciHack. So the Scientific Hackathon is based on the Open Community Approach.

## Structure

Scientific Hackathons involves the following steps:
* (Announcement) Announce of the challenge for the Scientific Hackathon,
* (Registration) Registration for participation with submission of own profile and expertise,
* (Profile Analysis of Participants) System Thinking applied to group formation and profile analysis of participants,
   * Existing interface between participants are identified, that can be fosted during the SciHack,
   * New interfaces are indentified between participant from different disciplines and a special task is assigned for theses interfaces. The result of the SciHack could also be, that the interface could not helpful for provides collaborative challenge. The contribution to the result is in this report with scientific evidence, why this interface is not helpful and might be excluded from further consideration in the Hackathon
   * Generation of SciHack tiny dictionary for used terminology, because different disciplines use the terminology with different definitions (e.g. the term Resillience). It is regarded in SciHack that interface work in the SciHack work if they have a joint language to communicate and represent the interface results in the modelling enviroment of the scientific hackathon.
* The SciHack event starts typically start with one or more presentations about the challenge and the area of application of SciHack modelling environment.
* (Brainstorming) Then participants suggest ideas and form teams, based on individual interests, skills and willingness to integrate their own contribution into a common goal.
* (Speed Interfacing) Speed Interfacing is a formalized matchmaking process which has the purpose of check possible interfaces between participants of a SciHack to meet large numbers of new potential collaborators in a very short period of time. The concept is derived from Speed Dating and it allows to get a broad overview of participants and allows participants to approach other participants of SciHack later on during the SciHack.
* (Project Management) Like in other larger projects some results of the team are dependent on other results and the interfaces must be defined in the early phase of the SciHack. Furthermore a project management tool is used, that allow other team members to be informed about results and interface definition, other teams are dependent on (see also Agile Software Development)
* (Prototype Development) Then the main work of the SciHack that combines intergation of scientific evidence for the work and the implementation of modules for the collaboratively developed modelling environment.
* (Duration) Depending on the task of the challenge, the SciHack could last from several hours to several days. The short SciHacks are used to get first experiences in Systems Thinking and collaborative interdisciplary problem solving. The main learning objective is to understand the requirements and constraints of SciHack approach. The longer ones incorporate participants with a higher scientific experience and a basic comprehension how a SciHack works and how and individual work in team for a collaboratively defined goal.
* (Presentation of Results) A SciHack contains at least one presentation of results at the end of H Scientific Hackathons. Depending on the duration, a series of demonstrations in which each group presents their results can be assigned at other relevant milesstones for the deliverables of the joint modelling environment. To capture the great ideas from groups and their presentation as work-in-progress could trigger other teams as well to incorporate these new ideas in their development agenda and use the deliverable of others groups as component in their own group for sub goals. Asynchronous presentation are helpful for team member of the Scientific Hackathon, because some groups might find the contribution valuable in later phase of their own work in the future and not during the life demonstration of the group results. Asynchronous presentation of results can be performed e.g.
   * by posting a video of the demonstrations,
   * blog about results with screenshots and details,
   * share links and progress on social media,
    for a SciHack prior to start of the hackathon the organisers suggest a place for the open source code and generally make it possible for people to share, learn from and possibly build especially after the SciHack, because the SciHack can be reagrded as starting point for ongoing scientific collaboration in an interdisciplinary team. All team members should be able build on the ideas generated and initial work can be completed and optimized after the SciHack.
    The inital presentation of the SciHack challenges involves all expertise of participants and visualises the role of participants in a team. The role of the participant might shift during the SciHack due to findings, but in the beginning the System Analysis of the challenges defines together with the stakeholder analysis an initial role for all SciHack participants (e.g. why is a logistics expert, a mathematician, epidemiologist, ... part of the SciHack team)
* (Scientifc Team Building) Team building is basically dependent personal like and dislike of team members. On top of that the scientific expertise in the team should be complementary and the team should be able to contribute to the challenge of the SciHack, by intergration of multiplpe backgrounds of the participants. The short dictionary of scientific terminology should prepared before the SciHack and this leads to the requirement that the SciHack must be planned and accompanied by a stakeholder analysis of the participants. Otherwise the interfaces between team members require a long time of negotiation about wording and definition in different disciplines. The leads to a longer preparation of the SciHack for organisers and participants. This is a difference to a classical Hackathon that does not require a profile/stakeholder analysis for the participant. Open participation into a SciHack is possible, where new members can assign special tasks in a team that the organizers had not in mind before. At least a core of all teams in the SciHack need a mutual understanding of what the other team member can contribute.
* (KnitR) KnitR as a package of the statistic software R/RStudio can be used for dynamic reporting and evaluation of data, that are used for the decision making workflow. Dynamic reports in KnitR define the analysis of data and create a tangible product (PDF-document, HTML-document, presentation, ...) as decision support product based on the analysis of currently available (e.g. including the latest real-time monitoring data). The KnitR document with code is the hackathon part and the scientific analysis is incorporated in the code-chunks in the KnitR document in R-Markdown language.