Giter Club home page Giter Club logo

library-python's Introduction

Library Carpentry

The Library Carpentry module 'Python for Librarians' is maintained by by Carlos Martinez and Richard Vankoningsveld.

Background

Library Carpentry is a software skills training programme aimed at library and information professions. It builds on the work of Software Carpentry and Data Carpentry.

Library Carpentry is in the commons and for the commons. It is not tied to any institution of person. For more information on Library Carpentry, see our website librarycarpentry.github.io.

Contribution

There are many ways of contributing to Library Carpentry:

Code of Conduct

All participants should agree to abide by the Software Carpentry Code of Conduct.

Authors

Library Carpentry is authored and maintained by the community.

Citation

Please cite as:

Library Carpentry. Python for Librarians. June 2016. http://LibraryCarpentry.github.io/library-python/.

library-python's People

Contributors

aaren avatar abbycabs avatar abought avatar alex-konovalov avatar amyrhoda avatar arokem avatar bkatiemills avatar brendam avatar c-martinez avatar callaghanmt avatar christinalk avatar cmacdonell avatar evanwill avatar fmichonneau avatar histlib avatar iglpdc avatar jdblischak avatar jduckles avatar jpallen avatar mkuzak avatar naupaka avatar pbanaszkiewicz avatar petebachant avatar pipitone avatar rgaiacs avatar synesthesiam avatar tbekolay avatar twitwi avatar willingc avatar wking avatar

Stargazers

 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

library-python's Issues

Update index.md

Still the default lesson template one, needs to be for this lesson.

Reworking Python Lesson for the 2017 Mozilla Global Sprint

Coordinated by @richyvk

Further to the general Library Carpentry issue 'Mozilla Global Sprint 2017, 1-2 June 2017' LibraryCarpentry/librarycarpentry.github.io#23

On 11 April @c-martinez @mkuzak @jezcope @ostephens @weaverbel & @drjwbaker met to discuss reworking the Python lesson during the 2017 Mozilla Global Sprint in light of recent teaching experience (eg at the Sheffield workshop).

Broadly speaking we agreed that:

  • The lesson should be an introduction to using Python in a library context.
  • The core learning outcome of the lesson is for librarians to leave a Library Carpentry Python workshop feeling that programming is achievable for them and relevant to their work.
  • The lesson must be based around a compelling example (or examples) where a library specific problems is solved with Python
  • In order to demonstrate that we are trying to ensure the lesson is relevant to as many librarians are possible, the example(s) should use bibliographic data.
  • The lesson must explain features of Python through examples of using Python to solve library specific problems, rather than explain Python features then give an example of their possible use to librarians.
  • The lesson should focus on a small number of small and powerful Python features (loops, functions, variables, lists, dictionaries).
  • Lesson development should keep in mind what could be taught in an advanced lesson even if we do not develop one, so that we can ensure we stick to the basics.
  • Lesson development will evaluate using Spyder as the learning environment for the lesson (in place of the shell).

We need someone to agree to take a lead on this work during the Sprint (taken by @richyvk), to recruit a team, and to develop a workplan. If you are willing and able to do this, please indicate so below.

Handout

This lesson might benefit from making a handout of reference materials.

To do this add detail of commands/terminology under the keypoints headers for each lesson: for example, https://github.com/data-lessons/library-data-intro/blob/gh-pages/_episodes/04-regular-expressions.md. This effectively then builds a handout at - for example http://data-lessons.github.io/library-data-intro/reference/ - which can be printed out in advance of the session (librarians love handouts!)

Make sure you make a note of this in your Instructor Notes #46

Add authors to AUTHORS file

We now have a workflow for releasing citable versions of our lessons (with DOIs) every 6 months via Zenodo. This makes our more discoverable and sustainable and ensures that everyone involved gets the credit they deserve. For more on this work see data-lessons/librarycarpentry#5

In order to make this happen we need to make one crucial change: all AUTHORS files need to change so that they list names of contributors in the following format:

James Allen
James Baker
Piotr Banaszkiewicz
Erin Becker

@jt14den will run a script that that strips names from lesson logs and edit AUTHORS across all Library Carpentry repos.

When this is actioned (hopefully, soon!), lesson maintainers are asked to eyeball the AUTHORS file to see if anyone obvious is missing (for example, people who contributed to discussions but didn't edit any lessons). Note: template developers are credited in this process; this is in line with Software Carpentry best practice.

In the future, lesson maintainers are encouraged to ensure that those who contribute to lessons are added manually to AUTHORS files (encourage contributors to do it so they see where and how we give credit!)

Episodes need teaching and exercise metadata set

make lesson-check is giving errors on the episodes because during development they have been set to ?? instead of int minutes. Once episodes are ready we need to replace these with estimates of teaching time for each episode.

lesson 00 - intro - comments

Have done a bit of a review of the first lesson. Some thoughts:

  • line 27 - Supports multiple programming paradigms - what does this mean?
  • line 32 - Python is an interpreted language - I think this might need to be explained a bit more too
  • line 82 - The variable called text is a string which means it can contain letters and numbers - add 'as text characters?' or something like that.
  • line 122+ operators section - do we need examples for each? Only have some currently. Particularly the comparisons, like != etc
  • line 184 - Each element can be accessed by an index: - Add 'starting at 0 for the first element' or similar.
  • line 211 - indentation - should we say the accepted standard is to indent by 4 spaces?
  • line 245 - Change "We can also access a list of methods using dir" to "We can also access a list of methods available to an object using dir"
  • line 291 - What is the object type? - I wonder if this section could be moved up, or maybe good to have a small section on objects generally - not specific to tuples.
  • line 316 - Keys can only have particular types - they have to be "hashable" - wondering if there's a simpler way of defining keys for a beginner (e.g. "Strings or numbers are the most common") - or explain what hashable means.
  • Dictionary section exmples - I'm wondering if rev is the best example to use - simply because the keys are integers, this might confuse people into thinking they're using positions to retreive values, like with lists. I think the translation dict used first is a better option for all examples.
  • line 425 - A function allows you to group code together for reuse and readability. - Do we need readability - a function can still be hard to read, right?

Episode 02-index-slice-subset

I'm not sure what the second last challenge is meant to do:

Create a new DataFrame that only contains observations with Language values that are English or French. Assign each language value in the new DataFrame to a new value of x. Determine the number of null values in the subset.

What does "Assign each language value in the new DataFrame to a new value of x" mean?

episode 01 - articles_df.__class__

Is it useful to show the alternative way of accessing the type here? Not sure how it fits into the lesson.

type(articles_df)
# this does the same thing as the above!
articles_df.__class__

ISSN field has multiple values

In 01-starting-with-data we work with the ISSN field as if it has single values, but some of the items have multiple values separated by | - so the numbers we are getting will not be correct. This is shown in the output in "Did you get #3 right?"

Perhaps this is cleaned up in a later lesson?

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.