1. Pair with a neighbor and decide who will take notes (or depending on the amount of time available for the exercise, skip to forming groups of four to six).
    2. Talk for three minutes (your instructor will be timing you!) on any terms, phrases, or ideas around code or software development in libraries that you’ve come across and perhaps feel you should know better.
    3. Next, get into groups of four to six.
    4. Make a list of all the problematic terms, phrases, and ideas each pair came up with. Retain duplicates.
    5. Identify common words as a starting point - spend 10 minutes working together to try to explain what the terms, phrases, or ideas on your list mean.  Note: use both each other and the internet as a resource.
    6. Identify the terms your groups were able to explain as well as those you are still struggling with.
    7. Each group then reports back on one issue resolved by their group and one issue not resolved by their group.
    8. The instructor will collate these on a whiteboard and facilitate a discussion about what we will cover today and where you can go for help on those things we won’t cover. Any jargon or terms that will not be covered specifically are good notes.
Git and Git/Hub
github.com #sign in or sign up for an account
#create an organization #or you can skip to 'Create a repository'
#to create a new repository follow the below steps
#Collaborate and share materials
#Host a webpage
Settings
(on left side), see 'code and automation  
Return to the repository main page. Choose 'Code" you will see '1 branch'
see 
https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site

Select 'ReadMe.md' #uses markdown language https://www.markdownguide.org/cheat-sheet
#the hastag allows for comments in the ReadMe file
#Type the folliowing indented text as shown in the READMe file:
See the green button to the right -> Select 'commit changes' #you can also preview
in the 'extended description' box include details on adds/edits i.e 'add linux commands' #as a note for your changes
Click on repository name at top #takes you back to the main repository

# Collaborate with instructor (or owner of respository) by forking and making pull requests
Choose 'Improve this page' #bottom right of page to make edits to owners ReadMe
Choose AUC23 repository #this 
Choose 'fork' button on top of page #copy of someone's repository to contribute to their work
Click on 'Create fork' #this forks (copys) to the instructor's or workshop attendee's repository

#Back on your page
Choose 'main' from the pull-down menu
Create a branch #as an FYI there are two types of branches
#Collaborate with the owner through a pull request 
Click 'ReadMe' #edits the owner's file
Click on the pencil symbol

See the green button to the right ->  'commit changes' #you can preview adds/edits
In the 'extended description' box include include details on edits 'added new linux commands' #as a note for your changes
To go back to the main repository, Click on repository name
Click 'Compare and pull request' #this opens a new pull request
Select 'Create pull request' #this will send in a request to the owner of the document 

#As the owner of the document, now others who have collaborated with you on your project have sent a pull request
#From owner's respository - can see the forks
Select "Forks' from the top right menu
#can review changes from others edit
#can go to the conversation and comment to the contributor (sending a thank you is a positive response)
'Merge pull request'
Select '<> Code' (top left of the menu) #can see the new commands have been added to the owner's document

https://librarycarpentry.org/lc-git/05-github-pages.html

What can you use a GitHub pages site for

#Next exercise: Learning how to execute these commands from the "Command" line
#Move over to the Terminal/UNIX Shell 
$ cd .. #go up a directory on Desktop (OR the previous level to your shell-lesson folder OR stay or your Desktop)
$ mkdir git #make directory called git
$ ls 
$cd git #go into the git directory
#set up git repository
$git config --list
$git config --global user.name "     "
$git config --global user.email "      "
$git config --list

$mkdir bash_script #create a directory called bash_script
$cd bash_script 
$git init 
$ls
$ls -a #look for everything in directory, you'll see the git
$ls .git
$nano loops.sh #creates a .sh file called loops

#|/bin/bash #using bash as the interpreter, type the following indented text:
CTRL O
CTRL X #exits 

$git log #loops.sh is not there yet
$git add loops.sh
$git log #not there
$git status #created but not committed
$git commit -m "add loops example"
$git log #has history of what is present

#possible solution for MAC users getting Xcode errors (i.e. invalid active developer path solution 
https://careerkarma.com/blog/python-nameerror-name-xrange-is-not-defined/#:~:text=Conclusion-,The%20xcrun%3A%20error%3A%20invalid%20active%20developer%20path%20(%2FLibrary%2F,install%20and%20install%20Xcode%20Tools

https://developer.apple.com/xcode/resources/


------
One up: I like the notes - easy to follow 
One down: provide additional resources for other operating systems (for Mac users, Linux).
One Up One Down:
One Up: Learned how to use GIT to collaborate

One Up: I was able to set up my github, fork, and pull a request

One Down: Future workshops should record 

One up: having access to the etherpad/instructions in real time, made it easy to follow along and set up my exercises.
One down: It would be nice to have access to recorded lectures and activities for reference.

One down: I stupidly "update" mac right before workshop started, it took 40 minutes to reboot. Had to rush using another laptop to sign-up for the workshop
One up: learned quite some from this workshop, and enjoyed!

One up : I learned alot about using the terminal because this is my first time using it. Also I enjoyed the interactive EtherPad
One Down: Because I am not familiar with the coding commands I may move a little slower than the presenter. 

One Up: Learned how to make a repository
One Down: Moving too fast with explinations

DAY 1 Summary



Unix Shell Commands



ls
mkdir
pwd
cp
mv
rm
head
tail
do
done
wc
cat
nano
echo

Git and GitHub



Further Resources


https://ale.org/
https://www.meetup.com/ALE-Atlanta-Linux-Enthusiasts/


Day 2


OpenRefine Lesson
https://librarycarpentry.org/lc-open-refine/index.html
https://librarycarpentry.org/lc-open-refine/data/doaj-article-sample.csv

basic overview of joining projects in OpenRefine from the Univ. of Illinois: https://guides.library.illinois.edu/openrefine/joiningprojects
grel resource: https://openrefine.org/docs/manual/grel
Add'l resources from our workshop materials: https://librarycarpentry.org/lc-open-refine/#getting-help


$git commit
[main (root-commit) 2e6ef11] Add initial file index.md
An interesting open source project, Repository (GitHub/Gitee/GitLab/SourceHut/BitBucket etc)

Day 2: SQL Lesson Materials
https://sqlitebrowser.org/dl/
https://zenodo.org/record/2822005
About Zenodo as a resource for making files, data, and research open, findable, and sharable: https://about.zenodo.org/

Resource that discusses the various flavors of SQL: 
https://medium.com/the-everything-blog/sql-vendors-e31e417db7c2

SQL 1
SELECT title
FROM articles; 


SELECT Title, Authors, ISSNs, Year, DOI
FROM articles; 

SELECT *
FROM articles; 

SELECT DISTINCT ISSNs
FROM articles; 

SELECT DISTINCT ISSNs
FROM journals; 

SELECT DISTINCT ISSNs, Day, Month, Year
FROM articles; 

SELECT *
FROM articles
ORDER BY ISSNs ASC; 

SELECT DISTINCT *
FROM articles
ORDER BY ISSNs ASC;

SELECT *
FROM articles
ORDER BY ISSNs DESC, First_Author ASC;

SELECT *
FROM articles
WHERE ISSNs='2056-9890'; 

SELECT *
FROM articles
WHERE (ISSNs='2056-9890') AND (Month>10); 

SELECT *
FROM articles
WHERE (ISSNs='2076-0787') OR (ISSNs='2077-144'); 

SELECT *
FROM articles
WHERE Subjects LIKE '%Crystal Structures%'; 

SELECT *
FROM articles
WHERE (ISSNs = '2076-0787') OR (ISSNs = '2077-1444')
OR (ISSNs='2067-2764|2247-6202');

SELECT *
FROM articles
WHERE (ISSNs = '2076-0787') OR (ISSNs='2077-1444'); 

/* This is a block comment 
for another example which spans multiple lines*/

-- Comments on a single link can make use of just two dashes
SELECT articles.Title, articles.First_Author, 
journals.Journal_Title, publishers.Publisher
-- from the first TABLE
FROM articles
-- join it with the second TABLE
JOIN journals
-- First we have the fields we want to display
SELECT *
--from the first TABLE
FROM articles
--join it with the second TABLE
JOIN journals

/* Aggregation */
SELECT ISSNs, AVG(Citation_Count)
FROM articles
GROUP BY ISSNs; 

SELECT ISSNs, AVG(Citation_Count)
FROM articles
GROUP BY ISSNs
ORDER BY AVG(Citation_Count) DESC; 

SELECT ISSNs, AVG(Citation_Count)
FROM articles
GROUP BY ISSNs
HAVING count(Title) >=10
ORDER BY AVG(Citation_Count) DESC; 

/* Save a Query */
CREATE VIEW journal_counts AS 
SELECT ISSNs, COUNT(*)
FROM articles
GROUP BY ISSNs; 

SELECT * 
FROM journal_counts; 

DROP VIEW journal_counts; 

/* Create a database table */
CREATE TABLE journals2(id text, ISSN-L text, ISSNs text, 
PublisherId text, Journal_Title text); 

CREATE TABLE journals2(id text, ISSNs text); 


We'd appreciate you all to complete the post-workshop survey which provides us useful feedback for future workshops!
https://carpentries.typeform.com/to/UgVdRQ?slug=2023-06-20-aucenter-online