Lecture 1 Introduction
Lecture 1 Introduction
Lecture 1 Introduction
Lecture 1: Introduction
Instructor’s Introduction
Name Usman Ali
Designation Lecturer
Mobile/Whatsapp 0336-2090484
Counselling Hours 3:00 PM – 4:30 PM Mon&Wed( Big Data Lab, Tabba North Wing )
Lecture 1: Introduction 2
Students’ Introduction
• Name :
• Previous Qualification / Institute :
• Student ( Full Time / Part Time):
• Job Experience ( If Any) :
• Any Programming Experience ( Any Language)
• Familiarity with Python Language :
• Any Certification related to Data Science / Python :
Lecture 1: Introduction 3
Course Introduction – Application Development
• A pre-requisite course for MS Data Science
• For students with non-computer science background.
• General Goal:
• To teach the basic concepts of (data science) application development
• Core Focus:
• Fundamentals concepts in programming
• The course has been designed to be mainly a hands-on course
• Python as the preferred data science implementation language
Lecture 1: Introduction 4
Learning Outcomes – Application Development
• Understanding of data science application development process
• Familiarity with essential tools and techniques
• Thorough knowledge of programming concepts in Python
• Hands-on experience of working with datasets, data preprocessing and data
visualizations
• Creating Analytical web Applications using Dash Framework
• Basic concept of Flask Application Development
Lecture 1: Introduction 5
Contents ( Tentative Weekly Breakdown)
Lecture 1: Introduction 6
Reference Books , Tools and Tutorials
1. Books
1. Python Data Science Handbook by Jake VanderPlas
2. Flask Web Development – Developing Web Applications with Python by
Miguel Grinberg (Second Edition)
2. Software
1. Python 3 (3.10.5 or latest release)
2. Spyder
3. Jupyter Notebook / Jupyter Lab
4. Visual Studio Code
All in One ( Anaconda Navigator – Latest Version)
Lecture 1: Introduction 7
Tutorials
Lecture 1: Introduction 8
Grading Plan( Tentative )
Lecture 1: Introduction 9
Grading Policy at IBA
Lecture 1: Introduction 10
Rules & Regulations
• Attendance
• As per IBA Policy
• Mobile Phones
• Switch off your mobile phones or keep them in silent mode
• Assignments
• No late assignment will be accepted
• 10 % deduction on late submission on LMS
• All such submissions which appear to be copy of one another – will be marked as ZERO
• Quizzes
• Mostly un-announced , covering the lectures not evaluated so far.
Lecture 1: Introduction 11
Unit -1
Getting Started
Lecture 1 : Outline
Lecture 1: Introduction 13
Application Development Process
Lecture 1: Introduction 14
Application Development
• Application development is the process of creating a computer programs or a
set of programs ( application) to perform different tasks that a business/user
requires.
• Application Examples
• A Word processor
• A Fintech Application
• A Chat Application
• A Social Media Application
• A search engine
• A Data Profiling Application
• A credit card fraud detection system
Lecture 1: Introduction 15
A Web-Based Application
Lecture 1: Introduction 16
Three Tier Architecture
Lecture 1: Introduction 17
Software Development Process
Lecture 1: Introduction 18
Requirement Analysis
Lecture 1: Introduction 19
Functional Requirements
• Functional Requirements: These are the requirements that the end user specifically
demands as basic facilities that the system should offer.
• For example, incase of a Data Profiling Application, a user should be able to do the following
task:
1. SignUp by creating a user account
2. Login using the credentials
3. Upload a dataset
4. Generate a profile report
5. Perform some Data Cleaning Operations
6. Save the cleaned dataset
Lecture 1: Introduction 20
Non-Functional Requirements
• These are basically the quality constraints that the system must satisfy
according to the project contract including :
• Performance
• Scalability
• Security
• Reliability
• Reusability
Lecture 1: Introduction 21
Domain Requirements
• Domain requirements
• Requirements which are characteristic of a particular category or domain of projects.
• Can be functional or non-functional
• Examples:
• Data Science Application
• In data science application , one should be able upload a dataset , perform necessary EDA and Pre-processing
followed some advanced machine learning task.
• A search engine
• One should be an able to perform search across different web resources and view the results in a friendly user
interface .
Lecture 1: Introduction 22
Resource Planning
Lecture 1: Introduction 24
Integration
Lecture 1: Introduction 25
Project Breakdown
Lecture 1: Introduction 26
Introduction to Python
Lecture 1: Introduction 27
What is Python?
Lecture 1: Introduction 28
Python – A huge set of Libraries for almost each specialized
task
Source :https://rotechnica.com/what-is-python-used-for/
Lecture 1: Introduction 29
Giants are using Python!
Source :https://rotechnica.com/what-is-python-used-for/
Lecture 1: Introduction 30
Reasons to choose Python ?
Open Source
Easy to Learn
Code Readability
High Demand
Lecture 1: Introduction 31
Python Installation
• Check if python is already installed on your computer
• cmd python --version
• Visit www.python.org
• Download Python 3.10.6 / latest version for Windows
• Choose the default path
• Remember to check: Add Python to environment variables
• After setup completes
• Again, run python --version on command prompt to verify successful installation
Lecture 1: Introduction 32
Starting out in Python – Hello World!
• There are various ways to run python code:
• Interactive mode ( Python shell)
• Python IDLE
• Text Editor ( Visual Studio Code)
• IDE ( PyCharm)
• Anaconda Navigator
• Jupyter Notebook
• Jupyter Lab
• Spyder
• PyCharm
• Visual Studio Code
Lecture 1: Introduction 33
Hello World !
• Interactive Mode
• Open Python shell and print Hello World!
• Command Line
• Create a text file
• Print(“Hello World! )
• Save it as hello.py in your user directory
• Run this hello.py file from command line
• Python IDLE
• Print “ Hello World”
• Create a new file
• Create two variables : a=10 , b=20
• Using if statement print “ a is less than b “ or “ a is greater than b”
Lecture 1: Introduction 34
Variables and Data Types
Lecture 1: Introduction 35
Variables
Lecture 1: Introduction 36
Variables Naming Conventions
• Each variable in python has a name
• Naming Conventions:
• The first character must be one of the letters a through z, A through Z, or an
underscore character (_)
• After the first character you may use the letters a through z or A through Z, the digits 0
through 9, or underscores.
• Uppercase and lowercase characters are distinct. This means the variable name
ItemsOrdered is not the same as itemsordered
• You cannot use any of Python’s key words as a variable name.
• A variable name cannot contain spaces
• You can’t use special characters like !, @, #, $, % etc. in variable name.
Lecture 1: Introduction 37
Python Keywords
• Keywords have specific use in python language
• These keywords cannot be used as variable names
Lecture 1: Introduction 38
Python Data Types
• Data types represents the type of value ( to be stored in a variable)
• For examples :
• 10 is an integer value
• 20.5 is a floating-point value
• 10+5j is a complex number
• “Hello World” is a string value
• True and False are Boolean values
• [“python” , “Java” , “C++”] is a list of values
• There are other types as well
Lecture 1: Introduction 39
Python Data Types
Lecture 1: Introduction 40
Type Casting
• Type Casting
• A method to convert the variable data type into a certain data type in order to the
operation required to be performed by users
• There can be two types of Type Casting in Python
• Implicit Type Casting
• Explicit Type Casting
• Examples :
• a=5, b=4.5 , c=a+b , d=a*b ( what are the data types of c and d)
• int(3.1416) will give you 3
• float(3) will give you 3.0. ( a float value is stored differently than an integer)
• value=10 , str(value) will give you “10” which cannot be treated as a number now
• x=3.5 , y=int(x) will cause y= ?? and x=??
Lecture 1: Introduction 43
Anaconda Navigator Installation
Lecture 1: Introduction 44
What is Anaconda ?
Lecture 1: Introduction 45
Anaconda Distribution
Lecture 1: Introduction 46
Anaconda Navigator
• Anaconda Navigator is a desktop graphical user interface (GUI) included in
Anaconda distribution
• The following applications are available by default in Navigator:
• JupyterLab
• Jupyter Notebook
• QtConsole[19]
• Spyder
• Glue
• Orange
• RStudio
• Visual Studio Code
Lecture 1: Introduction 47
Anaconda Individual Edition - Installation
• https://problemsolvingwithpython.com/01-Orientation/01.03-Installing-Anac
onda-on-Windows/
Lecture 1: Introduction 48
A Brief Description of Python IDEs / Editors
Jupyter Notebook Jupyter Notebook (formerly IPython Notebook) is a web-based interactive computational environment
for creating notebook documents. ( Wikipedia)
Jupyter Lab JupyterLab is the next generation of the Jupyter Notebook. It aims at fixing many usability issues of the
Notebook, and it greatly expands its scope. JupyterLab offers a general framework for interactive
computing and data science in the browser, using Python, Julia, R, or one of many other languages. (
Source)
Spyder Spyder is an open-source cross-platform integrated development environment (IDE) for scientific
programming in the Python language. (Wikipedia)
PyCharm PyCharm is a dedicated Python Integrated Development Environment (IDE) providing a wide range of
essential tools for Python developers, tightly integrated to create a convenient environment for
productive Python, web, and data science development. (Wikipedia)
Visual Studio Code Visual Studio Code, also commonly referred to as VS Code, is a source-code editor made by Microsoft
for Windows, Linux and macOS. Features include support for debugging, syntax highlighting, intelligent
code completion, snippets, code refactoring, and embedded Git (Wikipedia)
Lecture 1: Introduction 49
A Brief Comparison of Python IDEs/ Editors
Source
Lecture 1: Introduction 50
Data Science Process
Lecture 1: Introduction 51