APPLICATIONS
ATA — Complete Notes
Prof. Dr. Dip Sankar Banerjee
Weeks 1–13
, WEEK 1 — Introduction to Algorithmic Thinking
• Big Problems → Smaller Steps → Converted into Computing Programs
• Everything is a part of an algorithm!
• Data has many varieties
• Algorithm = Structured way of breaking down big problems into smaller ones
Key Definitions
• Problem = Something that has solutions
• Algorithmic = Step-by-step formalizing, planning or execution (breaking problems into
steps)
• Thinking = Defining a problem (also define constraints) → Solve problem with formal
way
How to Solve a Problem
• Identify Problems → Break into Sub-Problems → Solve those Sub-Problems
• How to Represent an Algorithm:
◦ Flow Charts (Block Diagram)
◦ Pseudocodes
Flow Chart Symbols
• Start / End → Oval/Rounded shape
• Decision → Diamond shape
• Process → Rectangle
• Terminating after finite steps → Parallelogram
Abstraction
• High Level Abstraction → Short but Crisp (Gather Ingredients → Prepare Tea →
Serve Tea)
• Low Level Abstraction → Long & Detail (Boil Water → Add Tea Leaves → Brew →
Add Milk → Serve Tea)
• Abstraction = Focus on Essentials
WEEK 2 — Computers, Memory & Pseudocodes
• Problems → Solution using Set of Steps → Flow Chart → Pseudocode → Program
• Abstraction = Simplifying Complexity by giving sub-groups (Higher Abstraction &
Lower Abstraction)
Computer Basics
• Computer = Device which is capable of processing data
• Program = Set of steps / What to do? (List of Information given to computer)
• Information Store = Storage of machine → Binary Data