Lecture 1 479 1

Download as pdf or txt
Download as pdf or txt
You are on page 1of 38

MODERN PROGRAMMING LANGUAGE

(Python/Java/Rust/Dart)

Introduction to Python
Info:
• Instructor: Sayed Mortaza Kazemi
• Office Phone: 0795474969
• Email: [email protected] / [email protected]

2019 - Modern Programming (Java) 1-2


Grading

• Midterm: 25%
• Final: 50%
• Assignment & Projects: 15%
• Homework and practice: 10%
• Bonus Marks (Will be adjusted in your overall marks)
Full Attendance 10 Marks
1 day short 6 Marks
2 day short 4 Marks
3 day short 2 Marks
2019 - Modern Programming (Java) 1-3
Required to have knowledge

• Fundamentals of Programming
• Object Oriented Programming

2019 - Modern Programming (Java) 1-4


Focus of the Course

• This is a PROJECT based course.


• Object-Oriented Software Development
• problem solving
• program design, implementation, and testing
• Python GUI Framework, graphical user interfaces
• object-oriented concepts
• Classes and objects
• encapsulation
• inheritance
• polymorphism

2019 - Modern Programming (Java) 1-5


Learning Outcomes

• Should Understand What is Python?


• What is History of Python?
• What are Python features?
• Which Python 2 or 3 should we learn and Use?
• How to run python program?
What is Python Programming language

• What is Python programming Language?

• Python is a High-level programming language for general-purpose programming,


created by Guido van Rossum and first released in 1991.
Why python?

• Developer Productivity (1/3—1/5 of others), Runs Immediately


• Support libraries
• Component integration
• Data Science, Gaming, Robots etc..
• It’s Mixable
Companies that use python
Contd..
History of Python

• Started implementation at year 1989 by Guido van Rossom , Netherlands


• Python 2.0 was released on October 16, 2000
• Latest version for Python 2.7 is July,3, 2010
• Python 3.0, a major, backwards-incompatible release, was released on December
3, 2008
• Latest version for Python 3.8.2 - is March, 2020
Python 2 vs Python 3

• Companies have been moving from Python 2 to 3


• Although Python 2.7 is still widely used, Python 3 adoption is growing quickly.
• Python 2.7 will “retire” and no longer be maintained …2020
Contd..
Python Compared to Java
Python Compared to Java
Python Compared to Other
Features of Python
Easyt
a. Easy to Code
• Compared to other popular languages like Java and C++, it is
easier to code in Python. Anyone can learn Python syntax in just a
few hours. Mastering Python requires learning about all its
advanced concepts and packages and modules, and it is
programmer-friendly.
b. Easy to Read
• Being a high-level language, Python code is quite like English.
Looking at it, you can tell what the code is supposed to do. Also,
since it is dynamically-typed, it mandates indentation. This aids
readability.
Expressive

• Python provides us with a countless number of constructs


that help us focus on the solution rather than on the
syntax. This is one of the outstanding python features that
tell you why you should learn Python.
• Suppose we have two languages A and B, and all programs
that can be made in A can be made in B using local
transformations. However, there are some programs that
can be made in B, but not in A, using local
transformations. Then, B is said to be more expressive
than A.
High-Level, Free and Open-Source
• Python is freely available. You can download it from the Python
Website. It is open-source. This means that its source code is
available to the public. You can download it, change it, use it, and
distribute it. This is called FLOSS(Free/Libre and Open Source
Software).
• It is a high-level language. This means that as programmers, we
don’t need to remember the system architecture. Nor do we
need to manage the memory. This makes it more programmer-
friendly and is one of the key python features.
Portable

• Assume you’ve written a Python code for your Windows


machine. Now, if you want to run it on a Mac, you don’t
need to make changes to it for the same. In other words,
you can take one code and run it on any machine, there is
no need to write different code for different machines.
This makes Python a portable language. However, you
must avoid any system-dependent features in this case.
Interpreted

• Languages like C++ or Java, you must first compile it, and then run
it. But in Python, there is no need to compile it. Internally, its
source code is converted into an immediate form called bytecode.
So, all you need to do is to run your Python code without
worrying about linking to libraries, and a few other things.
• By interpreted, we mean the source code is executed line by line,
and not all at once. Because of this, it is easier to debug your
code. Also, interpreting makes it just slightly slower than Java, but
that does not matter compared to the benefits it has to offer.
Object-Oriented, Extensible
• A programming language that can model the real world is said to
be object-oriented. It focuses on objects and combines data and
functions. Contrarily, a procedure-oriented language revolves
around functions, which are code that can be reused. Python
supports both procedure-oriented and object-oriented
programming which is one of the key python features. It also
supports multiple inheritances, unlike Java. A class is a blueprint
for such an object. It is an abstract data type and holds no values.
• If needed, you can write some of your Python code in other
languages like C++. This makes Python an extensible language,
meaning that it can be extended to other languages.
Embeddable, Large Standard Library

• It is possible to put our Python code in a source code in a


different language like C++. This allows us to integrate scripting
capabilities into our program of the other language.
• Python downloads with a large library that you can use so you
don’t have to write your own code for every single thing. There
are libraries for regular expressions, documentation-generation,
unit-testing, web browsers, threading, databases, CGI, email,
image manipulation, and a lot of other functionality.
GUI Programming, Dynamically Typed

• A software is not user-friendly until its GUI is made. A user can


easily interact with the software with a GUI. Python offers various
libraries for making Graphical user interface for your applications.
For this, you can use Tkinter, PyQT, wxPython or JPython. These
toolkits allow you for easy and fast development of GUI.

• Python is dynamically-typed. This means that the type for a value


is decided at runtime, not in advance. This is why we don’t need
to specify the type of data while declaring it.
How Python Programs Run

• There is a software package called an interpreter. An interpreter is


a kind of program that executes other programs.

• It is a layer of software logic between your code and the


computer Hardware
Contd..
• For ex:
• print (‘ My First Python Program’)

• 1. The interpreter changes it to bytecode…


• 2. The bytecode is executed by Python Virtual Machine (PVM)
Variable Assignment
• We use the assignment operator (=) to assign values to a variable. Any type of
value can be assigned to any valid variable.
How to write a Program in Python

Run your First Python Program


How to run a Python Program?
• Install Anaconda Software, Thonney or Python IDLE
• Steps:
• Visit Anaconda.com/downloads
• Select Windows
• Download the .exe installer
• Open and run the .exe installer
• Open the Anaconda Navigator
• Select Jupyter Notebook
• Run the python code
Jupyter Notebook
Writing the code
Exercises

• Accept two numbers from the user and calculate


multiplication
• Accept any three string from one input() call?
Presentation Assignment
• What is MVC?
• Which Frameworks of Python Support MVC, explain one of them with example?
• What are different types of programming techniques for solving a Problem?
• e.g. Dynamic Programming, Greedy Programming, Linear Programming ..etc
Thank You

You might also like