Posts Tagged ‘code. programming’

Beginning Git & GitHub

The session will include practical, hands-on instruction for version control and collaboration in Git, as well as experience building a simple & free website on GitHub!

Beginning Git & GitHub

Friday, June 21  12:00 PM – 4:00 PM  Registration and logisitics 

Work smarter, collaborate faster and share code or other files with the library community using the popular version control system Git. Featuring a mix of git fundamentals and hands-on exercises, participants learn the basics of Git, learn how to use key commands, and how to use GitHub to their advantage, including sharing their own work and building upon the projects of others.

Git is a tool (technically, a version control system) that allows you to easily track changes in your files, scripts, websites, or entire programs. You can run it on your own computer for your own projects, but Git also makes it easy to collaborate with others on shared projects – thus helpful to small teams, large organizations, and people coordinating on open source projects. Easier collaboration is not the only advantage to using Git: you can also easily test out changes and write new code without threatening your existing work. It is very popular – verging on a necessity – amongst coders.

GitHub is a website that allows you to easily host and manage the code for git-tracked projects. It simplifies collaboration among project contributors, and is especially helpful for open source projects where you don’t necessarily meet your fellow contributors in real life. GitHub is free if your code is open to the public.

Bring your laptop for an afternoon of hands on exploration!

More info about the class


Heather Klish | Senior Systems Librarian

TTS : Library Technology Services

Tufts University | 617.627.5853

coding ethics unpredictability

Franken-algorithms: the deadly consequences of unpredictable code

by  Thu 30 Aug 2018

Between the “dumb” fixed algorithms and true AI lies the problematic halfway house we’ve already entered with scarcely a thought and almost no debate, much less agreement as to aims, ethics, safety, best practice. If the algorithms around us are not yet intelligent, meaning able to independently say “that calculation/course of action doesn’t look right: I’ll do it again”, they are nonetheless starting to learn from their environments. And once an algorithm is learning, we no longer know to any degree of certainty what its rules and parameters are. At which point we can’t be certain of how it will interact with other algorithms, the physical world, or us. Where the “dumb” fixed algorithms – complex, opaque and inured to real time monitoring as they can be – are in principle predictable and interrogable, these ones are not. After a time in the wild, we no longer know what they are: they have the potential to become erratic. We might be tempted to call these “frankenalgos” – though Mary Shelley couldn’t have made this up.

Twenty years ago, George Dyson anticipated much of what is happening today in his classic book Darwin Among the Machines. The problem, he tells me, is that we’re building systems that are beyond our intellectual means to control. We believe that if a system is deterministic (acting according to fixed rules, this being the definition of an algorithm) it is predictable – and that what is predictable can be controlled. Both assumptions turn out to be wrong.“It’s proceeding on its own, in little bits and pieces,” he says. “What I was obsessed with 20 years ago that has completely taken over the world today are multicellular, metazoan digital organisms, the same way we see in biology, where you have all these pieces of code running on people’s iPhones, and collectively it acts like one multicellular organism.“There’s this old law called Ashby’s law that says a control system has to be as complex as the system it’s controlling, and we’re running into that at full speed now, with this huge push to build self-driving cars where the software has to have a complete model of everything, and almost by definition we’re not going to understand it. Because any model that we understand is gonna do the thing like run into a fire truck ’cause we forgot to put in the fire truck.”

Walsh believes this makes it more, not less, important that the public learn about programming, because the more alienated we become from it, the more it seems like magic beyond our ability to affect. When shown the definition of “algorithm” given earlier in this piece, he found it incomplete, commenting: “I would suggest the problem is that algorithm now means any large, complex decision making software system and the larger environment in which it is embedded, which makes them even more unpredictable.” A chilling thought indeed. Accordingly, he believes ethics to be the new frontier in tech, foreseeing “a golden age for philosophy” – a view with which Eugene Spafford of Purdue University, a cybersecurity expert, concurs. Where there are choices to be made, that’s where ethics comes in.

our existing system of tort law, which requires proof of intention or negligence, will need to be rethought. A dog is not held legally responsible for biting you; its owner might be, but only if the dog’s action is thought foreseeable.

model-based programming, in which machines do most of the coding work and are able to test as they go.

As we wait for a technological answer to the problem of soaring algorithmic entanglement, there are precautions we can take. Paul Wilmott, a British expert in quantitative analysis and vocal critic of high frequency trading on the stock market, wryly suggests “learning to shoot, make jam and knit

The venerable Association for Computing Machinery has updated its code of ethics along the lines of medicine’s Hippocratic oath, to instruct computing professionals to do no harm and consider the wider impacts of their work.

more on coding in this IMS blog

income-share agreements (ISAs)

income-share agreements (ISAs)

A new way to get people into coding

Want to learn to code without paying up front? Programs such as Lambda School, App Academy and even Purdue University are experimenting with income-share agreements (ISAs), in which students agree to pay a portion of their income after graduation, reports The Atlantic. It’s a promising idea, particularly when businesses needs to fill over half a million computer-science jobs. But the schemes are still in their infancy, and it remains to be seen whether ISAs prove to be a viable business model or successful for graduates.

Code Now. Pay Tuition Later.



In computingReact (sometimes styled React.js or ReactJS) is a JavaScript library[2] for building user interfaces.

It is maintained by FacebookInstagram and a community of individual developers and corporations.[3][4][5]

React allows developers to create large web-applications that use data and can change over time without reloading the page. It aims primarily to provide speed, simplicity, and scalability. React processes only user interfaces in applications. This corresponds to View in the Model-View-Controller (MVC) pattern, and can be used in combination with other JavaScript libraries or frameworks in MVC, such as AngularJS.[6]

more on Java script in this IMS blog

teaching coding at schools is bad

My note: no, it is not

Tech’s push to teach coding isn’t about kids’ success – it’s about cutting wages
My note: it is NOT about creating masses of programmers and driving the salaries down, as the author claims; it is about fostering a generation, which is technology literate. A doctor, knowing how to code will be a better doctor in the era of IoT; a philosopher knowing how to code will be better in the era of digital humanities.


more on coding in this IMS blog

intro computer programming

Intro to Computer Programming
with Steve Perry

10-week eCourse  Beginning Tuesday, September 5, 2017

For today’s librarian, the ability to adapt to new technology is not optional. Programming—the process of using computer language to generate commands that instruct a computer to perform specific functions—is at the core of all computer technology. A foundation in programming helps you understand the inner workings of all of the technologies that drive libraries now—from integrated library systems to Web pages and databases.

In this Advanced eCourse, you can go from having little to no programming knowledge to being familiar with coding in several different computer languages. Steve Perry—an experienced LIS instructor and programmer—will teach you in his lectures what you need to get started, and then the readings and exercises will give you practical programming experience, particularly as it relates to a library environment. Languages covered will include HTML, CSS, JavaScript, PHP, and others. You do not need any programming experience or special software to participate in this eCourse.

Participants who complete this Advanced eCourse will receive an SJSU iSchool/ALA Publishing Advanced Certificate of Completion.

more on coding in this IMS blog

intro text encoding

Instructor: John Russell     Dates: August 7 to September 1, 2017

Credits: 1.5 CEUs Price: $175

This course will introduce students to text encoding according to the Text Encoding Initiative (TEI) Guidelines. Why should you care about text encoding or the TEI Guidelines? The creation of digital scholarly texts is a core part of the digital humanities and many digital humanities grants and publications require encoding texts in accordance with the TEI Guidelines. Students in this course will learn about the use-cases for text encoding and get a basic introduction to the principles of scholarly editing before moving on to learning some XML basics and creating a small-scale TEI project using the XML editor oXygen. We will not cover (beyond the very basics) processing TEI, and students interested in learning about XSLT and/or XQuery should turn to the LJA courses offered on those subjects. This course as this course is intended as a follow up to the Introduction to Digital Humanities for Librarians course, but there are no prerequisites, and the course is open to all interested.


– A basic understanding of digital scholarly editing as an academic activity.

– Knowledge of standard TEI elements for encoding poetry and prose.

– Some engagement with more complex encoding practices, such as working with manuscripts.

– An understanding of how librarians have participated in text encoding.

– Deeper engagement with digital humanities practices.

John Russell is the Associate Director of the Center for Humanities and Information at Pennsylvania State University. He has been actively involved in digital humanities projects, primarily related to text encoding, and has taught courses and workshops on digital humanities methods, including “Introduction to Digital Humanities for Librarians.”

TEI:  Text Encoding Initiative


more on digital humanities in this IMS blog

How To Start Integrating Coding Into Project Based Learning

How To Start Integrating Coding Into Project Based Learning

PBL Tenet #1: Create Real World Connections

Coding Application: Find a solution to a problem by creating an App or Website

PBL Tenet #2: Foster Critical Thinking

Coding application: Coding requires a series of logical steps

PBL Tenet #3: Structured Collaboration

Coding application: Coding creates learning communities

PBL Tenet #4: Student Driven

Coding application: Perseverance and self teaching are important skills learned through coding

PBL Tenet #5: Multifaceted approach

Coding application: A programming language is only one part of an app or website