INTRODUCTION TO
COMPUTER SCIENCE
Année universitaire: 2025-2026
OUTLINE
What is Computer Science?
What is Computer System?
What is Computation?
Types of Computing
Computer Organization
Component of a computer
• Hardwre and Software
• Basic computer architecture
Operating System
Understanding binary
Binary numbers and data representation
2
How computer process and store data
COMPUTER SCIENCE
• It is the study of computers computational systems and the
principles of computation;
• It involves the theory, design, development and application of
software and systems that solve problems, process
information, and automate tasks;
• Computer Science spans a wide range of topics from
understanding the fundamental algorithmes that power
computation to creating complex software systems and
exploring areas like artificial intelligence, machine learning,
etc.
3
KEY AREAS OF COMPUTER SCIENCE
Algorithms:
Algorithms are step by step procedures or formulas for solving
problems.
Data structures:
Ways to organize and store data efficiently (arrays, lists,…)
Programming languages:
Formal languages uses to write instructions that computers
can understand (C, Python, Java, …)
Operating systems:
Software that manages computer hardware and provides
services for computer programs (Windows, macOS, Linux) 4
KEY AREAS OF COMPUTER SCIENCE
Databases:
The study of how data is stored, retrieved and managed.
Cybersecurity:
The practice of protecting systems, networks and data from
cyberattacks and unauthorized access.
Human-Computer Interaction (HCI):
The study of how people interact with computers and how to
desig systems that are easy and intuitive to use.
5
COMPUTER SYSTEM
It is capable of performing computations and making logical
decisions;
It is a machine that can transform data into useful
information;
A computer system refers to the integrated collection of
hardware and software components that work together to
perform computing tasks.
6
KEY COMPONENTS OF A COMPUTER SYSTEM
1. Hardware: the physical parts of the computer including:
Central Processing Unit (CPU): the brain of the computer,
responsible for executing instructions.
Memory: includes RAM (temporary storage for data and
instructions) and storage devices (like hard drives or SSDs) for
permanent data storage.
Input devices: tools like keyboards, mice and scanners that
allow users to interact with the computer.
Output devices: monitors, printers and speakers that display or
convey information to users.
Motherboard: the main circuit board that connects all
components of the system.
7
KEY COMPONENTS OF A COMPUTER SYSTEM
2. Software: the programs and operating systems that
instruct the hardware on what to do. This includes:
Operating System (OS) : manages hardware and software
resources, providing a user interface( Windows, macOS,
Linux).
Applications: software designed to perform specific tasks,
such as word processing, web browsing, and gaming.
8
KEY COMPONENTS OF A COMPUTER SYSTEM
3. Data: the information processed by the computer,
which can be in various formats, including texte, images
and audio.
4. Networking: Components that allow computers to
connect and communicate with each other and the
internet, including routers switches, and network
cables.
9
COMPUTATION
Computation is the process of performing mathematical
calculations, data processing, or logical operations to
derive a result from input data.
It encompasses a wide range of activities and can be
executed in various ways, including:
Mathematical operations: basic arithmetic
(addition, substraction, multiplication, division) to
complex functions (integrals, derivatives).
10
COMPUTATION
Data processing: transforming raw data into meaningful
information such as sorting, filtering, aggregating and analyzing
datasets.
Algorithm execution: following a defined set of rules or steps (an
algorithm) to solve a problem or perform a task, such as searching for
data in a database or rendering graphics in a video game.
Logical operations: using boolean logic to make decisions, often
used in programming and circuit design, where operations like AND,
OR and NOT are employed.
Simulation and Modeling: running models to predict outcomes
based on different variables and scenarios, often used in scientific
research, engineering, and economics.
11
TYPES OF COMPUTING
Personal computing;
Client/Server computing;
Cloud computing
12
PERSONAL COMPUTING
It refers to the use of personal computers (PCs),
laptops, and tablets by individuals for general
purpose like browsing, word processing, gaming,
and multimedia.
13
CLIENT/SERVER COMPUTING
It is a distributed computing model that divides tasks or workloads between
service providers (servers) and service requesters (clients).
Examples:
Web applications: when you access a website, your browser (client) sends a
request to a web server, which processes the request and returns the requested
web page.
Email systems: an email client (Outlook) requests messages from an email
server, which stores and manages users’ emails.
Database systems: a database client interacts with a database server to perform
operations like querying, updating, and deleting data.
14
CLOUD COMPUTING
Enables access to computing resources (servers, storage,
applications) over the internet, allowing users to store and process
data remotely. Types include:
• Infrastructure as a Service (IaaS): virtualized computing
resources over the internet;
• Platform as a Service (PaaS): a platform for developing,
running, and managing applications without dealing with
infrastructure;
• Software as a Service (SaaS): software delivered over the
internet (e.g., Google Workspace, Microsoft 365)
15
CLOUD COMPUTING
Examples:
Infrastructure as a Service (IaaS): Amazon Web Services,
Microsoft Azure: provides virtual machies, storage and networking
capabilities along with tools for building, testing, and deploying
applications.
Google Cloud Platform;
Platform as a Service (PaaS):
Heroku: A cloud platform that allows developers to build, run, and
operate applications entirely in the cloud.
Software as a Service (SaaS):
Microsoft 365: offers cloud-based versions of Microsft Office
applications along with services like Outlook and OneDrive. 16
ADVANTAGES OF COMPUTER SCIENCE
Automation and efficiency: computer science enables the
automation of repetitive tasks, reducing human effort and
increasing productivity;
Innovation and problem solving: computer science drives
technological innovation, leading to new products, services and
industries.
Gloabl connectivity: through the development of the internet,
social media, and messaging platofms, computer science has
revolutionized how people communicate globally. (video
conferencing…)
Impact on healthcare: computer science plays a critical role in
healthcare through medical imaging, diagnostics, data analysis,
and the development of health monitoring systems. 17
ADVANTAGES OF COMPUTER SCIENCE
Improved education: computer science has given rise to online
learning platforms, allowing for access to education and knowledge
from anywhere in the world.(virtual classrooms, educational apps)
Entertainment and creativity: computer science powers the
development of video games, special effects in movies, and digital
media platforms, providing new forms of entertainment.(graphic
desing software, music production tools)
Sustainability and environment: through simulations and
smart technologies, computer science helps reduce energy
consumption and optimize resource use in industries such as
agriculture, transportation, and manufacturing.
18
HOW DO COMPUTERS WORK?
A computer in an electronic device that processes data
according to a set of instructions (programs) to perform
various tasks.
19
COMPUTER
20
TYPES OF COMPUTERS
Personal Computers (PCs);
Mainframes;
Supercomputers
21
PERSONAL COMPUTER
It is a device designed for individual
use.
It allows user to perform a variety of
tasks, such as word processing,
browsing the internet, playing
games, and managing multimedia.
Advantages:
Accessibility
Ease of Use
Customization and upgradability
22
MAINFRAME
A powerful computer system designed to
handle and process vast amount of data
quickly and reliably.
Mainframes are used primarily by large
organizations for mission-critical tasks
such as database management, and
entreprise resource planning.
Mainframes are used in industries like
banking, insurance, government,
healthcare…
Example: handling millions of bank
transactions per day, managing customer
databases for large organizations, or
23
processing airline reservations.
SUPERCOMPUTER
A supercomputer is an extremely
powerful computing machine designed
to perform complex computations at
high speeds. They are used for highly
demanding applications, such as
scientific simulations, climate
modeling,…
Example: running simulations of
nuclear reactions, modeling the Earth’s
climate, or conducting complex
molecular research for drug discovery.
24
VON NEUMANN ARCHITECTURE
25
VON NEUMANN ARCHITECTURE: WORKING PRINCIPLE
The Von Neumann architecture operates based on the fetch-
decode execute cycle:
1. Fetch: the CPU retrieves an instruction from memory
using its address;
2. Decode: The CPU interprets the instruction to determine
what action to take;
3. Execute: The CPU performs the operation specified by
the instruction, which may involve artihmetic operations,
data movement, or I/O operations.
26
COMPUTER ORGANIZATION
It refers to the internal structure and operational features of a
computer system, focusing on how its various hardware components
interact to execute instructions and manage data.
27
COMPUTER ORGANIZATION
It refers to the internal
structure and operational
features of a computer
system, focusing on how its
various hardware components
interact to execute
instructions and manage
[Link] deals with the physical
components of the system
and the techniques used to
optimize performance and
resource management.
It is divided into 3 parts:
Central Processing Unit (CPU) or Processor;
Memory and Storage Devices;
Input and Output Devices 28
CENTRAL PROCESSING UNIT (CPU)
Central Processing Unit also known as processor, executes
instructions. It is also known as the brain of the computer.
It processes data and performs calculations that allow the computer
to function and execute tasks.
It consists of 4 main parts:
Control Unit (CU);
Arithmetic Logic Unit (ALU);
Registers;
Cache;
Clock.
29
CENTRAL PROCESSING UNIT (CPU)
30
CONTROL UNIT (CU)
The Control Unit directs and coordinates most of the
operations in the computer. It tells the CPU, memory, and
input/output devices how to responds to a program’s
instructions.
31
ARITHMETIC LOGIC UNIT (ALU)
The ALU performs arithmetic operations (such as addition
and subtraction) and logical operations (such as
comparison). It is responible for carrying out mathematical
and logical decisions.
32
REGISTERS
These are small, high-speed storage locations within the
CPU. They temporarily hold data that is being processed or
used by the CPU.
Registers are faster to access than the main memory (RAM).
33
CACHE
The CPU has its own cache, a small but extremely fast type of
memory that stores frequently accessed data to speed up
processing.
There are usually multiple levels of cache (L1, L2, L3), with
L1 being the fastest but smallest and L3 being larger but
slightly slower.
34
CLOCK
The clock of the CPU dictates its operational speed, often
measured in gigahertz (GHz). The higher the clock speed, the
faster the CPU can process instructions.
It defines how many cycles per second the CPU can perform.
35
CPU-CONCLUSION
The CPU is a crucial component of any computer system,
responsible for processing instructions and executing tasks.
Its performance depends on factors like clock speed, number
of cores, cache size, and the type of instruction set it uses.
Whether in a personal computer, a smartphone, or a server,
the CPU is fundamental to the overall operation and
efficiency of a computer.
36
MEMORY AND STORAGE DEVICES
Memory and storage devices are essential components of
a computer system that deal with data management. While
they are related in their function of storing data, they serve
different purposes in terms of speed, capacity, and volatility.
Here's a breakdown of what memory and storage devices are,
their types, and how they function.
37
MEMORY
Memory refers to the part of a computer where data is
temporarily stored for quick access by the CPU. It's also
known as primary memory or main memory.
Memory is fast but typically has less capacity compared to
storage devices, and it is volatile, meaning the data is lost
when the computer is powered off.
38
MEMORY
39
MEMORY
An octet is the smallest amount of information that can be transferred between
main memory and the central processing unit. In memory, data (information to
be transferred) and commands or instructions that will be used to transform data
are stored.
Each memory is characterized by its access time: this is the time that separates
the request for information from its reception. The smaller the access time, the
faster the memory.
Memory is also characterized by its speed or transfer rate or throughput. This is
the maximum amount of information that a memory can deliver or receive per
unit of time.
40
MEMORY
Two main categories of the memory:
Main memory (also called internal memory)
Mass storage (also called physical memory or external
memory)
41
TYPES OF MEMORY
RAM;
Cache memory;
ROM;
Virtual Memory
42
RANDOM ACCESS MEMORY (RAM)
It temporarily stores data that is currently being used by
the CPU. When you open an application, it is loaded into
RAM for faster access.
RAM is volatile, meaning all data is erased when the power
is turned off.
43
TYPES OF RAM
DRAM (Dynamic RAM): the most common type of RAM
used in modern computers;
SRAM (Static RAM): faster than DRAM but more
expensive and primarily used in cache memory.
44
CACHE MEMORY
Cache is a small, ultra-fast memory located closer to the
CPU than RAM. It stores frequently accessed data to speed
up processing.
Levels:
L1 cache: smallest and fastest cache located inside the
CPU;
L2 and L3 cache: larger and slightly slower, but still
faster than RAM.
45
READ ONLY MEMORY (ROM)
ROM is non-volatile memory that holds essential system
instructions, like the BIOS or firmware, which are needed
for booting the computer;
ROM is non-volatile, meaning the data is retained even
when the computer is turned off.
46
TYPES OF ROM
PROM (Programmable ROM): can be programmed once
and then becomes read-only;
EEPROM (Electrically Erasable Programmable ROM): can
be erased and reprogrammes multiple times, used in
updating firmware.
47
VIRTUAL MEMORY
Virtual memory is not a physical memory but a technique
where part of the hard drive acts as an extension of RAM
when the actual RAM is full.
This is slower than RAM but prevents the system from
running out of memory.
48
STORAGE DEVICES
Storage devices are used to permanently store data such
as applications, documents, and media files. Unlike memory,
storage devices are non-volatile, meaning data is retained
even when the computer is turned off. Storage devices come
in different forms, offering varying levels of speed, capacity,
and durability.
49
TYPES OF STORAGE DEVICES
Hard Disk Drive (HDD)
Purpose: HDDs use mechanical spinning
disks and a read/write head to store and
retrieve data. They have large storage
capacities but are slower than modern
solid-state drives (SSDs).
Capacity: can range from hundreds of
gigabytes (GB) to several terabytes (TB).
Speed: slower than SSDs due to the
mechanical parts involved in
reading/writing data. 50
TYPES OF STORAGE DEVICES
Solid-State Drive (SSD)
Purpose: SSDs use flash memory to
store data, offering much faster read and
write speeds compared to HDDs. There
are no moving parts, making SSDs more
reliable and durable.
Capacity: available in various capacities,
typically ranging from 256 GB to 4 TB.
Speed: SSDs are much faster than HDDs
and are widely used in modern
computers. 51
TYPES OF SSDs
Types of Solid-State Drive (SSD)
SATA SSDs: use the same interface as
HDDs, slower than NVMe SSDs;
NVMe (Non-Volatile Memory Express)
SSDs: much faster and connected directly
to the motherboard through the PCIe
interface.
52
TYPES OF STORAGE DEVICES
Hybrid Drives (SSHD)
A combination of HDD and SSD technology.
SSHDs use an HDD for high-capacity storage and an SSD for
caching frequently used data, providing a balance between
performance and capacity.
53
TYPES OF STORAGE DEVICES
Optical Drives
Optical drives read and write data to discs such as CDs,
DVDs, or Blu-rays using laser technology. These are less
common in modern computers but still used for media
distribution or data backup.
Capacity:
• CD : typically holds around 700 MB;
• DVD: holds 4.7 GB (single-layer) or 8.5 GB (dual-layer);
• Blu-ray: holds 25 GB (single-layer) or 50 GB (dual-layer)
54
TYPES OF STORAGE DEVICES
Memory cards
Used in portable devices like cameras, smartphones, and
tablets. These cards are small and use flash memory to store
data.
Types: SD cards, microSD cards, CompactFlash, etc.
Capacity: can vary widely from a few GB to 1 TB or more.
55
TYPES OF STORAGE DEVICES
Network Attached Storage (NAS)
NAS is a storage system connected to a network that allows
multiple users and devices to store and access data from a
central location. It's often used in homes or businesses for
file sharing and backup.
Capacity: depends on the installed drives, can be several
terabytes to petabytes.
56
DIFFERENCE BETWEEN MEMORY AND STORAGE DEVICES
57
SUMMARY
Memory: refers to the fast, temporary storage used to hold data
that the CPU needs immediately. RAM and cache are key examples
of primary memory. It is volatile, meaning data is lost when the
system is turned off.
Storage Devices: these are non-volatile components that store
data permanently, even when the computer is turned off. Examples
include hard drives, SSDs, and USB flash drives. They are slower
than memory but provide much more storage capacity.
58
INPUT AND OUTPUT DEVICES
Input and Output
Devices are hardware
components that allow
users to interact with a
computer system by
entering data (input) and
receiving data (output).
These devices enable
communication between
the user and the
computer.
59
INPUT DEVICES
Input devices are hardware components that
allow user to provide data and control signals to
a computer. They enable users to input
information, commands, and instructions into
the system.
60
INPUT DEVICES
Examples of Input Devices:
Keyboard: allows the user to input texts, numbers, and commands by pressing
keys.
Mouse: a pointing device that controls the on-screen cursor and selects items.
Touchscreen: a display that also acts as an input device by detecting touch
gestures.
Scanner: converts physical documents or images into digital format.
Microphone: captures audio input, converting sound into digital data.
Camera (Webcam): capture video or images.
Game Controller/ Joystick: used for playing games.
Barcode Scanner: reads barcodes and converts them into digital data.
Biometric devices: identifies and verifies users through unique biological
61
characteristics.
OUTPUT DEVICES
Output Devices are hardware components that
allow the computer to communicate information back
to the user by displaying, printing, or outputting data
in various formats.
62
OUTPUT DEVICES
Examples of Output Devices:
Monitor (Display Screen): displays visual output from the computer (LCD or
LED monitor);
Printer: produces a physical, hard-copy output from digital data.
Speaker: outputs sound from the computer.
Headphones: private listening device that outputs audio.
Projector: projects images or video from the computer onto a larger screen.
63
INPUT/OUTPUT (I/O) DEVICES
Examples of I/ODevices:
Touchscreen:
Input: registers touch gestures
Output: displays visual content
External hard drive:
Input: data is written (stored) to the drive
Output: data is read (retrieved) from the drive
Modem:
Input: receives data from the internet
Output: sends data to the internet
Sound Card:
Input: receives audio input from a microphone
Output: sends audio output to speakers or headphones
64
SUMMARY
Input devices: allow users to send data and commands to
the computer (e.g., keyboard, mouse, microphone)
Output devices: allow the computer to send information
back to the user (e.g., monitor, printer, speakers)
Input/output devices: can perform both input and output
functions (e.g., touchscreen, external hard drive)
65
MOTHERBOARD CARD
A motherboard, also known as a mainboard or system board,
is a crucial component of a computer system. It serves as the
primary circuit board that connects and allows
communication between various components of the
computer.
66
SOFTWARE AND OPERATING SYSTEMS
67
SOFTWARE
The English term "software" has been used since 1953 to
distinguish the modifiable part of the computer, as opposed to
hardware, which is the permanent physical component.
Software refers to a collection of programs, data, and instructions
that enable a computer or electronic device to perform specific
tasks or functions. Unlike hardware, which refers to the physical
components of a computer (like the CPU, RAM, and hard drives),
software is intangible and exists as code that can be executed by
the hardware.
68
SOFTWARE
Software consists of computer programs that instruct the computer
on how to perform tasks.
A software program is an executable program that utilizes the
hardware resources of the computer system. By controlling various
hardware components (processors, memory, input and output
devices), software ensures the conversion of data entered by the
user or captured from the environment into binary data, presents
users with actions to undertake, transforms the chosen actions into
executable instructions for the computer by combining the input
data with previously stored data, remembers the results of these
actions, presents them to users in an appropriate form, and
commands direct actions on the environment.
69
SOFTWARE
From the user’s perspective:
Software is an application that meets a specific need:
Word processing
Calculations
Drawing
Internet browsing
Games, etc.
Software is a series of instructions that are invisible to the user:
Printing
Network connection, etc.
70
SOFTWARE
From a technical perspective:
Software contains sequences of instructions that detail the
algorithms.
The instructions of a software program are written in a language
that the computer can understand, the binary language (0 or 1).
Software can contain various files, such as images, sound, text, or
documents.
These files can be used by the software, for example, displayed as
icons on the graphical interface, or made available to the user as
help, templates, or examples. 71
SOFTWARE
Often, we contrast software, which remains abstract, with hardware,
which is concrete and visible. The two are inseparable and
interdependent.
We distinguish two main categories of software:
• System software
• Application software
72
SYSTEM SOFTWARE
System software is a type of software designed to manage and
control the hardware components of a computer system and provide a
platform for running application software. Unlike application
software, which is designed to perform specific tasks for the user,
system software serves as a mediator between the user and the
hardware, facilitating the operation of application software and the
overall functioning of the computer.
73
SYSTEM SOFTWARE- EXAMPLES
1. Operating System (OS):
The operating system manages computer hardware and software
resources and provides common services for application
programs.
74
SYSTEM SOFTWARE- EXAMPLES
2. Device Drivers:
• These are specialized programs that allow the
operating system to communicate with hardware
devices (e.g., printers, graphics cards, disk drives).
• Device drivers act as translators between the OS and
the hardware, ensuring proper functioning.
75
SYSTEM SOFTWARE- EXAMPLES
3. Utility Programs:
• Utility software performs maintenance tasks to help
manage, maintain, and control computer resources.
• Examples include:
• Disk management tools
• Antivirus software
• Backup and recovery programs
• File management utilities
76
SYSTEM SOFTWARE- EXAMPLES
4. Firmware
• This is a specific type of system software that is
embedded directly into hardware devices (e.g.,
BIOS/UEFI in computers, firmware in routers).
• Firmware provides low-level control for the device's
specific hardware.
77
IMPORTANCE OF SYSTEM SOFTWARE
• Foundation for Application Software: System
software provides the environment and resources
necessary for application software to run efficiently.
• Hardware Control: It ensures that hardware
components work together seamlessly and effectively.
• System Performance: Optimizes the performance
and stability of the computer system. 78
SYSTEM SOFTWARE
In summary, system software is essential for the
functionality of a computer, acting as the backbone that
supports the operation of application software and
manages hardware resources.
79
APPLICATION SOFTWARE
Application software refers to programs designed to
help users perform specific tasks or activities on a
computer or mobile device. Unlike system software,
which manages and controls the hardware and provides a
platform for running applications, application software is
intended to fulfill user needs directly.
These are essentially software programs that are not
systematically provided by the computer vendor and
depend on a specific installation at a user’s location.
80
APPLICATION SOFTWARE
Application software is used to manage programs designed for a particular task.
First, we find general software such as:
Word processors: They allow users to create documents.
Spreadsheets: These are software programs for managing tables.
Browsers: These are software applications for accessing the World Wide
Web.
Multimedia players: These are software designed to play audio or video files
of various types (MP3, MPEG, etc.).
Image editing software: These are programs for editing, modifying images,
and creating drawings.
Animation creation software: These allow users to create animated images
(.GIF), Flash games (.SWF), and animated web pages (.HTM).
Presentation software: These enable users to create animations intended to
be presented to a group. 81
APPLICATION SOFTWARE
• Video editing software
• Gaming software
• Database management software
• Email software: allows communication between two users.
• Antivirus software: detects and removes malicious programs.
82
APPLICATION SOFTWARE
Next, we find applications specific to a particular organization:
inventory management applications for a business, human resource
management for a company, billing for a corporation, etc.
A software package is a complete and
documented set of programs
designed to be provided to multiple
users for the same application or
function. It is intended to cover the
most common uses in a field and is
customized for a group with similar
needs.
83
SOFTWARE PACKAGE
The software package is sold by a publisher in the form of a complete product. The cost of
implementing a software package (primarily installation and configuration work) can be
considered lower than the cost of developing a complete custom internal solution. Moreover, the
implementation timelines of a software package are generally better controlled (compared to the
timelines for developing a complete custom solution), and the complexity of the project is
theoretically reduced.
The complete software package includes:
• Software components (for example, in the form of CD-ROMs)
• Online and/or printed documentation
• Training sessions
• Assistance with installation, configuration, and implementation
• Telephone support, etc.
84
SOFTWARE PACKAGE
A software package is a professional software used by businesses. It is often a
complete set consisting of several modules, each covering a function and
communicating with one another. The software packages implemented in
companies primarily cover the following major areas:
• ERP - Enterprise Resource Planning: This category of tools integrates all
computerized systems that help with work in the company (e.g., billing,
production assistance, accounting, etc.).
• CRM - Customer Relationship Management: This encompasses all tools
that allow the integration of customers into the company’s information system.
• SCM - Supply Chain Management: This includes all tools that integrate
suppliers into the company’s information system.
• HR - Human Resource Management 85
IMPORTANCE OF APPLICATION SOFTWARE
• Increases Productivity: Allows users to accomplish specific
tasks efficiently, saving time and effort.
• Enhances Creativity: Provides tools for creative expression and
design, such as graphic design or music production software.
• Facilitates Communication: Supports personal and
professional communication through email, messaging, and video
conferencing applications.
• Data Management: Enables users to store, retrieve, and analyze
data, which is crucial for decision-making in businesses.
86
APPLICATION SOFTWARE- SUMMARY
In summary, application software is essential for users
to perform a wide range of tasks effectively, making it
a vital component of modern computing.
87
LICENSING SOFTWARE
88
LICENSING SOFTWARE
Licensing software refers to programs that are
distributed under specific terms and conditions that
dictate how the software can be used, shared, or
modified. Licensing is an important aspect of software
distribution, ensuring that developers and companies
maintain control over their products while allowing
users to benefit from them.
89
TYPES OF SOFTWARE LICENSES
• Proprietary Licences
• Open Source Licenses
• Freeware
• Shareware
• Commercial Licenses
90
PROPRIETARY LICENSES
Proprietary software, non-free software, or closed-
source software is software that does not legally or
technically, or by any other means, allow
simultaneous exercise of:
• The execution of the software for any type of use;
• The study of its source code (and thus access to that
source code);
• The distribution of copies;
• The modification and improvement of the source
code. 91
PROPRIETARY LICENSES
• The software is owned by a company or individual,
and the user is granted limited rights to use the
software under specific conditions.
• Users typically can not modify or distribute the
software.
• Examples: Microsoft Windows, Adobe Photoshop
92
OPEN SOURCE LICENSES
• It allows usage, study, modification, and
duplication by others for the purpose of
distribution, both technically and legally, in order
to guarantee certain associated freedoms, including
user control over the program and the ability to
share among individuals.
• The great strength of free software lies in its open
source code, which can be modified legally.
93
OPEN SOURCE LICENSES
• The source code of the software is made available to
the public, allowing users to view, modify, and
distribute the software.
• Open source licenses can vary in terms of allowed
modifications and distribution.
• Examples: GNU General Public License (GPL),
MIT License.
94
FREEWARE
• Software that is available for use at no cost but may
still be proprietary.
• Users can use the software for free, but they may
not have access to the source code or the right to
modify it.
• Examples: Adobe Acrobat Reader, Skype
95
SHAREWARE
• A trial version of software that users can try for free
for a limited time before purchasing a license for
continued use.
• After the trial period, users are typically required to
pay for the full version.
• Examples: certain antivirus programs
96
COMERCIAL LICENSES
• Software that requires payment for a license and
may come with specific terms regarding usage and
distribution.
• These licenses are often tailored for businesses and
organizations.
97
IMPORTANCE OF LICENSING SOFTWARE
• Legal protection: licensing protects the intellectual
property rights of software developers and
companies
• User rights: clearly outlines what users can and can
not do with the software, helping prevent misuse.
• Revenue generation: licensing can be a significant
source of revenue for software developers and
companies.
• Quality control: helps maintain the quality and
integrity of the software by controlling how it is
distributed and used. 98