Unit 1: Introduction to Programming Methodology

Table of Contents

1. Introduction to Programming and Concepts

Programming is the process of creating a set of instructions that tells a computer how to perform a task.

2. Characteristics of Programming

Efficient programming follows specific traits to ensure the software is useful and maintainable:

3. Stages in Program Development

Developing a program is a systematic process that involves several critical steps:

  1. Problem Definition: Understanding the requirements and what needs to be solved.
  2. Analysis: Breaking down the problem and identifying inputs, processes, and outputs.
  3. Design: Creating the logic using algorithms and flowcharts.
  4. Coding: Translating the logic into a specific programming language (like C).
  5. Testing and Debugging: Running the program to find and fix errors.
  6. Documentation: Writing manuals and comments for future reference.

4. Algorithms and Notations

Algorithm: A step-by-step logical procedure to solve a given problem in a finite number of steps.

Example Algorithm to add two numbers:

  1. Start
  2. Input A and B
  3. Calculate SUM = A + B
  4. Print SUM
  5. Stop

5. Flowcharts and Symbols

A flowchart is a visual or graphical representation of an algorithm using standard symbols.

Symbol Name Purpose
Oval Terminal Indicates the Start and End of the flowchart.
Parallelogram Input/Output Represents data entry (Read) or display (Print).
Rectangle Process Represents a calculation or data manipulation.
Diamond Decision Used for conditions (Yes/No or True/False branches).

6. Types of Programming Methodologies

Different approaches are used to design and structure programs:

7. Exam Focus Enhancements

Exam Tips

Common Mistakes

Frequently Asked Questions

Q: What is the difference between testing and debugging?
A: Testing is the process of finding errors; debugging is the process of locating and fixing those errors.

Q: Why is a flowchart useful?
A: It provides a clear visual map of the program's logic, making it easier to communicate the design to others and spot logical flaws.