Python Fundamentals – Detailed Notes
1. What is a Language?
Basic Definition
A language is a system of communication that uses symbols, words, or signs to convey
meaning between two or more entities.
In Computing Context
Language is a set of rules and symbols used to give instructions to a computer.
Just as humans speak English, Hindi, or Telugu, computers have their own “languages” to
understand commands.
Example:
English sentence: "Open the door"
Computer command: print("Open the door")
2. What is a Programming Language?
Definition
A programming language is a formal language used to write instructions that a computer
can execute.
Characteristics
Has syntax (rules for writing code)
Can express logic and algorithms
Can store and process data
Example Languages: Python, Java, C, C++, JavaScript
Why needed?
Because computers only understand binary (0s and 1s), we use programming languages as
a bridge between human thinking and computer execution.
3. What is a Program?
Definition
A program is a set of instructions written in a programming language that tells the
computer what to do.
Example in Python:
print("Hello, Students!")
Here, the program has just one instruction — display a message on the screen.
In Real Life:
Microsoft Word is a program
A mobile calculator app is a program
4. Applications and Types of Applications
Application → Software designed to perform a specific task for the user.
Main Types
Web Applications – Run in browsers (e.g., Gmail, Facebook).
Mobile Applications – Run on mobile devices (e.g., WhatsApp, Paytm).
Desktop Applications – Installed on PCs (e.g., MS Office, Photoshop).
Enterprise Applications – Large-scale apps for businesses (e.g., SAP ERP).
Embedded Applications – Run on devices like washing machines, smart TVs.
5. Web Application
Definition
A web application is an application that runs on a web server and is accessed through a web
browser over the internet.
Examples:
Gmail (email)
YouTube (video streaming)
Amazon (online shopping)
Technologies Used:
Frontend: HTML, CSS, JavaScript, React, Angular
Backend: Python (Django, Flask), Java (Spring), PHP, [Link]
Database: MySQL, PostgreSQL, MongoDB
6. Mobile Application
Definition
A mobile application is software designed to run on mobile devices like smartphones or
tablets.
Types of Mobile Apps:
Native Apps: Built for a specific platform (Android → Java/Kotlin, iOS → Swift).
Hybrid Apps: Work on multiple platforms using frameworks like Flutter, React Native.
Examples:
Android: WhatsApp, Swiggy
iOS: GarageBand, iMovie
7. Software and Types of Software
Software → A set of instructions that tells the computer how to perform tasks.
Types of Software
A. System Software
Manages computer hardware and system operations.
Examples:
Operating Systems: Windows, Linux, macOS
Utilities: Antivirus, Disk Cleanup
Without it, the computer cannot run.
B. Application Software
Designed for end users to perform specific tasks.
Examples:
MS Word (document editing)
Chrome (web browsing)
Photoshop (image editing)
8. Translators
Computers understand machine language (binary), but humans write in high-level
languages.
Translators are programs that convert high-level or assembly code into machine code.
8.1 Compiler
Definition:
A program that translates the entire source code into machine code before execution.
Produces an executable file.
Example Languages: C, C++
Advantages:
Fast execution (code is already compiled)
Optimized for performance
Disadvantages:
Errors are shown only after compilation
Example Process:
#include <stdio.h>
int main() {
printf("Hello World");
return 0;
Entire file is compiled first → then executed.
8.2 Interpreter
Definition:
Translates code line-by-line and executes it immediately.
Example Languages: Python, JavaScript
Advantages:
Easy debugging (stops at the error line)
No need for separate compilation
Disadvantages:
Slower than compiled programs
Example in Python:
print("Line 1 works")
print(10/0) # Stops here due to error
print("This won't run")
8.3 Assembler
Definition:
Converts assembly language (mnemonics) into machine code.
Example Assembly Code:
MOV AL, 5
ADD AL, 1
The assembler converts this to binary for the CPU.
Relationship Between Compiler, Interpreter, and Assembler
High-Level Language (Python, C, Java)
↓ Compiler or Interpreter
Assembly Language (low-level mnemonics)
↓ Assembler
Machine Language (binary)
↓ CPU executes
... (rest of the content remains unchanged from user input)