owned this note changed 5 years ago
Published Linked with GitHub

Intermediate Python Programming

July 6-10, 2020
EMBL Bio-IT Project & de.NBI

Platform: Zoom - click here for meeting address

Zoom password is pymediate

This page: https://hackmd.io/gRM3ah2qSbmZ19IHPtwiww

Lead Instructors:
Wasiu Akanni, Renato Alves, Julian Bauer, Toby Hodges, Kimberly Meechan, Nikolaos Papadopoulos, Jelle Scholtalbers

This course takes a self-directed, team-based, instructor-supported, virtual approach. Learners will work collaboraively in teams of 3 to 4, with each person working through the lesson materials on their own computers at their own pace. Teammates will work together to understand the lesson materials and instructors will be available to provide guidance and answer questions when needed. For more details, see the learner guildelines below.

Table of contents

Schedule

Daily schedule (CEST)

09:00 Introduction (all days) and overview of challenges from yesterday (days 2-5)
09:30 Self-directed learning in small groups
10:45 Break
11:00 Self-directed learning in small groups
12:00 Daily debrief and feedback
12:30 End

Topics

Day Chapter
Day 1 Syntax Elements & Powerful Functions
Day 2 Working with Data (NumPy & pandas) 1
Day 3 Working with Data (NumPy & pandas) 2
Day 4 Parsing Command Line Arguments & Coding Style
Day 5 Catch-Up / Bring Your Own Data / Coding Challenges

System set up instructions

See this page

Course Material

Your lesson material is here.

Other resources:

[We'll populate this list throughout the week.]

Learner guildelines

How do we communicate?

We have three ways to communicate in this course:

  1. Zoom chat & screen sharing: this is how you will communicate with the others in your breakout room (your "teammates" or "roommates")
    Note: Your zoom chat will not be saved.
  2. Slack (link) this is a dedicated channel for this course. Here, you can ask instructors to join your breakout room to provide help. Course-wide discussion will also occur here.
  3. HackMD (this current page): here you get all the course info, relevant links etc.

(There is an 'ask for help' button in Zoom, but this is easy for us to miss, so please use the Slack channel)

I'm in my breakout room. Now what?

  1. Greet your teammates and do the team establishment tasks
  2. Open Jupyter Lab/Notebook, or your favourite other interactive development environment (IDE). If you have set-up issues, ask for help in the Slack.
  3. Open the relevant webpages.
  4. Start reading the lesson materials.
  5. When you see code, type it into your IDE and run it (Try to avoid copy/pasting. By re-typing the code you'll be reinforcing your learning.)
  6. When you see a "Challenge" section, try to figure out the answer before checking the solution
  7. If you have a question or get an error
    a. First, ask your teammates. Un-mute yourself or type in the chat to ask if anyone has reached the same point in the material you have.
    • If yes, either explain your problem vocally or share your screen to get help. This will also help your teammates! Explaing or answering questions is a great way to solidify understanding.
    • If you're ahead of your teammates and stuck, post in the Slack to get help from an instructor.
      b. If your team cannot answer the question, have one teammate post in the Slack that you would like help. An instructor will join your room and work out the problem with you all as a team (or individually if appropriate).

We expect you will all have errors and questions - this is a staple of programming :) Take advantage of this session format and ask for help early and often from your teammates and the instructors.

Team establishment task

Icebreaker? What's an "icebreaker"? No, no, this is definitely not an "icebreaker" ;)

Take turns in your team, beginning alphabetically by first name, to each do the following:

  1. Turn on your microphone and say hello
  2. Turn on your camera and wave hello (optional)
  3. Share your screen (not optional - making sure this works is necessary for later)
  4. Tell your teammates
    • Your name
    • Your lab, group or other affiliation
    • Where you are right now
  5. Answer one of the following:
    • Approximately how many tabs do you have open in your internet browser? How does this make you feel?
    • What’s a recent great TV show or movie you watched?
    • What’s your favourite sandwich and why?
  6. Pick the next person to introduce themselves

[slack][slack]
[link text][reference]

Select a repo