Notes on Intro to Computer Programming

Introduction to Computer Programming

  • Overview of the lecture topics: What is Computer Programming, What is a Programming Language, Types of Programming Languages, and Is Programming Hard?

What is Computer Programming?

  • Definition: The process of designing/building something in a logical way; in practice, it is the process of writing code to facilitate specific actions in a computer, application, or software program, and to instruct them on how to perform.
  • Purpose: to enable computers, applications, or software to execute desired tasks.
  • Examples mentioned:
    • Applications/Software (Computer & Mobile)
    • Games
    • Automation
    • Webpages
  • Key idea: Programming is about giving precise instructions so a computer can carry out actions reliably.

What is a Programming Language?

  • Definition: A programming language is a computer language used by programmers to develop software programs, scripts, or other sets of instructions for computers to execute.
  • Characteristics:
    • Although many languages share similarities, each has its own syntax.
    • It is a formal language used to direct instructions to the computer.

Common Programming Languages

  • Examples listed:
    1. C
    2. C++
    3. C#
    4. Java
    5. Python

Types of Programming Languages

  • Machine Language
  • Assembly Language
  • High level Language

Machine Language

  • The fundamental language of the computer's processor; also called a low-level language.
  • All programs are converted into machine language before they can be executed.
  • Consists of a sequence of 0s and 1s that represent electrical voltages (high/low).

Assembly Language

  • A low-level language that is similar to machine language.
  • Uses symbolic operation codes to represent the machine operation codes.

High-Level Language

  • Languages that are easier to learn for humans.
  • Use English-like statements.
  • Examples:
    • C
    • C++
    • C#
    • Java
    • Python

Relationship among language types

  • High-level language, Assembly language, and Machine language form a hierarchy:
    • High-level languages are designed for humans to read and write.
    • Assembly language is a low-level representation that maps to machine language via an assembler.
    • Machine language is the binary code that the processor executes directly.
  • Translation direction:
    • High-level -> low-level via a compiler or translator.
    • Low-level -> high-level via reverse engineering or disassembly (conceptually).
    • Note: Not all directions are practical in real life; usually we translate high-level to low-level.

Is Programming Hard?

  • The gist: Programming is not inherently hard; it can be challenging due to personal factors.
  • Common reasons people find it hard:
    • Distractions and lack of interest
    • Not enjoying the work
  • What makes it easier: developing the right attributes:
    • Consistency
    • Right mindset
    • Right determination
    • Discipline

Page 4 content (unrelated visuals)

  • The slide shown on Page 4 appears to be unrelated branding/imagery (e.g., stock image references, Sign In prompts) and not part of the programming content. Include as a note for navigation purposes.