What is aComputer?
ï âą A computer is an electronic device that
processes data and converts it into useful
information.
ï âą It performs four main functions: Input,
Processing, Storage, and Output.
3.
Basic Functions ofa Computer
ï 1. Input: Data entered into the computer.
ï 2. Processing: Data manipulation and decision-
making.
ï 3. Storage: Saving data and instructions.
ï 4. Output: Displaying results.
4.
Basic Block Diagramof Computer System
ï Input Unit CPU (Control Unit + ALU) Memory
â â
Unit Output Unit
â
6.
Input Unit
ï âąTakes data and instructions from the user.
ï âą Converts it into a form that the computer can
understand.
ï âą Devices: Keyboard, Mouse, Scanner, etc.
7.
Central Processing Unit(CPU)
ï âą Brain of the Computer
ï âą Consists of:
ï - Control Unit (CU): Directs operations of the
computer.
ï - Arithmetic Logic Unit (ALU): Performs
calculations and logical comparisons.
8.
Memory Unit
ï âąTemporarily stores data and instructions.
ï âą Two main types:
ï - Primary Memory (RAM, ROM)
ï - Secondary Storage (Hard Disk, SSD)
9.
Output Unit
ï âąConverts processed data into a human-readable
form.
ï âą Devices: Monitor, Printer, Speaker, etc.
10.
Storage Devices
ï âąUsed for long-term data storage.
ï âą Examples:
ï - Hard Disk Drive (HDD)
ï - Solid State Drive (SSD)
ï - USB Flash Drive
11.
Concept of Hardware
ïâą Physical parts of the computer.
ï âą Examples:
ï - Monitor, Keyboard, CPU, Printer, Mouse
ï âą Tangible and visible
12.
Concept of Software
ïâą Set of instructions used to operate computers
and perform tasks.
ï âą Types:
ï - System Software (e.g., Operating System)
ï - Application Software (e.g., MS Word, Web
Browser)
13.
Difference: Hardware vsSoftware
ï Hardware:
ï - Tangible, Physical components
ï - Can be touched
ï Software:
ï - Intangible, Logical components
ï - Cannot be touched
14.
Types of Software& Computer Languages
ï Concepts of Machine Level, Assembly Level, and
High-Level Languages
ï Your Name / Institution / Date
15.
Types of Software
ïSoftware is categorized into:
ï 1. System Software
ï 2. Application Software
ï 3. Utility Software
ï 4. Programming Software
16.
System Software
ï âąControls the hardware and basic system
operations.
ï âą Examples: Operating System (Windows, Linux),
Device Drivers
17.
Application Software
ï âąDesigned for end-users to perform specific
tasks.
ï âą Examples: MS Word, Excel, Web Browsers,
Games
18.
Utility Software
ï âąProvides additional functionality to the OS.
ï âą Examples: Antivirus, Disk Cleanup, File
Compression Tools
19.
Programming Software
ï âąUsed to write, test, and debug programs.
ï âą Examples: Text Editors, Compilers, Debuggers,
IDEs
20.
Introduction to ComputerLanguages
ï âą Used to write instructions for a computer to
perform specific tasks.
ï âą Types:
ï 1. Machine Level Language
ï 2. Assembly Level Language
ï 3. High-Level Language
21.
Machine Level Language
ïâą Lowest-level language (binary: 0s and 1s)
ï âą Directly understood by the computer.
ï âą Very fast but hard to understand and write.
22.
Assembly Level Language
ïâą Uses mnemonic codes (e.g., ADD, SUB)
ï âą Easier than machine language but still
hardware-specific.
ï âą Requires an assembler to convert to machine
code.
23.
High-Level Language
ï âąHuman-readable languages (e.g., Python, Java,
C++)
ï âą Easy to learn, write, and debug.
ï âą Requires a compiler or interpreter.
What is aCompiler?
ï âą A compiler is a program that converts high-
level source code into machine code (binary).
ï âą It translates the entire code at once before
execution.
Compiler vs Interpreter
ïCompiler:
ï âą Translates full program before execution.
ï âą Faster execution after compilation.
ï Interpreter:
ï âą Translates and runs code line by line.
ï âą Easier debugging, slower execution.
35.
Examples of Compilers
ïâą GCC (GNU Compiler Collection)
ï âą Clang
ï âą Java Compiler (javac)
ï âą Microsoft Visual C++ Compiler
What is anAlgorithm?
ï âą An algorithm is a finite set of well-defined steps
to solve a particular problem.
ï âą It is independent of programming languages.
ï âą Must be: Clear, Finite, and Effective.
38.
Characteristics of aGood Algorithm
ï 1. Input: Zero or more inputs.
ï 2. Output: At least one output.
ï 3. Definiteness: Clear and unambiguous steps.
ï 4. Finiteness: Must terminate after a finite
number of steps.
ï 5. Effectiveness: Basic, executable instructions.
39.
Importance of Algorithms
ïâą Forms the foundation of computer
programming.
ï âą Helps in efficient problem-solving.
ï âą Enables code reusability and optimization.
ï âą Used in searching, sorting, encryption, AI, etc.
What is aFlowchart?
ï âą A flowchart is a graphical representation of an
algorithm.
ï âą It shows the sequence of operations in a
process.
ï âą Uses standard symbols to depict different
actions.
42.
Importance of Flowcharts
ïâą Visual representation of the process.
ï âą Easy to understand and analyze logic.
ï âą Helps in debugging and documentation.
ï âą Useful for communication among team
members.
Rules for CreatingFlowcharts
ï âą Flow should be top to bottom or left to right.
ï âą Use correct symbols.
ï âą Keep it clear and uncluttered.
ï âą Use connectors to avoid crossing lines.
45.
Flowchart vs Algorithm
ïAlgorithm:
ï âą Text-based step-by-step instructions.
ï âą Better for precise representation.
ï Flowchart:
ï âą Diagrammatic representation.
ï âą Easier for visualization and understanding.
46.
Example Algorithm
ï Problem:Find the largest of two numbers
ï Step 1: Start
ï Step 2: Read A, B
ï Step 3: If A > B then
ï Print A is largest
ï Else Print B is largest
ï Step 4: End
Advantages of Algorithms
ïâą Easy to understand logic.
ï âą Platform-independent.
ï âą Helps in algorithm analysis.
ï âą Improves problem-solving skills.
50.
Advantages of Flowcharts
ïâą Simplifies complex logic.
ï âą Helps in planning and designing programs.
ï âą Identifies errors in logic easily.
ï âą Documentation tool.
51.
Limitations of Flowcharts
ïâą Complex to modify.
ï âą Tedious for large programs.
ï âą Requires drawing tools/software.
ï âą Can become confusing if not properly
organized.
52.
Summary
ï âą Algorithmsand flowcharts are essential tools in
programming and logic design.
ï âą Algorithms define the logic; flowcharts
visualize it.
ï âą Both improve clarity, efficiency, and problem-
solving.