Day 1 Clojure Bootcamp for Open Source

First Look at Clojure

View this workshop's notes in mindmap form at our Day 1 Coggle mindmap link

Do today's coding activity: *Please (1) run each cell of, and (2) thoroughly read, the Intro to Clojure coding notebook at https://www.maria.cloud/cb-intro

*by Wednesday afternoon, so you don't fall too far behind

Read the recommended reading for review: https://clojurebridge-berlin.org/curriculum/#/1

Welcome to Day 1!

Today we will:

  • introduce ourselves to each other (not recorded) [10 min]

  • introduce the instructor [1 min]

  • overview this week's content [5 min]

  • explore together writing in Clojure for the first time [30 min]

  • learn some relevant vocabulary [10 min]

  • NEXT TIME: brainstorm ways to learn effectively [5 min]

  • take any remaining questions and chat [1 hour]

Plus, an hour of spillover time for questions, practice, and chatting after class.

Overview

Day 1: First look at Clojure by using maria.cloud

Day 2: First look at Git by using GitHub to save & share files

Day 3: Second look at Clojure & installing Clojure locally

Day 4: Second look at Git & GitHub to contribute to Open Source

Day 5: Final Project, Presentations, and Final Bootcamp Review

First look at Clojure

Starting Questions

  • 1. What languages have you learned before?

  • 2. What do you think will make this bootcamp challenging for you?

  • 3. Is there any way you can help make this bootcamp a better experience for you, your cohort, or future cohorts?

  • 4. What is Open Source?

    • Examples of Open Source software:

      • Linux Operating System Kernel

      • Athens Research

      • Your example here 😄

    • Qualities of Open Source:

      • free (no monetary cost) to download

      • the code is available for viewing, modifying, downloading, etc.

      • can be a public good

      • can be "fully" or "partially open source"

      • power structures may be transparent, open, and collaborative, a combination, or none of the above

Future Questions to Consider

  • 1. What is code exactly?

  • 2. How does code "do" things, and what is this "doing" called?

  • 3. Where does code live?

  • 4. Where does code do its "work"? (see #2 "doing")

  • 5. What is data?

  • 6. What are the consequences / implications of Open Source? How might these help humanity / civilization / well-being?

New Questions

  • What will we be learning in the course of this bootcamp?

    A: Clojure, Git, GitHub, how to contribute to Open Source, and more.

Extra Resources

Bonus sneak peak "how to make custom functions" for Wednesday's workshop: https://replit.com/@avidrucker/MistyroseGratefulMultitasking#main.clj

Avi's Next To-Do's

  • Add all relevant links to this Nextjournal document

  • Ask everyone to try and finish the maria.cloud "ClojureBridge" exercise coding notebook

  • Have subtitles added to the three workshop recordings

    • Upload workshop #1 recordings to YouTube playlist

      • Share playlist with attendees

  • Add any missing definitions to the Coggle mindmap

  • Share some cool things made with Clojure, such as:

Rooms For Improvement

  • Cover content before the workshop begins, to give context

  • Create an agenda to stay on track with time & order of events

  • Ask someone to help each session to facilitate timely progression of agenda

  • Do a recap of the previous day [5 min]

    • This is what we did yesterday

    • This is what we'll do today, and why

      • Store our code on GitHub...

      • ... so we can share

    • What is Open Source? (b/c this is a main focus of the bootcamp)

    • What is Coggle? What is a mindmap? (assume that people haven't seen these technologies before)

  • What is the difference between replit.com and "the REPL" ?