Programming Fundmentals
Programming Fundmentals
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.
04 02
03 Input Output
Mass Storage
Devices
Computer Components
System
Software Software Drivers
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