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:
- C
- C++
- C#
- Java
- 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:
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.