summaryrefslogtreecommitdiff
path: root/getting_started_with_functions/slides.tex
diff options
context:
space:
mode:
Diffstat (limited to 'getting_started_with_functions/slides.tex')
-rw-r--r--getting_started_with_functions/slides.tex297
1 files changed, 159 insertions, 138 deletions
diff --git a/getting_started_with_functions/slides.tex b/getting_started_with_functions/slides.tex
index e9eaa81..a424b28 100644
--- a/getting_started_with_functions/slides.tex
+++ b/getting_started_with_functions/slides.tex
@@ -1,4 +1,4 @@
-% Created 2010-11-10 Wed 18:59
+% Created 2011-07-08 Fri 14:25
\documentclass[presentation]{beamer}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
@@ -8,7 +8,6 @@
\usepackage{float}
\usepackage{wrapfig}
\usepackage{soul}
-\usepackage{t1enc}
\usepackage{textcomp}
\usepackage{marvosym}
\usepackage{wasysym}
@@ -24,14 +23,13 @@ commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
showstringspaces=false, keywordstyle=\color{blue}\bfseries}
\providecommand{\alert}[1]{\textbf{#1}}
-\title{Getting started with functions}
+\title{}
\author{FOSSEE}
\date{}
\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
\begin{document}
-\maketitle
@@ -41,146 +39,124 @@ showstringspaces=false, keywordstyle=\color{blue}\bfseries}
+
+\begin{frame}
+
+\begin{center}
+\vspace{12pt}
+\textcolor{blue}{\huge Getting started with \texttt{functions}}
+\end{center}
+\vspace{18pt}
+\begin{center}
+\vspace{10pt}
+\includegraphics[scale=0.95]{../images/fossee-logo.png}\\
+\vspace{5pt}
+\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\
+\scriptsize Funded by National Mission on Education through ICT\\
+\scriptsize MHRD,Govt. of India\\
+\includegraphics[scale=0.30]{../images/iitb-logo.png}\\
+\end{center}
+\end{frame}
+\begin{frame}
+\frametitle{Objectives}
+\label{sec-2}
+
+ At the end of this tutorial, you will be able to,
+
+
+\begin{itemize}
+\item Define a function.
+\item Define functions with arguments.
+\item Learn about docstrings.
+\item Learn about function return value.
+\item Read and understand code.
+\end{itemize}
+\end{frame}
\begin{frame}
-\frametitle{Outline}
-\label{sec-1}
+\frametitle{Pre-requisite}
+\label{sec-3}
+
+Spoken tutorial on -
\begin{itemize}
-\item Define functions
-\item Pass arguments to functions
-\item Learn about docstrings
-\item Return values from functions
+\item Conditionals.
+\item Loops.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Function}
-\label{sec-2}
+\label{sec-4}
+
\begin{itemize}
\item Eliminate code redundancy
\item Help in code reuse
\item Subroutine
-
\begin{itemize}
\item relatively independent of remaining code
\end{itemize}
-
\end{itemize}
\end{frame}
\begin{frame}[fragile]
-\frametitle{\texttt{f(x)} a mathematical function}
-\label{sec-3}
-
-
- $f(x) = x^{2}$
-
-\begin{verbatim}
- f(1) -> 1
- f(2) -> 4
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Define \texttt{f(x)} in Python}
-\label{sec-4}
+\frametitle{Define \verb~f(x)~ in Python}
+\label{sec-5}
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def f(x):
return x*x
-\end{verbatim}
+\end{lstlisting}
+
\begin{itemize}
-\item \texttt{def} - keyword
-\item \texttt{f} - function name
-\item \texttt{x} - parameter / argument to function \texttt{f}
+\item \verb~def~ - keyword
+\item \verb~f~ - function name
+\item \verb~x~ - parameter / argument to function \verb~f~
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Exercise 1}
-\label{sec-5}
-
-
- Write a python function named \texttt{cube} which computes the cube of a given
- number \texttt{n}.
-
-\begin{itemize}
-\item Pause here and try to solve the problem yourself.
-\end{itemize}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Solution}
\label{sec-6}
-\begin{verbatim}
-def cube(n):
- return n**3
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{\texttt{greet} function}
-\label{sec-7}
- Function \texttt{greet} which will print \texttt{Hello World!}.
-\begin{verbatim}
-def greet():
- print "Hello World!"
-\end{verbatim}
\begin{itemize}
-\item Call the function \texttt{greet}
-\begin{verbatim}
- In []: greet()
- Hello World!
-\end{verbatim}
-
+\item Write a python function named \verb~cube~ which computes the cube of a given
+ number \verb~n~.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Exercise 2}
-\label{sec-8}
-
+\label{sec-7}
- Write a python function named \texttt{avg} which computes the average of
- \texttt{a} and \texttt{b}.
-\begin{itemize}
-\item Pause here and try to solve the problem yourself.
-\end{itemize}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Solution 2}
-\label{sec-9}
-
-\begin{verbatim}
-def avg(a,b):
- return (a + b)/2
-\end{verbatim}
\begin{itemize}
-\item \texttt{a} and \texttt{b} are parameters
-\item \texttt{def f(p1, p2, p3, ... , pn)}
+\item Write a python function named \verb~avg~ which computes the average of
+ \verb~a~ and \verb~b~.
\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Docstring}
-\label{sec-10}
+\label{sec-8}
+
\begin{itemize}
\item Documenting/commenting code is a good practice
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def avg(a,b):
""" avg takes two numbers as input
(a & b), and returns the average
of a and b"""
return (a+b)/2
-\end{verbatim}
+\end{lstlisting}
\item Docstring
-
\begin{itemize}
-\item written in the line after the \texttt{def} line.
+\item written in the line after the \verb~def~ line.
\item Inside triple quote.
\end{itemize}
-
\item Documentation
\begin{verbatim}
avg?
@@ -190,48 +166,41 @@ def avg(a,b):
\end{frame}
\begin{frame}
\frametitle{Exercise 3}
-\label{sec-11}
+\label{sec-9}
+
- Add docstring to the function f.
+\begin{itemize}
+\item Add docstring to the function f.
+\end{itemize}
\end{frame}
\begin{frame}[fragile]
\frametitle{Solution 3}
-\label{sec-12}
-
+\label{sec-10}
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def f(x):
"""Accepts a number x as argument and,
returns the square of the number x."""
return x*x
-\end{verbatim}
+\end{lstlisting}
\end{frame}
\begin{frame}
\frametitle{Exercise 4}
-\label{sec-13}
+\label{sec-11}
- Write a python function named \texttt{circle} which returns the area and
- perimeter of a circle given radius \texttt{r}.
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Solution 4}
-\label{sec-14}
-\begin{verbatim}
-def circle(r):
- """returns area and perimeter of a circle given
- radius r"""
- pi = 3.14
- area = pi * r * r
- perimeter = 2 * pi * r
- return area, perimeter
-\end{verbatim}
+\begin{itemize}
+\item Write a python function named \verb~circle~ which returns the area and
+ perimeter of a circle given radius \verb~r~.
+\end{itemize}
\end{frame}
\begin{frame}[fragile]
-\frametitle{\texttt{what}}
-\label{sec-15}
+\frametitle{\verb~what~}
+\label{sec-12}
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def what( n ):
if n < 0: n = -n
@@ -240,13 +209,14 @@ def what( n ):
return False
n /= 10
return True
-\end{verbatim}
+\end{lstlisting}
\end{frame}
\begin{frame}[fragile]
-\frametitle{\texttt{even\_digits}}
-\label{sec-16}
+\frametitle{\verb~even\_digits~}
+\label{sec-13}
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def even_digits( n ):
"""returns True if all the digits of number
n is even returns False if all the digits
@@ -257,25 +227,27 @@ def even_digits( n ):
return False
n /= 10
return True
-\end{verbatim}
+\end{lstlisting}
\end{frame}
\begin{frame}[fragile]
-\frametitle{\texttt{what}}
-\label{sec-17}
+\frametitle{\verb~what~}
+\label{sec-14}
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def what( n ):
i = 1
while i * i < n:
i += 1
return i * i == n, i
-\end{verbatim}
+\end{lstlisting}
\end{frame}
\begin{frame}[fragile]
-\frametitle{\texttt{is\_perfect\_square}}
-\label{sec-18}
+\frametitle{\verb~is\_perfect\_square~}
+\label{sec-15}
-\begin{verbatim}
+\lstset{language=Python}
+\begin{lstlisting}
def is_perfect_square( n ):
"""returns True and square root of n,
if n is a perfect square, otherwise
@@ -285,34 +257,83 @@ def is_perfect_square( n ):
while i * i < n:
i += 1
return i * i == n, i
-\end{verbatim}
+\end{lstlisting}
\end{frame}
\begin{frame}
\frametitle{Summary}
-\label{sec-19}
+\label{sec-16}
+
+ In this tutorial, we have learnt to,
+
+
+\begin{itemize}
+\item Define functions in Python by using the keyword ``def''.
+\item Call the function by specifying the function name.
+\item Assign a docstring to a function by putting it as a triple quoted string.
+\item Pass parameters to a function.
+\item Return values from a function.
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Evaluation}
+\label{sec-17}
+
+\begin{enumerate}
+\item What will the function do?
+\lstset{language=Python}
+\begin{lstlisting}
+def what(x)
+ return x*x
+\end{lstlisting}
\begin{itemize}
-\item Functions in Python
-\item Passing parameters to a function
-\item Returning values from a function
-\item We also did few code reading exercises.
+\item Returns the square of x
+\item Returns x
+\item Function doesn't have docstring
+\item Error
\end{itemize}
+\vspace{3pt}
+\item How many arguments can be passed to a python function?
+\begin{itemize}
+\item None
+\item One
+\item Two
+\item Any
+\end{itemize}
+\vspace{3pt}
+\item Write a function which calculates the area of a rectangle.
+\end{enumerate}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Solutions}
+\label{sec-18}
+
+
+\begin{enumerate}
+\item Error
+\vspace{16pt}
+\item Any
+\vspace{12pt}
+\item \lstset{language=Python}
+\begin{lstlisting}
+def area(l,b):
+ return l * b
+\end{lstlisting}
+\end{enumerate}
\end{frame}
\begin{frame}
-\frametitle{Thank you!}
-\label{sec-20}
\begin{block}{}
\begin{center}
- This spoken tutorial has been produced by the
- \textcolor{blue}{FOSSEE} team, which is funded by the
+ \textcolor{blue}{\Large THANK YOU!}
\end{center}
+ \end{block}
+\begin{block}{}
\begin{center}
- \textcolor{blue}{National Mission on Education through \\
- Information \& Communication Technology \\
- MHRD, Govt. of India}.
+ For more Information, visit our website\\
+ \url{http://fossee.in/}
\end{center}
\end{block}
\end{frame}
-\end{document}
+\end{document} \ No newline at end of file