Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Programming Fundamentals — Logic, Structure, Algorithms & Problem-Solving
#1
Programming Fundamentals — Logic, Structure, Algorithms & Problem-Solving

Programming is the art of turning ideas into instructions a computer can follow. 
This thread introduces the essential concepts needed to understand code, algorithms, and computational thinking.

-----------------------------------------------------------------------

1. What Is Programming?

Programming is the process of writing instructions that computers execute.

Languages include:
• Python 
• JavaScript 
• C / C++ 
• Java 
• Rust 
• Go 
• Swift 

All languages share the same core ideas:
• variables 
• data types 
• logic 
• loops 
• functions 
• algorithms 

-----------------------------------------------------------------------

2. Variables & Data Types

Variables store information.

Common data types:
• integers (whole numbers) 
• floats (decimals) 
• strings (text) 
• booleans (True/False) 
• lists/arrays 
• dictionaries/maps 

Example in Python:
Code:
age = 21
name = "Sarah"
height = 1.75
is_student = True

-----------------------------------------------------------------------

3. Control Flow — Making Decisions

Programs make decisions using conditions.

Example:
Code:
if temperature > 30:
    print("It's hot!")
else:
    print("Nice weather.")

Comparison operators:
• > 
• < 
• >= 
• == 
• != 

-----------------------------------------------------------------------

4. Loops — Repeating Instructions

Loops repeat code until a condition is met.

For loop:
Code:
for i in range(5):
    print(i)

While loop:
Code:
while x < 10:
    x += 1

Loops are vital for:
• simulations 
• processing lists 
• iterating over data 
• automation 

-----------------------------------------------------------------------

5. Functions — Reusable Blocks of Code

Functions organise code into reusable pieces.

Example:
Code:
def add(a, b):
    return a + b

Benefits:
• avoids repetition 
• clearer structure 
• easier debugging 

-----------------------------------------------------------------------

6. What Is an Algorithm?

An algorithm is a step-by-step method for solving a problem.

Example: 
“Find the largest number in a list”

1. assume first number is largest 
2. check each number 
3. if a number is bigger → update largest 
4. output result 

Programming = implementing algorithms in code.

-----------------------------------------------------------------------

7. Common Algorithms

Sorting:
• bubble sort 
• merge sort 
• quicksort 

Searching:
• linear search 
• binary search 

Graph algorithms:
• Dijkstra’s shortest path 
• A* search 

Data structure basics:
• stacks 
• queues 
• linked lists 
• trees 
• hash maps 

These form the basis of computer science.

-----------------------------------------------------------------------

8. Big O Notation (Time Complexity)

Big O describes how fast an algorithm grows as input size increases.

Examples:
• O(1) → constant 
• O(n) → linear 
• O(n²) → quadratic 
• O(log n) → logarithmic 

Why it matters:
• performance 
• scalability 
• optimisation 

-----------------------------------------------------------------------

9. Good Programming Practices

✔ write clean, readable code 
✔ comment important sections 
✔ use descriptive variable names 
✔ test your code 
✔ break problems into smaller parts 
✔ avoid duplication (DRY principle) 
✔ version control (Git) 

-----------------------------------------------------------------------

10. Common Mistakes

❌ Forgetting indentation (Python) 
✔ indentation defines structure

❌ Infinite loops 
✔ ensure loop conditions eventually become False

❌ Using = instead of == in conditions 
✔ = assigns, == compares

❌ Not testing small pieces first 
✔ build and test in steps

❌ Hardcoding everything 
✔ use variables and functions

-----------------------------------------------------------------------

11. Beginner Practice Questions

1. Write pseudocode for deciding if a number is even or odd. 
2. What is the difference between a list and a dictionary? 
3. Explain how binary search works. 
4. What does O(n) mean in time complexity? 
5. Write a function that returns the square of a number. 

-----------------------------------------------------------------------

Summary

This thread covered:
• variables 
• decision making 
• loops 
• functions 
• algorithms 
• Big O notation 
• good practices 
• common mistakes 
• practice questions 

Programming is problem-solving — and this forum is your space to learn, experiment, and build.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)