Welcome to the Brixton Library Technology Initiative

16
Welcome to the Brixton Library Technology Initiative (Coding for Adults) [email protected] [email protected] January 9 th 2016 Introductio n

Transcript of Welcome to the Brixton Library Technology Initiative

Page 1: Welcome to the Brixton Library Technology Initiative

Welcome to the Brixton Library Technology Initiative

(Coding for Adults)

[email protected]

[email protected]

January 9th 2016

Introduction

Page 2: Welcome to the Brixton Library Technology Initiative

General Information & Introductions

• Facilities at the library.• Opening Times.• Contact List.• Who we are.• Who are you.• Do you have programming experience?

(absolute beginners with no experience are welcome here - you will need simple arithmetic +-/*)

• Why do you want to learn to Python?

Page 3: Welcome to the Brixton Library Technology Initiative

Python• Python is a widely used general-purpose, high-level

programming language.

• Its design philosophy emphasizes code readability, and its syntax allows programmers to express concepts in fewer lines of code than would be possible in languages such as C++ or Java.

• The language provides constructs intended to enable clear programs on both a small and large scale.

• https://en.wikipedia.org/wiki/Python_(programming_language)

Page 4: Welcome to the Brixton Library Technology Initiative

HistoryStarted in December 1989 by Guido van Rossum in the Netherlands – still maintains control over development – nicknamed benevolent dictator for life (BDFL).

“I was looking for a ‘hobby’ programming project that would keep me occupied during the week around Christmas.

I chose Python as a working title for the project, being in a slightly irreverent mood (and a big fan of Monty Python’s Flying Circus).”

Page 5: Welcome to the Brixton Library Technology Initiative

Python• Version 2.0 was released on 16 October 2000 became more

transparent and community-backed.

• Since 2003, Python has consistently ranked in the top ten most popular programming languages as measured by the TIOBE Programming Community Index.

• An empirical study found that scripting languages (such as Python) more productive than conventional languages (such as C and Java) for a programming problem involving string manipulation and search in a dictionary.

Page 6: Welcome to the Brixton Library Technology Initiative

Who uses it.

• Large organizations that make use of Python include Google, Yahoo!, CERN, NASA, most of the large international banks and financial institutions, comms and media giants etc...

• The Raspberry Pi single-board computer project has adopted Python as its principal user-programming language.

Page 7: Welcome to the Brixton Library Technology Initiative

Programming Styles• Python supports multiple programming paradigms, including object oriented,

imperative, procedural and functional styles.

• Object oriented – break down the problem into separate objects containing code like Car, Cat, Person.

• Imperative – code statements that change a program’s state like a recipe or a script.

• Procedural – decompose the problem into subroutines e.g. calculateVAT, returnLibraryBook

• Functional – A more advanced form of procedural coding (Lambda Calculus)

Page 8: Welcome to the Brixton Library Technology Initiative

Python Applications

• The Python community and software houses have written many ready to use and free libraries for specialised problem domains including mathematics, communications, websites, science, high performance computing , music, graphics and art, social media and advanced engineering.

• Python's functional programming capability has enabled it's use in Big Data applications.

Page 9: Welcome to the Brixton Library Technology Initiative

Fun to use

• An important goal of Python developers is making Python fun to use. This is reflected in the origin of the name, which comes from Monty Python, and in an occasionally playful approach to tutorials and reference materials, such as using examples that refer to spam and eggs instead of the standard ‘foo’ and ‘bar’.

Page 10: Welcome to the Brixton Library Technology Initiative

“Pythonic”

• A common expression in the Python community is pythonic, which can have a wide range of meanings related to program style. To say that code is pythonic is to say that it uses Python well, that it is natural or shows fluency in the language, that it conforms with Python's minimalist philosophy and emphasis on readability.

• Users and admirers of Python—especially those considered knowledgeable or experienced—are often referred to as Pythonists, Pythonistas, and Pythoneers.

Page 11: Welcome to the Brixton Library Technology Initiative

The Zen of Python• Beautiful is better than ugly.• Explicit is better than implicit.• Simple is better than complex.• Complex is better than complicated.• Flat is better than nested.• Sparse is better than dense.

• Readability counts.

• Errors should never pass silently.

• There should be one- and preferably only one -obvious way to do it.• Although that way may not be obvious at first unless you're Dutch.

• Now is better than never.• Although never is often better than right now.

• If the implementation is hard to explain, it's a bad idea.• If the implementation is easy to explain, it may be a good idea

Page 12: Welcome to the Brixton Library Technology Initiative

What it takes to be a Good Programmer

• Things usually go wrong with our code (bugs)

A good programmer :

1. Expects to make mistakes.2. Tries to understand why their code is not working

properly (debugging) – be strong don’t give up :)3. Uses books, Google, online references , forums and

peers to find solutions to coding problems.4. Writes tests to prove their code works.5. Zen Of Python.6. Be considerate, help and encourage others, be humble.

Page 13: Welcome to the Brixton Library Technology Initiative

The Course• Hosted by Coursera – written at Rice University USA• Free (certificate costs $30)• Browser based• Peer assessed and certified. Roadmap.

• https://www.coursera.org/course/interactivepython1

• Please register for free participation on the course.

Page 14: Welcome to the Brixton Library Technology Initiative

Participation At Brixton Library

• Saturdays from 1000 til 1600

• Please email Zoey and me to let us know you are coming. If no one is able to make it on a certain day there is no need for us to turn up.

• Email me with technical questions or guidance. The course has rich forums and help.

Page 16: Welcome to the Brixton Library Technology Initiative

Lets Get Started

• Register now.

• https://www.coursera.org/course/interactivepython1