%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Quiz slides day 1 quiz 1
%
% Author: FOSSEE <info at fossee  dot in>
% Copyright (c) 2005-2009, FOSSEE Team
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


\documentclass[14pt,compress]{beamer}

\mode<presentation>
{
  \useoutertheme{split}
  \setbeamercovered{transparent}
}

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

\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}}  }

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Macros

\newcounter{qno}
\setcounter{qno}{0}
\newcommand{\incqno}{\addtocounter{qno}{1}{Question \theqno}}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Title page
\title[Basic Python]{Python for science and engineering: Day 1, Quiz 1}

\author[FOSSEE Team] {FOSSEE}

\institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
\date[] {\today \\Day 1, Quiz 1}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

\begin{frame}
  \titlepage
\end{frame}

\begin{frame}
  \frametitle{Write your details...}
On the top right hand corner please write down the following:
  \begin{itemize}
    \item Name:
    \item University/College/Company:
    \item Student/Teacher/Professional:
    \item Field of interest/study:
  \end{itemize}
\end{frame}

%% \begin{frame}[fragile]
%% \frametitle{\incqno }
%% Draw (roughly) the plot obtained by the following:
%% \begin{lstlisting}
%% In []: x = linspace(0, 2*pi, 3)
%% In []: plot(x, sin(x))
%% \end{lstlisting}
%% \end{frame}

\begin{frame}[fragile]
\frametitle{\incqno }
Describe the plot produced by the following:
\begin{lstlisting}
In []: x = linspace(0, 2*pi, 50)
In []: plot(x, cos(x), 'go')
\end{lstlisting}
Note: Do not draw it, just describe the plot
\end{frame}

\begin{frame}
\frametitle{\incqno }
How will you plot the previous graph with line width set to 3?  How will
you set the $x$ and $y$ labels of the plot?
\end{frame}

\begin{frame}
\frametitle{\incqno }
How will you set the x and y axis limits so that the region of interest
is in the rectangle $(0, -1.5)$ (left bottom coordinate) and $(2\pi,
1.5)$ (right top coordinate)?
\end{frame}

\begin{frame}
\frametitle{\incqno }
What ipython magic command do you use to obtain the lines of code you have already typed in the interpreter? What command do you use to save them?
\end{frame}

%% \begin{frame}[fragile]
%% \frametitle{\incqno }
%% The following code snippet has an error/bug:
%% \begin{lstlisting}
%% In []: y = linspace(0, 2*pi, 50)
%% In []: plot(y, sin(y))
%% In []: clf()
%% In []: plot(y, cos(y))
%% In []: legend(['sin(y)', 'cos(y)']) 
%% \end{lstlisting}
%% What is the error? How do you fix it?  
%% \end{frame}

\begin{frame}[fragile]
\frametitle{\incqno }
  \begin{lstlisting}
  In []: a = [1, 2, 5, 9]
  In []: a[0:-1]
  \end{lstlisting}
  What is the output?
\end{frame}

\begin{frame}
\frametitle{\incqno }
  How do you combine two lists \emph{a} and \emph{b} to produce one list?
\end{frame}

\begin{frame}[fragile]
\frametitle{\incqno }
  \begin{lstlisting}
  In []: a = [1, 2, 5, 9]
  \end{lstlisting}
  How do you add the value 10 to the end of this list?
\end{frame}

\begin{frame}
\frametitle{\incqno }
Write the code to read a file \texttt{data.txt} and print each line of it?
\end{frame}

%% \begin{frame}[fragile]
%% \frametitle{\incqno }
%% What would be the result of the following code snippet:
%% \begin{lstlisting}
%% In []: x = linspace(0, 10, 50)
%% In []: y = linspace(50, 100, 100)
%% In []: plot(x, y)
%% \end{lstlisting}
%% \end{frame}

\begin{frame}[fragile]
\frametitle{\incqno }
The following code snippet has an error/bug:
\begin{lstlisting}
In []: l = [0.1, 0.2, 0.3, 0.4]
In []: t = [0.69, 0.90, 1.19, 1.30]
In []: tsq = []
In []: for time in t:
 ....:     tsq.append(time*time)
 ....:     plot(l, tsq)
\end{lstlisting}
What is the error? How do you fix it?
\end{frame}

\begin{frame}
\frametitle{\incqno }
  A sample line from a Comma Separated Values (CSV) file:\\
  \vspace*{0.2in}
  \emph{Rossum, Guido, 42, 56, 34, 54}\\
  \vspace*{0.2in}
  What code would you use to separate the line into fields?
\end{frame}

\begin{frame}[fragile]
\frametitle{\incqno }
  \begin{lstlisting}
  In []: a = [1, 2, 5, 9]
  \end{lstlisting}
  How do you find the length of this list?
\end{frame}

\begin{frame}[fragile]
\frametitle{\incqno }
  \begin{lstlisting}
  In [1]: d = {
          'a': 1,
          'b': 2
          }
  In [2]: print d['c']
  \end{lstlisting}
  What is the output?
\end{frame}

\begin{frame}[fragile]
\frametitle{\incqno }
\begin{lstlisting}
In []: sc = {'A': 10, 'B': 20, 
             'C': 70}
\end{lstlisting}
Given the above dictionary, what command will you give to plot a
pie-chart?
\end{frame}

\begin{frame}[fragile]
\frametitle{\incqno }
\begin{lstlisting}
In []: marks = [10, 20, 30, 50, 55, 
                75, 83] 
\end{lstlisting}
Given the above marks, how will you calculate the \alert{mean}?%%  and
%% \alert{standard deviation}?
\end{frame}

\begin{frame}[fragile]
\frametitle{\incqno }
\begin{lstlisting}
In []: marks = [10, 20, 30, 50, 55, 
                75, 83] 
\end{lstlisting}
How will you convert the list \texttt{marks} to an \alert{array}?
\end{frame}

\end{document}
