diff options
author | Prabhu Ramachandran | 2018-05-15 21:25:25 +0530 |
---|---|---|
committer | Prabhu Ramachandran | 2018-05-15 21:25:25 +0530 |
commit | e805f9daa6c91a88fe7c0106db32369b457eda63 (patch) | |
tree | e73e31d9778747f07567ecd52c01e956ed8c440c /scipy/basic/11_notebook.tex | |
parent | 2c5145f262e82996c9c2424159e5eb5dde47fae7 (diff) | |
download | python-workshops-e805f9daa6c91a88fe7c0106db32369b457eda63.tar.gz python-workshops-e805f9daa6c91a88fe7c0106db32369b457eda63.tar.bz2 python-workshops-e805f9daa6c91a88fe7c0106db32369b457eda63.zip |
Add ordering to the basic material.
Diffstat (limited to 'scipy/basic/11_notebook.tex')
-rw-r--r-- | scipy/basic/11_notebook.tex | 325 |
1 files changed, 325 insertions, 0 deletions
diff --git a/scipy/basic/11_notebook.tex b/scipy/basic/11_notebook.tex new file mode 100644 index 0000000..4442c9f --- /dev/null +++ b/scipy/basic/11_notebook.tex @@ -0,0 +1,325 @@ +\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<presentation> +{ + \usetheme{Warsaw} + \useoutertheme{infolines} + \setbeamercovered{transparent} +} + +\usepackage[english]{babel} +\usepackage[latin1]{inputenc} +%\usepackage{times} +\usepackage[T1]{fontenc} +\usepackage{pgf} + +% Taken from Fernando's slides. +\usepackage{ae,aecompl} +\usepackage{mathpazo,courier,euler} +\usepackage[scaled=.95]{helvet} +\usepackage{amsmath} + +\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} +} + +\newcommand{\myemph}[1]{\structure{\emph{#1}}} +\newcommand{\PythonCode}[1]{\lstinline{#1}} + +\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}}} } + + +\newcommand\BackgroundPicture[1]{% + \setbeamertemplate{background}{% + \parbox[c][\paperheight]{\paperwidth}{% + \vfill \hfill + \pgfimage[width=1.0\paperwidth,height=1.0\paperheight]{#1} + \hfill \vfill +}}} + +% For non-wide pictures, set the width so that the height scales +% appropriately. +\newcommand\BackgroundPictureWidth[1]{% + \setbeamertemplate{background}{% + \parbox[c][\paperheight]{\paperwidth}{% + \vfill \hfill + \pgfimage[width=1.0\paperwidth]{#1} + \hfill \vfill +}}} + +% For shorter pictures, set the height so that the width scales +% appropriately. +\newcommand\BackgroundPictureHeight[1]{% + \setbeamertemplate{background}{% + \parbox[c][\paperheight]{\paperwidth}{% + \vfill \hfill + \pgfimage[height=1.0\paperheight]{#1} + \hfill \vfill +}}} + +%%% 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[IPython notebooks]{Introductory Scientific Computing with +Python} +\subtitle{IPython notebooks} + +\author{FOSSEE} + +\institute[FOSSEE -- IITB] {Department of Aerospace Engineering\\IIT Bombay} +\date[] { +Mumbai, India +} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%\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}<beamer> + \frametitle{Outline} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} + +\AtBeginSection[] +{ + \begin{frame}<beamer> + \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}[fragile] + \frametitle{Introduction} + \begin{itemize} + \item Have used the IPython console so far + \begin{itemize} + \item Terminal: \typ{ipython} + \item GUI: \typ{qtconsole} + \end{itemize} + \item Powerful and convenient + \item Must be installed as a package + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{IPython notebook} + \begin{itemize} + \item Create and share documents containing + \begin{itemize} + \item live code + \item equations + \item visualizations + \item interactive widgets + \item explanatory text + \end{itemize} + \item A web application + \end{itemize} +\end{frame} + + +\BackgroundPicture{data/notebook/jupyter-interface} +\begin{frame}[plain] +\end{frame} +\BackgroundPicture{data/intro/blank} + +\begin{frame} + \frametitle{Jupyter} + \begin{itemize} + \item Open source, interactive data science and computing + \item Brings IPython-like features to other languages + \item Console + \item Notebooks + \item Other tools: jupyterhub, nbviewer, etc. + \end{itemize} +\end{frame} + +\BackgroundPictureWidth{data/notebook/jupyter_logo} +\begin{frame}[plain] +\end{frame} +\BackgroundPicture{data/intro/blank} + +\begin{frame} + \frametitle{IPython and Jupyter} + \begin{itemize} + \item IPython provides Python specific functionality + \item Python \textbf{kernel} + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Getting started: IPython} +Console + \begin{lstlisting} +$ ipython +\end{lstlisting} %$ +\vspace*{0.25in} +The notebook: + \begin{lstlisting} +$ ipython notebook +\end{lstlisting} %$ +\end{frame} + +\begin{frame}[fragile] + \frametitle{Getting started: Jupyter} + \begin{lstlisting} +$ jupyter console +\end{lstlisting} %$ +\vspace*{0.25in} +The notebook: + \begin{lstlisting} +$ jupyter notebook +\end{lstlisting} %$ +\end{frame} + +\begin{frame}[fragile] + \frametitle{IPython notebooks and Canopy} + \begin{itemize} + \item Can directly open \typ{*.ipynb} files from Canopy + \item Or create a new notebook using the File menu + \end{itemize} +\end{frame} + + +\begin{frame}[fragile] + \frametitle{Pylab mode} + \begin{lstlisting} +In []: %pylab + \end{lstlisting} %$ +Or: + \begin{lstlisting} +In []: %matplotlib + \end{lstlisting} %$ +\end{frame} + +\begin{frame}[fragile] + \frametitle{Using matplotlib} + \small + \begin{lstlisting} +In []: %matplotlib +In []: from matplotlib import pyplot as plt +In []: from numpy import linspace, sin +In []: x = linspace(0, 2*pi) +In []: plt.plot(x, sin(x)) + \end{lstlisting} +\end{frame} + +\begin{frame}[fragile] + \frametitle{What is the difference?} + \begin{itemize} + \item \typ{\%pylab}: imports pylab + \item \typ{\%matplotlib}: just sets up the plotting, no imports + \item Using explicit imports is cleaner + \item \typ{pyplot} provides the useful functionality + \item Could also just import \typ{pylab} + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Using the IPython notebook} + + \begin{itemize} + \item Start the notebook + \item Try: + \typ{jupyter notebook} + \item If that doesn't work use \typ{ipython notebook} + \item Create a new Python 2 or Python 3 notebook + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Basic Notebook Demo} + \begin{center} + Open the \typ{sample.ipynb} file provided + \end{center} +\end{frame} + +\begin{frame} + \frametitle{Exercise} + \begin{itemize} + \item Start the notebook + \item Create a new notebook + \item Try the interface tour (Help->Interface tour) + \item Add some markdown text, an image, and a simple equation + \item Write some simple code in multiple cells + \item Add code from \typ{four_plot.py} and run it + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{More resources} + \begin{itemize} + \item \href{https://daringfireball.net/projects/markdown/syntax}{Markdown syntax} + \item \href{http://ipython.org}{IPython website} + \item \href{http://ipython.org/documentation.html}{IPython documentation} + \item \href{http://jupyter.org}{Jupyter website} + \item \href{https://jupyter.readthedocs.io/en/latest/index.html}{Jupyter documentation} + \item + \href{https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/}{Jupyter + notebook tips and tricks} + \item \href{https://nbviewer.jupyter.org}{Example notebooks} + \item \href{http://tbc-python.fossee.in}{Python textbook companions} + \end{itemize} +\end{frame} + + +\end{document} |