# HG changeset patch # User Santosh G. Vattam # Date 1264065619 -19800 # Node ID ba5bf0e476d872aafef442495398e8c3578bfa31 # Parent 6af6441034f92aba372c6f3eda3706df8e92599b Added tricks of the trade slides. diff -r 6af6441034f9 -r ba5bf0e476d8 day1/tot.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/day1/tot.tex Thu Jan 21 14:50:19 2010 +0530 @@ -0,0 +1,261 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%Tutorial slides on Python. +% +% Author: FOSSEE +% Copyright (c) 2009, FOSSEE, IIT Bombay +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\documentclass[14pt,compress]{beamer} +%\documentclass[draft]{beamer} +%\documentclass[compress,handout]{beamer} +%\usepackage{pgfpages} +%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm] + +% Modified from: generic-ornate-15min-45min.de.tex +\mode +{ + \usetheme{Warsaw} + \useoutertheme{infolines} + \setbeamercovered{transparent} +} + +\usepackage[english]{babel} +\usepackage[latin1]{inputenc} +%\usepackage{times} +\usepackage[T1]{fontenc} + +% Taken from Fernando's slides. +\usepackage{ae,aecompl} +\usepackage{mathpazo,courier,euler} +\usepackage[scaled=.95]{helvet} + +\definecolor{darkgreen}{rgb}{0,0.5,0} + +\usepackage{listings} +\lstset{language=Python, + basicstyle=\ttfamily\bfseries, + commentstyle=\color{red}\itshape, + stringstyle=\color{darkgreen}, + showstringspaces=false, + keywordstyle=\color{blue}\bfseries} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Macros +\setbeamercolor{emphbar}{bg=blue!20, fg=black} +\newcommand{\emphbar}[1] +{\begin{beamercolorbox}[rounded=true]{emphbar} + {#1} + \end{beamercolorbox} +} +\newcounter{time} +\setcounter{time}{0} +\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}} + +\newcommand{\typ}[1]{\lstinline{#1}} + +\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}} } + +%%% This is from Fernando's setup. +% \usepackage{color} +% \definecolor{orange}{cmyk}{0,0.4,0.8,0.2} +% % Use and configure listings package for nicely formatted code +% \usepackage{listings} +% \lstset{ +% language=Python, +% basicstyle=\small\ttfamily, +% commentstyle=\ttfamily\color{blue}, +% stringstyle=\ttfamily\color{orange}, +% showstringspaces=false, +% breaklines=true, +% postbreak = \space\dots +% } + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Title page +\title[Tricks of the trade]{Python for Science and Engg: Tricks of the trade} + +\author[FOSSEE] {FOSSEE} + +\institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay} +\date[] {28 January, 2010\\Day 1, Introduction} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo} +%\logo{\pgfuseimage{iitmlogo}} + + +%% Delete this, if you do not want the table of contents to pop up at +%% the beginning of each subsection: +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{Outline} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} + +\AtBeginSection[] +{ + \begin{frame} + \frametitle{Outline} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} + +% If you wish to uncover everything in a step-wise fashion, uncomment +% the following command: +%\beamerdefaultoverlayspecification{<+->} + +%%\includeonlyframes{current,current1,current2,current3,current4,current5,current6} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% DOCUMENT STARTS +\begin{document} + +\begin{frame} + \maketitle +\end{frame} + +%% \begin{frame} +%% \frametitle{Outline} +%% \tableofcontents +%% % You might wish to add the option [pausesections] +%% \end{frame} + +\begin{frame} + \frametitle{Workshop Schedule: Day 1} + \begin{description} + \item[Session 1] Mon 09:00--10:00 + \item[Session 2] Mon 10:05--11:05 + \item[Session 3] Mon 11:20--12:20 + \item[Session 4] Mon 12:25--13:25 + \item[Quiz 1] Mon 14:25--14:40 + \item[Exercises] Mon 14:40--15:25 + \item[Session 5] Mon 15:40--16:40 + \item[Quiz 2] Mon 16:45--17:00 + \end{description} +\end{frame} + +\begin{frame} + \frametitle{Workshop Schedule: Day 2} + \begin{description} + \item[Session 1] Tue 09:00--10:00 + \item[Session 2] Tue 10:05--11:05 + \item[Session 3] Tue 11:20--12:20 + \item[Session 4] Tue 12:25--13:25 + \item[Quiz 1] Tue 14:25--14:40 + \item[Exercises] Tue 14:40--15:25 + \item[Session 5] Tue 15:40--16:40 + \item[Quiz 2] Tue 16:45--17:00 + \end{description} +\end{frame} + +\section{Checklist} +\begin{frame} +\frametitle{Checklist} + \begin{enumerate} + \item IPython + \item Editor: We recommend \alert{scite}. + \item Data files: + \begin{itemize} + \item \typ{sslc1.txt} + \item \typ{pendulum.txt} + \item \typ{points.txt} + \item \typ{pos.txt} + \item \typ{holmes.txt} + \end{itemize} + \item Python scripts: + \begin{itemize} + \item \typ{sslc_allreg.py} + \item \typ{sslc_science.py} + \end{itemize} + \item Images + \begin{itemize} + \item \typ{lena.png} + \item \typ{smoothing.gif} + \end{itemize} + \end{enumerate} +\end{frame} + +\section{Starting up Ipython} +\begin{frame}[fragile] +\frametitle{Starting up \ldots} +\begin{block}{} +\begin{lstlisting} + $ ipython -pylab +\end{lstlisting} %$ +\end{block} +\begin{lstlisting} + In []: print "Hello, World!" + Hello, World! +\end{lstlisting} +Exiting +\begin{lstlisting} + In []: ^D(Ctrl-D) + Do you really want to exit([y]/n)? y +\end{lstlisting} +\end{frame} + +\section{Loops - Indentation and Breaking out of loops} +\begin{frame}[fragile] +\frametitle{Loops} +Breaking out of loops +\begin{lstlisting} + In []: while True: + ...: print "Hello, World!" + ...: + Hello, World! + Hello, World!^C(Ctrl-C) + ------------------------------------ + KeyboardInterrupt + +\end{lstlisting} +\emphbar{\alert{Indentation: Notice the 4 spaces after\\} \typ{while True:}} +\end{frame} + +\section{Saving Commands} +\begin{frame}[fragile] +\frametitle{History and Saving of Commands} +\begin{itemize} +\item \typ{\%hist} gives complete history of commands in a session +\item \typ{\%save} can be used to save the commands +\end{itemize} +\begin{block}{Careful about errors!} + \kwrd{\%hist} will contain the errors as well,\\ + so be careful while selecting line numbers. +\end{block} +\end{frame} + +\section{Editors} +\begin{frame}[fragile] + \frametitle{Editors} + The following are some good editors: + \begin{itemize} + \item emacs + \item vim + \item scite - we recommend scite + \end{itemize} +\end{frame} + +\section{Scite - How to} +\begin{frame}[fragile] + \frametitle{Scite - How to \ldots} + \begin{itemize} + \item Opening a file + \item Saving a file + \item Exiting the editor + \end{itemize} +\end{frame} + +\section{Summary} +\begin{frame}[fragile] + \frametitle{What did we learn?} + \begin{itemize} + \item Starting up IPython + \item Loops - Indentation and breaking out of loops + \item \kwrd{\%hist} + \item Saving commands to a script + \end{itemize} +\end{frame} + +\end{document}