Coffee and Code: Basics of Programming with Python

Key Info
Description - a brief synopsis, abstract or summary of what the learning resource is about: 

This collection of materials was developed for the University of New Mexico Libraries' Code & Coffee workshop series to provide a high-level introduction to programming concepts illustrated with the Python programming language. The workshop content is contained in a collection of Jupyter Notebooks:

Conceptual Overview: Programming Concepts.ipynb
Surname analysis example: Name_Data.ipynb
Library shelf space analysis example: Space Analysis.ipynb
IR Keywords Versus IR "Aboutness" example [no longer functional due to decommissioning of UNM DSpace instance]: IR Keywords Versus IR "Aboutness".ipynb

Why learn the basic principles of programming?¶

Thinking algorithmically (a key element in the process used in developing programming solutions) is a powerful problem solving skill that is reinforeced with practice. Practicing programming is great practice.

  • Defining a problem with sufficient specificity that a solution can be effectively developed
  • Defining what the end-product of the process should be
  • Breaking a problem down into smaller components that interact with each other
  • Identifying the objects/data and actions that are needed to meet the requirements of each component
  • Linking components together to solve the defined problem
  • Identifying potential expansion points to reuse the developed capacity for solving related problems
  • Capabilities to streamline and automate routine processes through scripting are ubiquitous
  • Query languages built into existing tools (e.g. Excel, ArcGIS, Word)
  • Specialized languages for specific tasks (e.g. R, Pandoc template language, PHP)
  • General purpose languages for solving many problems (e.g. Bash shell, Perl, Python, C#)
  • Repeatabilty with documentation
  • Scalability
  • Portability
Authoring Person(s) Name: 
Karl Benedict
Authoring Organization(s) Name: 
University of New Mexico Research Data Services
License - link to legal statement specifying the copyright status of the learning resource: 
Apache-2.0
Access Cost: 
No fee
Primary language(s) in which the learning resource was originally published or made available: 
English
More info about
Keywords - short phrases describing what the learning resource is about: 
Data coding
Data handling
Electronic lab notebook (ELN)
Programming
Python
Published / Broadcast: 
Thursday, September 7, 2017
Created: 
Thursday, September 7, 2017
Publisher - organization credited with publishing or broadcasting the learning resource: 
University of New Mexico Research Data Services
Media Type - designation of the form in which the content of the learning resource is represented, e.g., moving image: 
Interactive Resource - requires a user to take action or make a request in order for the content to be understood, executed or experienced.
Contact Person(s): 
Karl Benedict
Contact Organization(s): 
University of New Mexico Research Data Services
Educational Info
Purpose - primary educational reason for which the learning resource was created: 
Instruction - detailed information about aspects or processes related to data management.
Learning Resource Type - category of the learning resource from the point of view of a professional educator: 
Learning Activity - guided or unguided activity engaged in by a learner to acquire skills, concepts, or knowledge that may or may not be defined by a lesson. Examples: data exercises, data recipes.
Target Audience - intended audience for which the learning resource was created: 
Citizen scientist
Graduate student
High school student
Librarian
Undergraduate student
Intended time to complete - approximate amount of time the average student will take to complete the learning resource: 
More than 1 hour (but less than 1 day)