💻

Programming Concepts Overview

Jul 26, 2025

Overview

This lecture introduces key programming concepts, including software and hardware, types of programmers, steps in problem solving, elements of programming, and programming paradigms.

Software and Hardware

  • Software is a set of instructions that direct hardware to perform tasks (e.g., Word, Photoshop, device drivers).
  • Hardware refers to the physical and tangible parts of a computer such as mouse, keyboard, monitor, and printer.
  • Device drivers are software that enable the hardware to function with the computer system.
  • Application software (e.g., games, calculator) and system software (e.g., operating system) are types of software.

Types of Programmers

  • System programmers write codes for system-level software or solutions for specific problems.
  • Application programmers create software for specific applications and include database, web, game, and micro device programmers.
  • Micro device programmers work on programming hardware devices like CPUs and processors.

Problem Solving Steps in Programming

  • The programming problem-solving process includes: planning, analysis, design, development, testing, debugging, and documentation.
  • Analysis involves understanding requirements and user needs.
  • Design focuses on structure, interface, and data storage.
  • Development is the actual coding phase.
  • Testing and debugging ensure the program works and errors are fixed.
  • Documentation provides user manuals and update procedures.

Elements of Programming

  • Input: Data entered by the user or through sensors.
  • Data: Storage of input for processing.
  • Operations: Actions like addition, subtraction, comparison (mathematical, relational, logical operations).
  • Output: Results displayed or extracted from the system.
  • Conditional Execution: Using if-else or switch statements to make decisions in code.
  • Loops: Repeating a set of instructions until a condition is met.
  • Subroutines/Functions: Modular code blocks to simplify and reuse code.

Programming Paradigms

  • Programming paradigm is the style or method of programming.
  • Common paradigms include procedural, object-oriented, modular, and data abstraction.
  • Paradigms help organize code and improve collaboration and maintenance.

Key Terms & Definitions

  • Software — Instructions that tell hardware what to do.
  • Hardware — Physical parts of a computer system.
  • Device Driver — Software enabling hardware operation.
  • System Programmer — Developer of system-level code.
  • Application Programmer — Developer focused on specific applications.
  • Input — Data provided to the program.
  • Output — Information produced by the program.
  • Conditional Execution — Running code based on specific conditions.
  • Loop — Repeating code execution until a condition is met.
  • Subroutine/Function — Reusable block of programmable code.
  • Programming Paradigm — Approach or style of programming.

Action Items / Next Steps

  • Review notes on each programming concept.
  • Prepare for an in-depth discussion of programming elements in Unit 2.