SlideShare a Scribd company logo
Lab 1
CS106 - Fundamentals of Computer Science
Presented by TA. Nada Kamel
Agenda
 Types of programming languages
 Difference between High and Low programming languages
 What is a Compiler?
 Problem Solving Techniques
 Pseudo code
 Algorithm
 Flow chart
 Example
 Implementation
Presented by TA. Nada Kamel
How People solve problems
 A Problem exists when what we have (Data) is not the same as what we
want (Information)
 People create a solution (called an Algorithm) which manipulates Data into
Information
 People do this quickly and often in a complex way
Presented by TA. Nada Kamel
How Computers solve problems
 Computers also use Algorithms to solve problems, and change data into
information
 Computers can only perform one simple step at a time
 Complex “Human” Algorithms must be broken down into simple step-by-
step instructions BEFORE they can be translated into computer code
Presented by TA. Nada Kamel
Programming Languages
Presented by TA. Nada Kamel
Types of programming languages
 There are two types of programming languages based on the code or
syntax they use..
 Low Programming Language
 High Programming Language
Presented by TA. Nada Kamel
Difference between programming
languages
 The difference between them is on the way we write their code.
 For example, Assembly is a low-level language where the user writes code
which is almost identical to the one computers understand.
Presented by TA. Nada Kamel
High Programming Language
 A high-level programming language uses a more natural and human-
readable syntax which makes it easier for humans to understand and write.
 Today, most programmers use some sort of a high-level language,
because it is much easier to learn and understand and often requires much
less work. For example, C++, C#, Java, e.t.c.
Presented by TA. Nada Kamel
What is a Compiler?
Presented by TA. Nada Kamel
Editor
Presented by TA. Nada Kamel
Source file Compiler
Linker
Object file
Other
object files
Executable
file
Loader
Tools
 Editor to be used:
 Microsoft Visual Studio  Windows
 Xcode  Mac
Presented by TA. Nada Kamel
Programming Phases
 A typical programming task can be divided into two phases:
 Problem solving phase
Produce an ordered sequence of steps that describe solution of problem
This sequence of steps is called an algorithm
 Implementation phase
Implement the program in some programming language
Presented by TA. Nada Kamel
Problem Solving Techniques
Presented by TA. Nada Kamel
Problem Solving
 Problem Solving is the ability to understand what you have, what you
want, and creating a set of instructions to change what you have into what
you want
 Good Problem Solving Skills are based on knowledge, experience and
logic
 Good Programmers NEVER make assumptions
Presented by TA. Nada Kamel
Expressing an algorithm
 A “Standard” way of describing an algorithm must exist if we expect our
solution to be understood by others easily
 There are standards in programming:
 PSEUDOCODE
 FLOWCHARTS
 PROGRAMMING LANGUAGE
Presented by TA. Nada Kamel
Pseudo Code
 “Pseudo” means “pretend” or “false”
 Pseudo Code is pretend or false computer code; generic English-like terms
that are somewhat like computer code
 Pseudo Code is not as standardized as flowcharts, and does not facilitate
the breaking down of problems as well as a flowchart does
Presented by TA. Nada Kamel
Flowchart
 Graphical representations of algorithms
 Tool to translate algorithms into software
 A Flowchart uses easy-to-understand symbols to represent actions on data
and the flow of data
 Flowcharts aid in breaking down a problem into simple steps
Presented by TA. Nada Kamel
Presented by TA. Nada Kamel
Flowcharting
Presented by TA. Nada Kamel
Example
Presented by TA. Nada Kamel
Example
 Write an algorithm to add 2 numbers.
Presented by TA. Nada Kamel
Pseudo Code
 Read first number
 Read second number
 Add first number to second number
 Print result of addition
Presented by TA. Nada Kamel
Algorithm and Flowchart
 Step 1: Input num1, num2
 Step 2: result  num1 + num2
 Step 3: Print result
Start
Input num1, num2
result  num1 + num2
Print result
EndPresented by TA. Nada Kamel
Implementation
Presented by TA. Nada Kamel
Implementation
 The code is divided into two parts:
 Libraries (such as <iostream>, <iomanip>, …)
 Body
 Declaration (int, float, char, string)
 User Input (cin)
 Processing
 Output (cout)
Presented by TA. Nada Kamel
How to write the code of the
problem?
Presented by TA. Nada Kamel
Presented by TA. Nada Kamel
using
Visual Studio
Presented by TA. Nada Kamel
using
Xcode
Any Questions?
Presented by TA. Nada Kamel

More Related Content

PDF
notes on Programming fundamentals
PPT
Fundamental Programming Lect 1
PDF
The Programming Process
PPTX
Programming Fundamentals
PPTX
Algorithms and flow charts
PPTX
Computer
PPT
Programming fundamentals lecture 1&2
PPTX
Unit 1. Problem Solving with Computer
notes on Programming fundamentals
Fundamental Programming Lect 1
The Programming Process
Programming Fundamentals
Algorithms and flow charts
Computer
Programming fundamentals lecture 1&2
Unit 1. Problem Solving with Computer

What's hot (20)

PPTX
C++ ppt
PPTX
Computer programming
PPT
Problem solving using Computer
PPT
2.2 Demonstrate the understanding of Programming Life Cycle
PPTX
program development and paradigms
PPTX
Algorithm &amp; flowchart
PPTX
Week10 final
PPTX
Pj01 1-computer and programming fundamentals
PDF
Problem Solving Techniques and Introduction to C
PPTX
What you should know before starting to learn programming?
PPSX
Using Pseudocode Statements and Flowchart Symbols
PPTX
Flowcharts and pseudocodes
PPTX
Planning to computer program(southeast university)
PPT
Programming aids- Algorithm, Flowchart, Pseudocodes and Decision table
PPTX
Pf lec 01 intro
PPSX
Understanding Simple Program Logic
PPSX
Understanding Computer Systems
PPTX
Computer programming project 15sec
PPTX
INTRODUCTION TO C++, Chapter 1
C++ ppt
Computer programming
Problem solving using Computer
2.2 Demonstrate the understanding of Programming Life Cycle
program development and paradigms
Algorithm &amp; flowchart
Week10 final
Pj01 1-computer and programming fundamentals
Problem Solving Techniques and Introduction to C
What you should know before starting to learn programming?
Using Pseudocode Statements and Flowchart Symbols
Flowcharts and pseudocodes
Planning to computer program(southeast university)
Programming aids- Algorithm, Flowchart, Pseudocodes and Decision table
Pf lec 01 intro
Understanding Simple Program Logic
Understanding Computer Systems
Computer programming project 15sec
INTRODUCTION TO C++, Chapter 1
Ad

Similar to CS106 Lab 1 - Introduction (20)

PPTX
Intro.pptx..............................
PPTX
DSA.pptx................................
PPTX
Introduction to DSA.....................
PPTX
Lec 01.pptx.............................
PPT
programming language(C++) chapter-one contd.ppt
PPT
Chapter 1- C++ programming languages +.ppt
PPT
Programming in c
PPT
CHAPTER-1.ppt
PDF
Computer program and programming language
PPT
Chapter 1.ppt
PPTX
Programming requirements for beginning in software engineering.pptx
PPTX
asic computer is an electronic device that can receive, store, process, and o...
PDF
L1. Basic Programming Concepts.pdf
PPTX
02 Algorithms and flowcharts - computers.pptx
PPTX
Introduction_to_Programming.pptx
PPT
computer programming introduction ppt.ppt
PDF
Fundamentals of programming with C++
PDF
LESSON__1-15 C-PROGRAMMING.p algorithm df
PPTX
Software programming and development
PPTX
MODULE1-INTRODUCTION.pptx-COMPUTER PROGRAMING
Intro.pptx..............................
DSA.pptx................................
Introduction to DSA.....................
Lec 01.pptx.............................
programming language(C++) chapter-one contd.ppt
Chapter 1- C++ programming languages +.ppt
Programming in c
CHAPTER-1.ppt
Computer program and programming language
Chapter 1.ppt
Programming requirements for beginning in software engineering.pptx
asic computer is an electronic device that can receive, store, process, and o...
L1. Basic Programming Concepts.pdf
02 Algorithms and flowcharts - computers.pptx
Introduction_to_Programming.pptx
computer programming introduction ppt.ppt
Fundamentals of programming with C++
LESSON__1-15 C-PROGRAMMING.p algorithm df
Software programming and development
MODULE1-INTRODUCTION.pptx-COMPUTER PROGRAMING
Ad

More from Nada Kamel (10)

PPSX
CS106 Lab 8 - Nested loops
PPSX
CS106 Lab 7 - For loop
PPSX
CS106 Lab 2 - Variables declaration
PPSX
CS106 Lab 9 - 1D array
PPSX
CS106 Lab 10 - Functions (passing by value)
PPSX
CS106 Lab 6 - While and Do..While loop
PPSX
CS106 Lab 4 - If statement
PPSX
CS106 Lab 5 - Switch case
PPSX
CS106 Lab 11 - Functions (passing by reference)
PPSX
CS106 Lab 3 - Modulus
CS106 Lab 8 - Nested loops
CS106 Lab 7 - For loop
CS106 Lab 2 - Variables declaration
CS106 Lab 9 - 1D array
CS106 Lab 10 - Functions (passing by value)
CS106 Lab 6 - While and Do..While loop
CS106 Lab 4 - If statement
CS106 Lab 5 - Switch case
CS106 Lab 11 - Functions (passing by reference)
CS106 Lab 3 - Modulus

Recently uploaded (20)

PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
RMMM.pdf make it easy to upload and study
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PPTX
Lesson notes of climatology university.
PPTX
Pharma ospi slides which help in ospi learning
PPTX
Cell Types and Its function , kingdom of life
PDF
Basic Mud Logging Guide for educational purpose
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
Cell Structure & Organelles in detailed.
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Sports Quiz easy sports quiz sports quiz
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
master seminar digital applications in india
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Supply Chain Operations Speaking Notes -ICLT Program
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
RMMM.pdf make it easy to upload and study
Module 4: Burden of Disease Tutorial Slides S2 2025
Lesson notes of climatology university.
Pharma ospi slides which help in ospi learning
Cell Types and Its function , kingdom of life
Basic Mud Logging Guide for educational purpose
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Cell Structure & Organelles in detailed.
Final Presentation General Medicine 03-08-2024.pptx
Sports Quiz easy sports quiz sports quiz
O7-L3 Supply Chain Operations - ICLT Program
master seminar digital applications in india
2.FourierTransform-ShortQuestionswithAnswers.pdf

CS106 Lab 1 - Introduction

  • 1. Lab 1 CS106 - Fundamentals of Computer Science Presented by TA. Nada Kamel
  • 2. Agenda  Types of programming languages  Difference between High and Low programming languages  What is a Compiler?  Problem Solving Techniques  Pseudo code  Algorithm  Flow chart  Example  Implementation Presented by TA. Nada Kamel
  • 3. How People solve problems  A Problem exists when what we have (Data) is not the same as what we want (Information)  People create a solution (called an Algorithm) which manipulates Data into Information  People do this quickly and often in a complex way Presented by TA. Nada Kamel
  • 4. How Computers solve problems  Computers also use Algorithms to solve problems, and change data into information  Computers can only perform one simple step at a time  Complex “Human” Algorithms must be broken down into simple step-by- step instructions BEFORE they can be translated into computer code Presented by TA. Nada Kamel
  • 6. Types of programming languages  There are two types of programming languages based on the code or syntax they use..  Low Programming Language  High Programming Language Presented by TA. Nada Kamel
  • 7. Difference between programming languages  The difference between them is on the way we write their code.  For example, Assembly is a low-level language where the user writes code which is almost identical to the one computers understand. Presented by TA. Nada Kamel
  • 8. High Programming Language  A high-level programming language uses a more natural and human- readable syntax which makes it easier for humans to understand and write.  Today, most programmers use some sort of a high-level language, because it is much easier to learn and understand and often requires much less work. For example, C++, C#, Java, e.t.c. Presented by TA. Nada Kamel
  • 9. What is a Compiler? Presented by TA. Nada Kamel
  • 10. Editor Presented by TA. Nada Kamel Source file Compiler Linker Object file Other object files Executable file Loader
  • 11. Tools  Editor to be used:  Microsoft Visual Studio  Windows  Xcode  Mac Presented by TA. Nada Kamel
  • 12. Programming Phases  A typical programming task can be divided into two phases:  Problem solving phase Produce an ordered sequence of steps that describe solution of problem This sequence of steps is called an algorithm  Implementation phase Implement the program in some programming language Presented by TA. Nada Kamel
  • 14. Problem Solving  Problem Solving is the ability to understand what you have, what you want, and creating a set of instructions to change what you have into what you want  Good Problem Solving Skills are based on knowledge, experience and logic  Good Programmers NEVER make assumptions Presented by TA. Nada Kamel
  • 15. Expressing an algorithm  A “Standard” way of describing an algorithm must exist if we expect our solution to be understood by others easily  There are standards in programming:  PSEUDOCODE  FLOWCHARTS  PROGRAMMING LANGUAGE Presented by TA. Nada Kamel
  • 16. Pseudo Code  “Pseudo” means “pretend” or “false”  Pseudo Code is pretend or false computer code; generic English-like terms that are somewhat like computer code  Pseudo Code is not as standardized as flowcharts, and does not facilitate the breaking down of problems as well as a flowchart does Presented by TA. Nada Kamel
  • 17. Flowchart  Graphical representations of algorithms  Tool to translate algorithms into software  A Flowchart uses easy-to-understand symbols to represent actions on data and the flow of data  Flowcharts aid in breaking down a problem into simple steps Presented by TA. Nada Kamel
  • 18. Presented by TA. Nada Kamel
  • 21. Example  Write an algorithm to add 2 numbers. Presented by TA. Nada Kamel
  • 22. Pseudo Code  Read first number  Read second number  Add first number to second number  Print result of addition Presented by TA. Nada Kamel
  • 23. Algorithm and Flowchart  Step 1: Input num1, num2  Step 2: result  num1 + num2  Step 3: Print result Start Input num1, num2 result  num1 + num2 Print result EndPresented by TA. Nada Kamel
  • 25. Implementation  The code is divided into two parts:  Libraries (such as <iostream>, <iomanip>, …)  Body  Declaration (int, float, char, string)  User Input (cin)  Processing  Output (cout) Presented by TA. Nada Kamel
  • 26. How to write the code of the problem? Presented by TA. Nada Kamel
  • 27. Presented by TA. Nada Kamel using Visual Studio
  • 28. Presented by TA. Nada Kamel using Xcode
  • 29. Any Questions? Presented by TA. Nada Kamel

Editor's Notes

  • #6: Will be given in the next lab inshAllah.
  • #10: Will be given in the next lab inshAllah.
  • #25: Will be given in the next lab inshAllah.