\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} \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} \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}[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}