Giter Site home page Giter Site logo

python-for-everything's Introduction

Python for Everything

=========================

This repository holds all of the necessary materials, code, and data for D-Lab's complete introduction to the Python Language.

If you are a student

You can download the contents of this repository with:

git clone https://github.com/dlab-berkeley/python-for-everything.git

or, by clicking the "Download Zip" button and then extracting the .zip file.

The instructor of this workshop series will lead you through the activities for each day.

For more Python resources, visit python.berkeley.edu.

If you are a D-Lab instructor

You'll see accumulated teaching notes and examples for each day's topics in the instructor folder. For your convenience, these are available as Jupyter notebooks, commented python files, and pdfs.

Note : like Python, class days are zero-indexed

For information on contributing to this repository, see CONTRIBUTING.md

If you are a D-Lab facilitator

The standard Drupal workshop descriptions and facetweet postings for this workshop series are in PUBLICITY.md

Description

  • challenges/ : pytest challenges for each day of the series
  • data/ : data necessary for interactive coding examples
  • etc/ : examples of cron, cron.d, and credentials files
  • instructor/ : teaching notes
  • scripts/
    • generate_tables.py : for generating random tabular data
    • regenerate_documents.sh : for regenerating .py and .pdf files from .ipynb
    • simple.py : sample python script used in Day 0
    • twitter_bot.py : sample python script used in Day 2

D-Lab == Data Intensive Social Science, For All!

python-for-everything's People

Contributors

akokai avatar andrewqchong avatar cindeem avatar davclark avatar deniederhut avatar erthward avatar henchc avatar ivanov avatar juanshishido avatar rochelleterman avatar takluyver avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

python-for-everything's Issues

Day 02 Challenge A (HTML): Unit test assertion error

For the HTML parsing challenge, the unit test test_header() has a problematic assertion in this line.

  • The length of a string joining all those HTML tags is 90, not 17 (see this gist). Instead, 17 is the length of the list of tags before joining as a string.
  • The variable that the unit test looks for is named slightly differently from the challenge ('head' versus 'header').

Solution:

  • Change the assertion to == 90 (or change the challenge to ask for a list instead of a string).
  • Name both variables the same thing.

Reconsider IDE

Please vote with a comment below -- here are your choices:

  • Spyder
  • Jupyter

Challenge modifications

  • Simplify challenges into more, smaller tasks
  • Add more exposition at top
  • Add more inline comments explaining keywords and control structures

Rearrange materials into five days of instruction

Day 0

Fundamentally unchanged

Day 1

Data structures
Loops
File i/o

Day 2

Http requests
Html
Conditionals
Exceptions

Day 3

APIs
Tabular data
Statistics
Plotting

Day 4

Regular expressions
Text data
Topics / sentiment

Day 2 challenges: wrong modules referenced in unit tests

When the order of the challenges was switched from (A_html, B_try) to (A_try, B_html), the corresponding import statements in the unit tests were not changed. For example, it still says import B_try as B. The unit tests won't run without updating this.

TTC suggestions and mandatory markers in instructor notes

The time spent on any particular major topic in a day's worth of lessons can vary by a factor of 4 from instructor to instructor, and some instructors choose not to cover certain topics at all. This causes problems when knowledge necessary for future days in the course are not covered, either due to purposive omission or time constraints. It may help to have a list of required topics to be covered at the top of each day, with suggested times to completion at the top of each topic.

Instruction Format

Hi all,

Apologies if this has already been discussed and I didn't take notice. I'm trying to prepare for teaching and need some guidelines to make it seamless for the students. Dillon, what are you planning for Day 0? Live coding with PyCharm? Are students cloning the github repo? Any guidance you have would be most appreciated.

Thanks, R

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.