Fundamental Programming Concepts

Fundamental Concepts in Programming

Overview of Programming Concepts
  • Definition of Information Technology (IT)

    • The study or use of systems, particularly computers and telecommunications, for storing, retrieving, and sending information.
  • Definition of Information and Communications Technology (ICT)

    • ICT pertains to technologies that provide information through telecommunication, enhancing communication and data sharing.
  • Definition of Computer

    • A computer is an electronic device that processes data and performs tasks according to a set of instructions known as a program.
  • Definition of Computer System

    • A computer system includes hardware, software, and related components that work together to execute a computer program.
  • Parts of a Computer System

    • Central Processing Unit (CPU), Memory (RAM, ROM), Storage (Hard drives, SSDs), Input Devices (Keyboard, Mouse), Output Devices (Monitor, Printer).
Programming Language
  • Definition
    • A programming language is a formal set of instructions that are used to communicate with a computer, allowing for the creation of software applications.
  • Computer Program
    • A collection of instructions that direct the computer on how to perform specific tasks and operations.
Generations of Programming Languages
  • First Generation (1GL): Machine Language

    • Timeframe: Late 1940s – early 1950s
    • Characteristics: Directly executable, uses binary code (0s and 1s), machine-dependent, difficult to learn.
  • Second Generation (2GL): Assembly Language

    • Timeframe: 1950s
    • Characteristics: Uses mnemonics for commands, less difficult than machine language, needs conversion into machine code, machine-dependent.
  • Third Generation (3GL): High-Level Language

    • Timeframe: Late 1950s
    • Characteristics: Closer to human language, easier to learn, uses control structures and data structures, machine-independent, utilizes compilers and interpreters.
  • Fourth Generation (4GL): Declarative Language

    • Characteristics: Focuses on what to do rather than how to do it, reduced software development time, effort, and cost, but sacrifices some power and flexibility.
  • Fifth Generation (5GL): AI Languages

    • Concept: Focus on problem-solving based on constraints declared in the program.
    • Techniques: Includes neural networks and expert systems for intelligent decision-making.
Software Development Lifecycle
  • Stages
    1. Analyze
    2. Code
    3. Operate
    4. Execute
    5. Distribution and Maintenance
Basic Programming Structure
  • Components
    • Sequence
    • Execution of statements in order.
    • Selection
    • Decision-making within the program flow, typically using if statements.
    • Loop
    • Repeating a section of code multiple times until a condition is met.
Algorithms and Flowcharts
  • Definition of Algorithm
    • A step-by-step process to solve a problem.
    • Types of algorithms: Pseudocode and Flowcharts.
  • Flowchart
    • A graphical representation of an algorithm, showing the flow of control or data.
Variables and Data Types in Programming
  • Variables

    • Named storage locations in memory that hold data.
    • Characteristics: Must be descriptive, no spaces or special characters, can use underscores for multi-word names.
  • Data Types

    • Indicate the kind of data a variable can store: Numerical, String, Character.
Expressions and Operators
  • Definition of Expression

    • A valid combination of values and operations that produces a result.
    • Example: (S=X+Y)(S = X + Y)
  • Types of Operators

    1. Arithmetic Operators
    • Perform mathematical calculations (e.g., +, -, *, /).
    1. Relational Operators
    • Compare values and return true or false (e.g., >, <, ==).
    1. Logical Operators
    • Combine boolean values (e.g., AND, OR, NOT).
Sample Problems and Flowchart Prompts
  • Example 1

    • Create a flowchart to display the sum of two numbers:
    • Input: x, y
    • Process: (s=x+y)(s = x + y)
    • Output: s
  • Example 2

    • Create a flowchart to determine the area of a circle given the radius.
    • Input: Radius
    • Output: Area using the formula (Area=extπimes(radius2))(Area = ext{π} imes (radius^2))