Introduction to Programming using Python

My image
  • Author: Katja Schuerer, Corinne Maufrais, Catherine Letondal, Eric Deveaud, Marie-Agnes Petit
  • Format: PDF
  • Price: free

The objective of this course is to teach programming concepts to biologists. It is thus aimed at people who are not professional computer scientists, but who need a better control of computers for their own research.

Chapters include:

  • Introduction
  • Variables
  • Statements, expressions and functions
  • Communication with outside
  • Program execution
  • Strings
  • Branching and Decisions
  • Defining Functions
  • Collections
  • Nested data structures
  • Repetitions
  • Exceptions
  • Functions II
  • Modules and packages in Python
  • Recursive functions
  • Files
  • Scripting
  • Object-oriented programming
  • Object-oriented design

Get the book: Introduction to Programming using Python

Think Python: How to Think Like a Computer Scientist

My image
  • Author: Allen B. Downey
  • Format: online HTML, PDF
  • Price: free (hard copy available on Amazon)

Think Python is an introduction to Python programming for beginners. It starts with basic concepts of programming, and is carefully designed to define all terms when they are first used and to develop each new concept in a logical progression. Larger pieces, like recursion and object-oriented programming are divided into a sequence of smaller steps and introduced over the course of several chapters.

Some examples and exercises are based on Swampy, a Python package written by the author to demonstrate aspects of software design, and to give readers a chance to experiment with simple graphics and animation.

Chapters include:

  • The way of the program
  • Variables, expressions and statements
  • Functions
  • Case study: interface design
  • Conditionals and recursion
  • Fruitful functions
  • Iteration
  • Strings
  • Case study: word play
  • Lists
  • Dictionaries
  • Tuples
  • Case study: data structure selection
  • Files
  • Classes and objects
  • Classes and functions
  • Classes and methods
  • Inheritance
  • Case study: Tkinter
  • Debugging
  • Analysis of Algorithms
  • Lumpy

http://www.greenteapress.com/thinkpython/
Buy this book on Amazon: http://amzn.to/1HVCzyB

The Book of Ruby

My image
  • Author: Huw Collingbourne
  • Format: archived PDF
  • Price: free (hard copy available on Amazon)

The Book Of Ruby (free edition) is a free tutorial to the Ruby language. It contains 425 pages in 20 chapters. It is provided in the form of a PDF document in which each chapter is accompanied by ready-to-run source code for all the examples. There is also an Introduction which explains how to use the source code in Ruby In Steel or any other editor/IDE of your choice plus appendices and an index.

Note that The Book Of Ruby is an in-depth guide to Ruby. For a much simpler guide to the principal features of the Ruby language, there is also the free eBook, The Little Book Of Ruby, by the same author.

Chapters include:

  • Strings, Numbers, Classes and Objects
  • Class Hierarchies, Attributes and Class Variables
  • Strings and Ranges
  • Arrays and Hashes
  • Loops and Iterators
  • Conditional Statements
  • Methods
  • Passing Arguments and Returning Values
  • Exception Handling
  • Blocks, Procs and Lambdas
  • Symbols
  • Modules and Mixins
  • Files and IO
  • YAML
  • Marshal
  • Regular Expressions
  • Threads
  • Debugging and Testing
  • Ruby On Rails
  • Dynamic Programming

Download The Book of Ruby at the bottom of the page:
http://www.sapphiresteel.com/ruby-programming/The-Book-Of-Ruby.html

The Little Book Of Ruby

My image
  • Author: Huw Collingbourne
  • Format: PDF
  • Price: free

The Little Book Of Ruby is a PDF eBook which will guide you through the fundamentals of Ruby programming. Starting with the basics (strings, numbers, objects and methods) it quickly moves on to explain all you need to know to create your own class hierarchies, use arrays, hashes, iterators, modules, mixins and much more besides.

Chapters include:

  • Strings and Methods
  • Classes and Objects
  • Class Hierarchies
  • Accessors, Attributes, Class Variables
  • Arrays
  • Hashes
  • Loops and Iterators
  • Conditional Statements
  • Modules and Mixins
  • Saving Files, Moving On

http://www.sapphiresteel.com/Tutorials/sapphire-ruby-in-steel-tutorials/Programming/article/the-little-book-of-ruby.html

Ruby Essentials

My image
  • Author: Neil Smyth
  • Format: online HTML
  • Price: free

Ruby Essentials is a free on-line book designed to provide a concise and easy to follow guide to learning Ruby. Everything from installing Ruby and the basics of the language through to topics such as arrays, file handling and object-oriented programming are covered, all combined with easy to understand code examples which serve to bridge the gap between theory and practice.

Ruby Essentials is intended to be of equal use both to those experienced in other programming languages and to novices who have chosen Ruby as their “first programming language”.

Chapters include:

  • What is Ruby?
  • Getting and Installing Ruby
  • Simple Ruby Examples
  • Commenting Ruby Code
  • Understanding Ruby Variables
  • Ruby Variable Scope
  • Ruby Number Classes and Conversions
  • Ruby Methods
  • Ruby Ranges
  • Understanding Ruby Arrays
  • Advanced Ruby Arrays
  • Ruby Operators
  • Ruby Operator Precedence
  • Ruby Math Functions and Methods
  • Understanding Ruby Logical Operators
  • Ruby Object Oriented Programming
  • Ruby Flow Control
  • The Ruby case Statement
  • Ruby While and Until Loops
  • Looping with for and the Ruby Looping Methods
  • Ruby Strings – Creation and Basics
  • Ruby String Concatenation and Comparison
  • Ruby String Replacement, Substitution and Insertion
  • Ruby String Conversions
  • Ruby Directory Handling
  • Working with Files in Ruby
  • Working with Dates and Times in Ruby
  • Useful Ruby Links and Resources

http://www.techotopia.com/index.php/Ruby_Essentials