0% found this document useful (0 votes)
113 views49 pages

Lecture 1 Introduction

This document provides an introduction to an Application Development course. It outlines the instructor's qualifications and contact information. It then discusses the course overview, including its goal of teaching basic programming concepts using Python, learning outcomes around data science applications and visualization, and a tentative weekly breakdown of contents. Finally, it discusses reference books, tools, tutorials, the grading plan, and introduces Python installation and a basic "Hello World" program.

Uploaded by

Arooha Tariq
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
113 views49 pages

Lecture 1 Introduction

This document provides an introduction to an Application Development course. It outlines the instructor's qualifications and contact information. It then discusses the course overview, including its goal of teaching basic programming concepts using Python, learning outcomes around data science applications and visualization, and a tentative weekly breakdown of contents. Finally, it discusses reference books, tools, tutorials, the grading plan, and introduces Python installation and a basic "Hello World" program.

Uploaded by

Arooha Tariq
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 49

Application Development (CSF 510)

Lecture 1: Introduction
Instructor’s Introduction
Name Usman Ali
Designation Lecturer

Qualifications: Pursuing PhD in Computer Science ( Machine Learning)

MS(CS) From IBA Karachi ( 2015)

Masters in Information Technology, BS(Computer Science)

Course Profile ITP , OOPT , ICA , Database Systems , Application Development

Job Profile Lecturer ( Bahria College) , Project Manager (Codex) , Director


Academics & Trainings ( FTI) , PhD Scholar ( IBA) , Lecturer(IBA)
Email: [email protected]

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 :

• Fill out this survey : https://forms.gle/ML2H23hNDUz4AFhB7

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

Tutorials / Useful Links


1. w3schools : Python Tutorial
2. How to use Jupyter Notebook?
3. Learn Python : Tutorials Point
4. HTML Tutorial
5. Java Script Tutorial
6. CSS Tutorial

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

• Application Development Process


• Python 3.1 Installation
• Variables and Data Types
• Anaconda Navigator Installation

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

View Controller Model

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

Prepare a Project Plan in Microsoft Project showing Tasks , Milestones,


Deliverables and Resources
Lecture 1: Introduction 23
Design & Prototyping

Lecture 1: Introduction 24
Integration

Lecture 1: Introduction 25
Project Breakdown

Project Phase Description with Deliverable Deadline Weeks Grade Points


Phase
1 Problem Statement , Requirement 3 weeks 5 Points
Specification, Resource Planning
( Report)
2 User Interface Design ( Prototype / 3 weeks 5 Points
Wireframe)
3 EDA on Dataset ( Jupyter Notebook) 3 Weeks 5 Points
4 Dashboard Design ( Dash Framework) 3 Weeks 5 Points
12 weeks 20 Points

Lecture 1: Introduction 26
Introduction to Python

Lecture 1: Introduction 27
What is Python?

• Python is an open-source , general-purpose , high-level programming language


• Developed by Guido van Rossum
• Released in 1991
• Mainly used for:
• Backend Development ( Server-side programming )
• Web Development ( Django and Flask Frameworks)
• Data Analysis and Visualizations
• Machine Learning Tasks
• Deep Learning Task
• GUI
• Software Development
• Research & Development
• All other task in conventional high-level languages

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

Huge Library - Strong Online Community

Less Code , Large Functionalities

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

• A variable is a named memory location which is used to store data.


• Each variable has a type which depends on the values it stores

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 ?

• Anaconda is a distribution of the Python programming language and R for


scientific computing including:
• Data Science
• Machine Learning Applications
• Large-scale Data Processing
• Predictive Analytics, etc.
• Aims to simplify package management and deployment.
• The distribution includes data-science packages suitable for Windows, Linux,
and macOS.
• It is developed and maintained by Anaconda, Inc., which was founded by
Peter Wang and Travis Oliphant in 2012

Lecture 1: Introduction 45
Anaconda Distribution

• Anaconda, Inc. product, it is also known as Anaconda Distribution


• Different Products:
• Anaconda Individual Edition ( Free)
• Anaconda Team Edition ( Commercial)
• Anaconda Enterprise Edition (Commercial)
• Anaconda distribution comes with over 250 packages automatically installed,
and over 7,500 additional open-source packages which can be installed based
on need
• It also includes a GUI, Anaconda Navigator, as a graphical alternative to the
command-line interface (CLI).

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

You might also like