Tutorials

From dftwiki3
Revision as of 12:12, 10 April 2013 by Thiebaut (talk | contribs) (Bash Scripts)
Jump to: navigation, search

--D. Thiebaut 16:02, 18 April 2010 (UTC)


<meta name="keywords" content="computer science, Processing, iBooks Author, Google DSPL, MatPlotLib, Arduino, Xgrid, Trolltech, Qt, Hadoop, MapReduce, C++, Qt Creator, PyQt3, PyQt4, mysql, php, phprunner, bioinformatics, i386 assembly language, cloud, Amazon, EC2, S3, Xilinx ISE, Coolrunner, SQLite, Proce55ing " /> <meta name="description" content="Dominique Thiebaut's Tutorial Page" /> <meta name="title" content="Tutorials on various programming techniques" /> <meta name="abstract" content="Dominique Thiebaut's tutorial pages covering various topics including computer science, Processing, iBooks Author, Google DSPL, MatPlotLib, Arduino, Xgrid, Trolltech, Qt, Hadoop, MapReduce, C++, Qt Creator, PyQt3, PyQt4, mysql, php, phprunner, bioinformatics, i386 assembly language, cloud, Amazon, EC2, S3, Xilinx ISE, Coolrunner, SQLite, and Proce55ing." /> <meta name="author" content="dthiebaut@smith.edu" /> <meta name="distribution" content="Global" /> <meta name="revisit-after" content="10 days" /> <meta name="copyright" content="(c) D. Thiebaut 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,2008,2009,2010,2011,2012,2013" /> <meta name="robots" content="FOLLOW,INDEX" />

This page contains various tutorials for getting things done with different software tools. Whenever I need to learn something, I teach myself how to use the new tool, but quickly forget it, unfortunately. From this experience I have learned that it requires less time for me to write a tutorial as I go along the first time, so that the second time I don't have to reinvent the wheel again. I try to make the tutorials informative and helpful so that others can benefit from them as well. Enjoy!





Geo-Mapping Data

GoogleMap.png
Title Description

                                                             

A very simple set of steps taken to convert a somewhat buggy CSV-formatted list of locations containing city and country names into an interactive Geographical Map showing the number of entries in the list corresponding to a given city.
Another simple set of steps needed to convert the same CSV-formatted lit of locations with city and country names into a Tableau map.




Processing and Eclipse

Kinect.jpg
Title Description
A simple installation tutorial to get Eclipse all set up to run Shiffman's Kinect demo Daniel Shiffman's demos.
This tutorial assumes some basic Java programming skills. Start with the basic: create a new Processing project in Eclipse with simple animation.
A page presenting several options for creating a path behind animated objects.




iBook Author Animations

IBookAuthorLogo.jpg
Title Description
  • A skeleton widget                                                       
This is not really a tutorial, but rather a minimal series of files one can start with to create a new widget by hand.
A short tutorial illustrating how to create a 2-image animation with buttons allowing the user to go from one image to the other. .
This tutorial takes the excellent article for creating a javascript calculator by Simon Southwell and inserts it into the skeleton widget of this section.
A quick and tiny tutorial illustrating how to take a Google WebKit (GWT) project and convert it into a Dashboard widget ready for export into an iBook.




Google's DSPL (DataSet Publishing Language)

GoogleDSPL.png
Title Description
  • DSPL: First Contact                                                       
A first look at DSPL with a simple example showing how to plot two columns of numbers as a function of time (years)





MatPlotLib for Python

MatPlotLib.png
Title Description
  • MatPlotLib Tutorial #1                                                       
An introduction to the MatPlotLib Python library allowing you to generate MatLab-style graphs in Python.






Arduino

ArduinoLogo.png
Title Description

                                                      

An in-class introduction to the Arduino. Not useful if not accompanied by in-class presentation. Refer to the Arduino Web site if working on your own.
A quick presentation of communication between an Arduino sending characters of the alphabet via an XBee to another XBee connected to a Windows PC.




XGrid Programming at Smith College

XgridLogo.png

These tutorials and examples are taken from the pages I maintain for the XGrid working group at Smith College. More information can be found in the Smith XGrid page.

Title Environment/Language         
Command Line
XCode
Python
Python
Python
  • Introduction to the XGrid Part I: Generating histograms in parallel.
Perl
  • Introduction to the XGrid Part II : Creating a pipeline.
Perl
C
Perl
Perl
Perl
  • A pipeline in Perl: this version uses a graphical utility to create the batch file.        
Perl
PList Format
Python
Qt C++
XGrid






Hadoop/MapReduce Computation at Smith College

HadoopCartoon.png

See the Hadoop/MapReduce Tutorials page for up-to-date information.

Tutorial Comments

Tutorial #1

Running WordCount written in Java on the Smith College Hadoop/MapReduce Cluster

Tutorial #1.1

Creating timelines of the execution of tasks during the execution of a MapReduce program.

Tutorial #2

Running WordCount in Python on the Smith College Hadoop/MapReduce Cluster

Tutorial #2.1

Running a streaming Python MapReduce program on XML files

Tutorial #2.2

Running C++ programs under Hadoop Pipes

Tutorial #3

Running Hadoop jobs on Amazon AWS

Tutorial #3.1

Uploading text to S3 and running Amazon's WordCount Java program on our own data.

Tutorial #3.2

Uploading and Running our own streaming version of the WordCount program on AWS.

Tutorial #3.3

Computing the cost of maintaining a cluster of 6 MapReduce instances on Amazon's AWS

Tutorial #4

Start a server on Amazon's EC2 infrastructure






C++ with Qt 4

QT4Logo.jpg
Title Description         
: Creating a simple application with VC++ 2003.
: Simple signal/slot experiment with VC++ 2003.                                                                                                  
: Creating an application from the console (without IDE).
: Using a Python script to generate the project around a .ui file.
: Adding a debug window and facility to a form.
: The implementation of a memory module for a computer simulator.
: Using a QTableWidget to show data in a tabular form.
: A simple listView model/view example (taken from Qt's doc)
: A model/view implementation of a 2 dimensional array
: Launching a subprocess...





C++ with Qt4/Qt Creator

QtCreator.png
Title Description         
: Creating a simple console Qt4 application with Qt Creator.          
: Access a MySql database and read the contents of a table.








PyQt3

Qt3Logo.png


Title Description         
Tutorial #1 : Creating a simple form with PyQt.                          









PyQt4





PhPRunner MySql tutorials




MySql tutorials



BioInformatics Labs in Proce55ing

DNASequenceLogo.png

These labs were created as an introduction to Bioinformatics using the language Processing. Some of them are very short. Others require some amount of programming.

  • Lab #0: Introduction to Proce55ing
  • Lab #1: Retrieving DNA sequence from database
  • Lab #2: Retrieving protein sequence from database
  • Lab #3: Aligning sequences in Proce55ing
  • Lab #4: Finding repeats in DNA sequences with Proce55ing
  • Lab #5: Finding repeats in DNA sequences using a Web-server
  • Lab #6: Playing with FoldIt!
  • Lab #7: Sequence Logos with Proce55ing
  • Lab #8: Sequence Logos on the Web
  • Lab #9: Where/How do I get proteins?
  • Lab #10: Finding the secondary structure of a protein
  • Miscellaneous Links and Resources
    • E Coli sequence in FASTA format
    • A good tutorial ( pdf ) on Processing by Josh Nimoy, from NYU.




Assembly Crash Course

This is a one-evening crash-lab on assembly language. This is a good introduction to the 80X86-family assembly for students with no background in assembly, and taking a microprocessor-based course.


Creating Printed-Circuit Boards

Title Description         
Tutorial: Printed-Circuit Boards With thanks to Paul Voss for his sharing his tools and secrets!





Xilinx ISE and The CoolRunner II CPLD

XilinxLogo.gif
Title Description         
Lab #1: Schematics: Simple gates A first lab/tutorial illustrating how to create a digital circuit from schematics and testing its behavior with the ISim simulator.
Lab #2: Verilog Lab 2 in the series. The same 2-bit adder, but this time in Verilog.
Lab #3: Sequential Circuit Schematics A 3-flip-flop sequential circuit activating two blinking lights and behavior simulator.
Lab #4: 4-Bit Adder in Verilog Lab 4 in the series. We use two modules to build a 4-bit adder made of four full-adders.
Xilinx ISE 13.4 Installation Guide Extensive installation guide for ISE 13.4 on Windows 7 PCs

Bash Scripts

BashScriptsTutorialLogo.png
Title Description         
Building a self-refreshing Kiosk on a Mac Powerbook A Bash script that watches when a new movie has been updated on a server, and automatically downloads it and plays it in a continuous loop, in full-screen mode on a Mac Powerbook                         





SQLite and Processing

ProcessingLogo.jpg
Title Description         
Tutorial #1 A simple approach using Processing's IDE                         
Tutorial #2 Using Eclipse
Introduction to Processing A quick introduction to the language Processing, with some references and links.