0% found this document useful (0 votes)
17 views11 pages

Programming Fundmentals

Uploaded by

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

Programming Fundmentals

Uploaded by

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

Programming

Fundamentals
Muhammad Azhar Mahmood
[email protected]
Purpose
The purpose of a subject like "Fundamentals of Programming" in the field of computer science
is to provide students with a strong foundation in essential programming concepts and skills.
Basic Skill Development
• Problem Solving
• Understanding Algorithms
• Real-World Relevance
• Innovation
Objectives
• Understand the different types of programming
languages.

• Understand the basic procedures in a program as


input, processing and output.

• Understand the importance of variables.

• Understand a basic map of the program development


cycle.
CPU Central Ram
Processing Unit
01

04 02

03 Input Output
Mass Storage
Devices

Computer Components
System
Software Software Drivers

•Software is comprised of instructions that get a computer to perform a task

• Application Software • Operating Systems


• Word Processors • Windows
• Spreadsheets
• Macintosh OS
• Painting programs
• Web browsers, email programs
• Unix
• Linux
• Drivers
What is programming?
What is a program?
• Programming is the process of giving instructions to a 4

computer to perform specific tasks or solve problems.


3
• A program is a sequence of instructions that specifies
how to perform a computation. The computation might
2
be something mathematical, such as solving a system of
equations or finding the roots of a polynomial, but it can
also be a symbolic computation, such as searching and 1
replacing text in a document or (strangely enough)
compiling a program.
Programming Languages

•Programming languages allow programmers to code


software.

•The three major families of languages are:


• Machine languages
• Assembly languages
• High-Level languages
Advanced-Level (High-Level) Languages
Definition and Characteristics:

High-level programming languages are designed to be easy for humans to read and write. They are
closer to human languages and further from machine code.
These languages abstract away the complexities of the hardware, like memory management and
CPU operations.
They are generally platform-independent, meaning code written in a high-level language can run on
different types of hardware with little or no modification.
High-level languages are often simpler to learn and use, making them suitable for a wide range of
applications, from web development to scientific computing.
Examples:
Python: Known for its simplicity and readability, Python is widely used in web development, data
analysis, artificial intelligence, and scientific computing.
Java: A versatile, object-oriented language that is common in enterprise environments, mobile app
development (especially Android), and large systems.
C#: Developed by Microsoft, used primarily for Windows applications, game development (with
Unity), and enterprise software.
Low-Level Languages
Definition and Characteristics:

Low-level programming languages are closer to the hardware and further from human languages.
They provide little or no abstraction from a computer's instruction set architecture. This means they are more complex and harder to
learn but offer more control over hardware and system resources.
They are divided into two categories: assembly language and machine language.
Machine language consists of binary code and is the most basic form of programming language, directly executable by the hardware.
Assembly language uses symbolic representations of machine language instructions and is specific to a particular computer
architecture.
Examples:
Assembly Language: Each assembly language is specific to a particular computer architecture. It's used in scenarios requiring direct
hardware manipulation, performance optimization, and in systems where resources are limited.
C: Often considered a middle-level language, C provides low-level access to memory and is used for system/software development,
embedded systems, and applications requiring direct hardware access.
Key Differences

Abstraction Level: High-level languages abstract away hardware details, while


low-level languages allow for direct interaction with the hardware.
Ease of Use: High-level languages are more user-friendly and easier to learn,
while low-level languages require a deeper understanding of the hardware.
Portability: Code written in high-level languages can generally run on different
platforms without modification. In contrast, low-level language code is typically
specific to a particular type of machine or architecture.
Control: Low-level languages offer more control over system resources and
performance, whereas high-level languages trade off this control for ease of use
and abstraction.
Usage: High-level languages are used for a wide range of applications, including
web and software development, whereas low-level languages are often used in
system programming, firmware development, and situations where hardware
interaction is critical.

You might also like