🧠

Algorithms and Programs Overview

Aug 15, 2025

Overview

This lecture introduces algorithms, explains their importance in computer science, and compares algorithms to programs, highlighting key differences and uses.

Introduction to Algorithms

  • Algorithms are essential in computer science and routinely appear in exams and programming contests.
  • The subject can be challenging, requiring good logic and strategy development skills.
  • The lecture aims to simplify algorithms and teach approaches to problem-solving.

Definition and Explanation of Algorithms

  • An algorithm is a step-by-step procedure for solving a computational problem.
  • Both algorithms and programs solve problems, but they differ in purpose and implementation.

Difference Between Algorithm and Program

  • Algorithms are written during the design phase, while programs are created during the implementation phase of software development.
  • Algorithms are typically written in plain English or mathematical notation, not tied to specific programming languages.
  • Programs require a particular programming language (e.g., C, C++, Java, Python) and follow syntax rules.
  • Algorithms are hardware and operating system independent; programs depend on both.
  • After writing an algorithm, it is analyzed for efficiency in time and space; programs are tested by running them.
  • Domain experts with knowledge of the problem often write algorithms, while programmers translate them into code.

Language and Usage of Algorithms

  • Algorithms can be written in any understandable language, often using pseudo-English or mathematical expressions.
  • C language is commonly used for writing algorithms, as most students and programmers are familiar with it.

Key Terms & Definitions

  • Algorithm — A step-by-step procedure for solving a computational problem, written in plain language or notation.
  • Program — A set of instructions coded in a programming language to implement an algorithm on a computer.
  • Design Phase — The step in software development where algorithms are developed to outline solutions.
  • Implementation Phase — The stage where algorithms are translated into executable computer code.
  • Domain Knowledge — Understanding of the specific field for which a solution or software is being developed.

Action Items / Next Steps

  • Follow the lecture sequence as numbered for a progressive understanding.
  • Provide feedback on the lecture’s video and audio quality.
  • Review differences between algorithms and programs carefully for exams.