# HG changeset patch # User Santosh G. Vattam # Date 1267507549 -19800 # Node ID 0ba81871dae5583263743a4cb36beb3331323220 # Parent f04eca8b2f3d4142a284929c63a342f0ed045a80# Parent b54a496d320c811cca3b1b841a026139defb0e6c Branches merged. diff -r f04eca8b2f3d -r 0ba81871dae5 day1/session1.tex --- a/day1/session1.tex Mon Feb 22 14:32:01 2010 +0530 +++ b/day1/session1.tex Tue Mar 02 10:55:49 2010 +0530 @@ -216,6 +216,28 @@ In []: ^D(Ctrl-D) Do you really want to exit([y]/n)? y \end{lstlisting} +\alert{IPython is an improved interpreter}\\ +\alert{Recommended for use in Scientific Computing work}\\ +\end{frame} + +\begin{frame}[fragile] +\frametitle{The Python interpreter \ldots} +\begin{block}{} +\begin{lstlisting} + $ python +\end{lstlisting} %$ +\end{block} +\begin{lstlisting} + >>> print "Hello, World!" + Hello, World! +\end{lstlisting} +Exiting +\begin{lstlisting} + >>> ^D(Ctrl-D) + $ +\end{lstlisting} %$ +\alert{Note the change in the prompt}\\ +\alert{IPython provides many additional features}\\ \end{frame} \section{Loops} diff -r f04eca8b2f3d -r 0ba81871dae5 day1/tot.tex --- a/day1/tot.tex Mon Feb 22 14:32:01 2010 +0530 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,314 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%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, Tricks of the Trade} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - -%\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[Tricks of the trade] Thu 09:00--09:30 - \item[Session 1] Thu 09:30--10:30 - \item[Session 2] Thu 10:45--11:45 - \item[Session 3] Thu 11:50--12:30 - \item[Session 4] Thu 12:30--1:30 - \item[Quiz 1] Thu 14:30--14:45 - \item[Exercises] Thu 14:45--15:30 - \item[Session 5] Thu 15:45--16:45 - \item[Quiz 2] Thu 16:50--17:05 - \end{description} -\end{frame} - -\begin{frame} - \frametitle{Workshop Schedule: Day 2} - \begin{description} - \item[Session 1] Fri 09:00--10:00 - \item[Session 2] Fri 10:05--11:05 - \item[Session 3] Fri 11:20--12:20 - \item[Session 4] Fri 12:25--13:25 - \item[Quiz 1] Fri 14:25--14:40 - \item[Exercises] Fri 14:40--15:25 - \item[Session 5] Fri 15:40--16:40 - \item[Quiz 2] Fri 16:45--17:00 - \end{description} -\end{frame} - -\section{Checklist} -\begin{frame} -\frametitle{Checklist} - \begin{enumerate} - \item IPython - \item Editor - \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} -\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} -\end{frame} - -\section{Indentation} -\begin{frame}[fragile] - \frametitle{Indentation} - \begin{lstlisting} - In []: while True: - ...: print "Hello, World!" - ...: - \end{lstlisting} -\emphbar{\alert{Indentation: Notice the 4 spaces before\\} \typ{print "Hello, World!"}\\ - Hit the ``ENTER'' key twice to return to the previous indentation level} -\end{frame} - -\section{Tab Completion} -\begin{frame}[fragile] - \frametitle{Tab Completion} - Type \typ{pri} and hit the Tab key - \begin{lstlisting} - In []: pri - In []: print - \end{lstlisting} - Type \typ{whi} and hit the Tab key - \begin{lstlisting} - In []: whi - In []: while - \end{lstlisting} -\end{frame} - -\section{Tab Suggestions} -\begin{frame}[fragile] - \frametitle{Tab Suggestions} - \begin{lstlisting} -In []: a = 'Hello world' - -In []: a. - \end{lstlisting} - \ldots -\end{frame} - -\section{Command history} -\begin{frame}[fragile] - \frametitle{Command history} - \typ{In []:} \alert{$\uparrow$}\\ - \typ{In []: a = 'Hello world'}\\ - \emphbar{The previously entered commands can be browsed using the \alert{$\uparrow$} key.} -\end{frame} - -\section{Saving Commands} -\begin{frame}[fragile] -\frametitle{History and Saving of Commands} -\begin{itemize} -\item \typ{\%hist} gives 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 \alert{scite} - we recommend it - \end{itemize} -\end{frame} - -\section{Scite - How to} -\begin{frame}[fragile] - \frametitle{Scite - How to \ldots} - \begin{itemize} - \item Opening scite - \begin{itemize} - \item GNU/Linux: \alert{Applications} $\rightarrow$ \alert{Programming} $\rightarrow$ \alert{SciTE Text Editor} - \item Windows: Double click on the \alert{SciTE} Desktop icon - \end{itemize} - \item Type the contents - \item Saving the file with a filename \alert{File $\rightarrow$ Save as} - \item Saving the file \alert{File $\rightarrow$ Save} - \item Exiting the editor \alert{File $\rightarrow$ Exit} - \item To open an existing file: \alert{File $\rightarrow$ Open} - \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} - History of commands - \item \kwrd{\%save} - Saving commands - \item Using SciTE - \end{itemize} -\end{frame} - -\end{document}