1 folder structure 2 version control 3 git 4 markdown 2 - - PowerPoint PPT Presentation

1
SMART_READER_LITE
LIVE PREVIEW

1 folder structure 2 version control 3 git 4 markdown 2 - - PowerPoint PPT Presentation

E xperimental P sychology L ab P ractice tidy cooperation todays topics 1 folder structure 2 version control 3 git 4 markdown 2 Folder structure ::: how not to manually produced version history clutter no conceptual structure


slide-1
SLIDE 1

Experimental Psychology Lab Practice

tidy cooperation

slide-2
SLIDE 2

2

today’s topics

1 2 3 4

folder structure version control git markdown

slide-3
SLIDE 3

Folder structure ::: how not to

3

manually produced version history → clutter no conceptual structure → big brown soup of paper, experiments, posters, notes, code snippets etc.

Symptomatic for a meandering project w/o clear plan or focus. abandon restart

slide-4
SLIDE 4

4

Folder structure ::: Minimal TEMPLATE

4

usually you want to include: analyses

[scripts to process, visualize and analyze data]

data

[raw and preprocessed data from all experiments]

experiments

[everything relevant to understanding & reproducing the experiments]

notes

[internal bookkeeping, notes from meetings, thoughts etc.]

writing

[for the final write-up, term paper, report, publication etc.]

slide-5
SLIDE 5

5

Folder structure ::: extensive TEMPLATE

5

maybe also include: code posters presentations whateverelsemakessense

[for simulations, cognitive models beyond statistical analyses]

README.md

[in every relevant folder to describe what is in which files]

slide-6
SLIDE 6

Version control ::: WHY

6

keep a record of every past state of your work compare versions and track changes easily back up all files in the process try out ideas without cluttering or damaging working code collaborate using issue tracking and automatic merges

slide-7
SLIDE 7

7

different types of version control systems local central distributed

slide-8
SLIDE 8

8

different types of version control systems Δ-based system snapshot system

slide-9
SLIDE 9

9

basic concepts & terminology

stage area (aka index): everything that is locally committed but not yet pushed tracked files: marked to be under VC ignores: file types excluded from VC pushing: upload local changes to server pulling: download changes from server commit: safe local changes locally unchanged changed staged committed = unchanged git add git commit edit file adding/staging: mark local changes as to be committed git pull local upstream git push

slide-10
SLIDE 10

10

cooperation with git

use log & diff to know what

  • thers did

forks are unofficial copies, can be merged after a pull request

slide-11
SLIDE 11

11

everything’s not lost

unless forced violently, git does not forget any information that it was given you do not lose information never upload sensitive information to a public repository

slide-12
SLIDE 12

12

basic workflow

https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf

slide-13
SLIDE 13

13

basic workflow

https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf

slide-14
SLIDE 14

14

basic workflow

https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf

slide-15
SLIDE 15

15

basic workflow

https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf

slide-16
SLIDE 16

16

basic workflow

https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf

slide-17
SLIDE 17

17

basic workflow

https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf

slide-18
SLIDE 18

18

basic workflow

https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf

slide-19
SLIDE 19

19

basic workflow

https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf

slide-20
SLIDE 20

20

basic workflow

https://services.github.com/on-demand/downloads/github-git-cheat-sheet.pdf

slide-21
SLIDE 21

21

safety regulations

slide-22
SLIDE 22

22

homework for next class

1. work in pairs (your next neighbor in class); last team may be a triple 2. create a new repository at GitHub (name it in whatever way makes sense to you) and make all of your team a collaborator 3. change the README.md to truthfully represent what this repository is (your first class project) 4. familiarize yourself with HTML/CSS/JS, e.g., using the suggestions provided at https://babe-project.github.io/babe_site/getting-started/introduction.html 5. create a website that uses all of HTML/CSS/JS to do/show whatever meets your fancy (e.g., display “Hello, ____!” on screen, with a text box to insert a string, which then shows up instead of ____ ) 6. publish your website using GitHub Pages