Module 1

Syllabus | Module 1

Recordings

Recordings from each session will be made available as soon as possible following the close of the session (generally within 24 hours). You can find links to recordings below. The home directory where the recordings are hosted is available here. Cohort 4 recordings will be added below as they become available.

Day 1 | Tuesday, October 15, 2024

Course Introduction (45 min)

0900-0945 October 15, 2024

Content

|

Word

|

PDF

|

Zoom

  • Welcome
  • Introductions
  • What is Data Science?
  • What is Earth System Data Science in the Cloud?
  • Course Goals and Objectives
  • Module Goals and Objectives
  • Course Logistics

Introduction to Command Line (60 min)

1000-1100 October 15, 2024

Content

|

Word

|

PDF

|

Zoom

|

Resources

  • What is Bash?
  • What is an Environment?
  • Navigating your Environment
  • Manipulating your Environment
  • Command Line Text Editors

Introduction to Python (60 min)

1100-1200 October 15, 2024

Content

|

Word

|

PDF

|

Zoom

  • Launching Python
  • Versions
  • Python as a Calculator
  • Variable Assignment
  • Beginning Data Structures

Lunch & Learn (60 min)

1200-1300 October 15, 2024

Zoom

  • Introductions
  • Personal Goals
  • Ask Me Anything

Meet your Programming Assistant (60 min)

1300-1400 October 15, 2024

Content

|

Word

|

PDF

|

Zoom

  • Intro to LLMs
  • Code Completion
  • Best Practices for Communicating:
    • Generation
    • Correction
    • Documentation
    • Translation

Day 2 | Wednesday October 16, 2024

Introduction to Git (60 min)

0900-1000 October 16, 2024

Content

|

Word

|

PDF

|

Zoom

|

Resources

  • Version Control
  • Git Architecture
  • Add, Commit, Push

Leveraging LLMs (60 min)

1000-1100 October 16, 2024

Content

|

Word

|

PDF

|

Zoom

  • Large Language Model (LLM) Landscape
  • Accessing and using LLMs
  • Learning with and from LLMs
  • Prompt Engineering

Learning about Learning (30 min)

1100-1130 October 16, 2024

Content

|

Word

|

PDF

|

Zoom

How do we learn programming languages?

  • Read, Evaluate, Print, and Loop (REPL)
  • Iteration
  • Random Contextual Interference
  • Programming Assistants

Programming in Python (30min)

1130-1200 October 16, 2024

Content

|

Word

|

PDF

|

Zoom

  • Leveraging REPL for fast iteration
  • Best Practices for Script Construction
  • Comments and In-line Documentation
  • Beginnings of Workflow Management

Lunch & Learn (60 min)

1200-1300 October 16, 2024

Zoom

  • Progress Check-In
  • Questions

Fundamentals of Computing (60 min)

1300-1400 October 16, 2024

Content

|

Word

|

PDF

|

Zoom

  • What is a programming language?
    • Types of Programming languages
    • Compiled and Scripted
      • Interpreters
    • Advantages and Disadvantages
    • The Programming Language Landscape
  • What is a Computer?
    • Storage
    • Memory (RAM)
    • Compute
    • Networking
  • Python
    • History
    • Advantages and Disadvantages
    • Parallelization (Thread Lock)
    • Support for Different Data Types
    • Support for Different Types of Analysis

Programming Paradigms (60 min)

1400-1500 October 16, 2024

Content

|

Word

|

PDF

|

Zoom

  • Objects
  • Functions!
  • Classes!
  • Object Oriented vs Functional Programming

Day 3 | Thursday, October 17, 2024

Collaborative Git (30 min)

0900-1030 October 17, 2024

Content

|

Word

|

PDF

|

Zoom

  • GitLab & Git
  • Cloning, pulling, and pushing
  • Branching, Merging, and Issues
  • Communication & Project Structure

Data Types | Python (30 min)

1030-1100 October 17, 2024

Content

|

Word

|

PDF

|

Zoom

  • Scalars
  • Vectors
  • Arrays/Matrices
  • Data Frames
  • Indexing

Dependency Management in Python (60 min)

1100-1200 October 17, 2024

Content

|

Word

|

PDF

|

Zoom

  • Install Libraries/Packages
  • Importing Libraries/Packages
  • Managing Libraries/Packages
  • Environment Management
  • Python Library Ecosystem

Lunch & Learn (60 min)

1200-1300 October 17, 2024

Zoom

  • Bonus Session: Why Scientists say what they do....

Control Structures (60 min)

1300-1400 October 17, 2024

Content

|

Word

|

PDF

|

Zoom

  • Loops
  • If/Then
  • Case
  • Try/Except
  • Decorators

Introduction to Production Machine Learning (60 min)

1400-1500 October 17, 2024

Content

|

Word

|

PDF

|

Zoom

  • Models
  • APIs
  • Deployment

Day 4 | Friday, October 18, 2024

Intro to Data Viz in Python (60 min)

0900-1000 October 18, 2024

Content

|

Word

|

PDF

|

Zoom

  • Plotting Libraries
  • Introduction to MatPlotLib
  • Saving Figures

Team Kickoff (30 min)

1000-1030 October 18, 2024

Content

|

Word

|

PDF

|

Zoom

  • Introductions
  • Research Theme Definition
  • Personal and Project goals

Working in Teams (60 min)

1030-1130 October 18, 2024

Content

|

Word

|

PDF

|

Zoom

  • Communication
  • Organization
  • Roles
  • ESDS Team Projects

Beginning a Project (30 min)

1130-1200 October 18, 2024

Content

|

Word

|

PDF

|

Zoom

  • Defining a Project
  • Choosing a Language
  • Finding Data
  • Accessing Data
  • Introduction to Data Formats

Lunch & Learn (60 min)

1200-1300 October 18, 2024

Zoom

  • Team Project Discussion

Closing Team Exercise (60 min)

1300-1400 October 18, 2024

Content

|

Word

|

PDF

|

Zoom

  • Closing Exercise
  • Module Wrap Up
  • Next Steps
Previous
Overview