SlideShare a Scribd company logo
1 of 50
Introduction to
Software
Engineering
CONTENTS OF THIS COURSE
Here’s what you’ll find in this COURSE:
 Introduction to Computer Science.
 C++ Basics .
 Apply C++ in MicroControllers.
 Object Oriented Programming.
 Data structures and Algorithms.
 Intro to Databases.
 Intro to Mobile and Web Technologies.
Mohamed Essam Artifcial Intelligence Engineer with 5
years of experience in Remote Startups and freelance
projects, Passionate with teaching, I am a University
teaching assistant teach and helped in Develop
Curriculums in addition to being Online/Offline AI
instructor.
COURSE
INSTRUCTOR
Instructor at
almentor
Instructor at
Udemy
CS50x
Educator
CS50x
Educator
CS50x
Educator
CS50x
Educator
What computer
science is?
Everything “Teenagers love”
It’s a magic!
What we can do
with Programming!
Programming enable you to fly
to any country in seconds
What Programming about?
Programmers use technology to solve problems,
They write software to make computers do new things or
accomplish tasks more efficiently.
What is problem solving, exactly?
If your 1997 Honda Civic has blue smoke coming from the tailpipe, is
idling roughly, and has lost fuel efficiency, this is a problem that can
be solved with automotive knowledge.
What is problem solving, exactly?
 diagnosis, replacement equipment, and common shop tools. If you tell your
friends about your problem, though, one of them might say, “Hey, you should
trade that old Honda in for something new. Problem solved.” But your friend’s
suggestion wouldn’t really be a solution to the problem—it would be a way to
avoid the problem.
 Problems include constraints, unbreakable rules about the problem or the way
in which the problem must be solved. With the broken-down Civic, one of the
constraints is that you want to fix the current car, not purchase a new car.
What is problem solving, exactly?
 When solving a problem with a program, you also have
constraints. Common constraints include the programming
language, platform (does it run on a PC, or an iPhone, or what?),
performance (a game program may require graphics to be
updated at least 30 times a second, a business application might
have a maximum time response to user input), or memory
footprint. Sometimes the constraint involves what other code
you can reference: Maybe the program can’t include certain
open-source code, or maybe the opposite—maybe it can use
only open source.
The Fox, the Goose, and the Corn
PROBLEM: HOW TO CROSS THE RIVER?
A farmer with a fox, a goose, and a sack of corn needs to cross a river.
The farmer has a rowboat, but there is room for only the farmer and
one of his three items. Unfortunately, both the fox and the goose are
hungry. The fox cannot be left alone with the goose, or the fox will
eat the goose. Likewise, the goose cannot be left alone with the sack
of corn, or the goose will eat the corn. How does the farmer get
everything across the ?
The Fox, the Goose, and the Corn
Everything Became
Computerized
You can do anything You Want
Motivations
God of
Programming
Languages !
Difference between C and C++
The main difference between C and C++ is that C is a
procedural programming language that does not support
classes and objects. On the other hand, C++ is an extension of
C programming with object-oriented programming (OOP)
support.
C++ in Robotics and self
driven cars
The C/C++ language is one of the most widely used
programming languages in robotics. The Arduino
microcontroller uses a programming language based on C and
is a great way to learn the basics of this important language
whilst doing hands-on robotics.
C++ in Robotics and self
driven cars
The C/C++ language is one of the most widely used
programming languages in robotics. The Arduino
microcontroller uses a programming language based on C and
is a great way to learn the basics of this important language
whilst doing hands-on robotics.
C++ in Robotics and self
driven cars
Robot Operating System with C++
C++ in Robotics and self
driven cars
Embeded Machine Learning with C++
C++ in Mobile Apps
Mobile Apps with C++
C++ in Backend
C++ in Robotics and self
driven cars
The C/C++ language is one of the most widely used
programming languages in robotics. The Arduino
microcontroller uses a programming language based on C and
is a great way to learn the basics of this important language
whilst doing hands-on robotics.
Why C++
 Moving to other languages is a bit easier while the
opposite is not.
 Direct access to hardware resources and system
functions.
 It is used in many applications.
Why C++
 Windows
 Linux
 Mac
 Mobile(Android,
IOS)
 Python
 Data Bases
 Embedded Systems
 3D Movies
Programming style
 C-Style languages: C, Java, C#, Objective C, Swift, Dart. ●
 Others: JavaScript, Python, Ruby
Programming style
 C-Style languages: C, Java, C#, Objective C, Swift, Dart. ●
 Others: JavaScript, Python, Ruby
How Computer Understand
Human Language
How Computer Understand
Human Language
Compiler
How Computer Understand
Human Language
What Programming about?
We Program the computer by giving it an algorithm.
Set of instructions we give to the computer to do something
” We have to be specific”.
Peanut butter and Jelly sandwich
Peanut butter and Jelly sandwich
1. Take a slice of bread.
2. Open the jar of peanut butter by twisting the lid counter clockwise.
3. Pick up a knife by the handle.
4. Insert the knife into the jar of peanut butter.
5. Withdraw the knife from the jar of peanut butter and run it across the slice of bread.
6. Take a second slice of bread.
7. Repeat steps 2-5 with the second slice of bread and the jar of jelly.
8. Press the two slices of bread together such that the peanut butter and jelly meet.
algorithms
algorithms
What is the Computer science
field about ?
Computer Science is about studying of
how computer thinks.
Setting up the Environment?
Different Between using
IDE or Running with command line
Let’s Start Code?
“Let’s make the world a
better place”

More Related Content

What's hot (20)

Python Programming ppt
Python Programming pptPython Programming ppt
Python Programming ppt
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
SRS(software requirement specification)
SRS(software requirement specification)SRS(software requirement specification)
SRS(software requirement specification)
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)
 
Unit 1.2 Stepwise Project Planning.pdf
Unit 1.2 Stepwise Project Planning.pdfUnit 1.2 Stepwise Project Planning.pdf
Unit 1.2 Stepwise Project Planning.pdf
 
Python programming introduction
Python programming introductionPython programming introduction
Python programming introduction
 
Software Engineering chapter 19
Software Engineering chapter 19Software Engineering chapter 19
Software Engineering chapter 19
 
Loc and function point
Loc and function pointLoc and function point
Loc and function point
 
Introduction to oops concepts
Introduction to oops conceptsIntroduction to oops concepts
Introduction to oops concepts
 
Activity diagram
Activity diagramActivity diagram
Activity diagram
 
2 software requirements-02
2 software requirements-022 software requirements-02
2 software requirements-02
 
Iterations and Recursions
Iterations and RecursionsIterations and Recursions
Iterations and Recursions
 
Python Seminar PPT
Python Seminar PPTPython Seminar PPT
Python Seminar PPT
 
python course ppt pdf
python course ppt pdfpython course ppt pdf
python course ppt pdf
 
Algorithm and flowchart2010
Algorithm and flowchart2010Algorithm and flowchart2010
Algorithm and flowchart2010
 
Python Programming Language
Python Programming LanguagePython Programming Language
Python Programming Language
 
First pass of assembler
First pass of assemblerFirst pass of assembler
First pass of assembler
 
LR(0) PARSER
LR(0) PARSERLR(0) PARSER
LR(0) PARSER
 
C language unit-1
C language unit-1C language unit-1
C language unit-1
 

Similar to Introduction to Software Engineering Lecture 0

All You Need To Know About C Program Assignment Help.pdf
All You Need To Know About C Program Assignment Help.pdfAll You Need To Know About C Program Assignment Help.pdf
All You Need To Know About C Program Assignment Help.pdfBrad Smith
 
Specification Of The Programming Language Of Java
Specification Of The Programming Language Of JavaSpecification Of The Programming Language Of Java
Specification Of The Programming Language Of JavaKim Moore
 
Intro. to prog. c++
Intro. to prog. c++Intro. to prog. c++
Intro. to prog. c++KurdGul
 
C++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTER
C++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTERC++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTER
C++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTERgroversimrans
 
Compilation Of C/C++ program in Android
Compilation Of C/C++ program in AndroidCompilation Of C/C++ program in Android
Compilation Of C/C++ program in Androidrahulverma1080
 
C plus plus for hackers it security
C plus plus for hackers it securityC plus plus for hackers it security
C plus plus for hackers it securityCESAR A. RUIZ C
 
C Programming Online Training
C Programming Online TrainingC Programming Online Training
C Programming Online Trainingqts info
 
C Programming Online Training
C Programming Online TrainingC Programming Online Training
C Programming Online Trainingqts info
 
Introduction to coding and Python
Introduction to coding and PythonIntroduction to coding and Python
Introduction to coding and PythonHaris NP
 
C++ vs python the best ever comparison
C++ vs python the best ever comparison C++ vs python the best ever comparison
C++ vs python the best ever comparison calltutors
 
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Svetlin Nakov
 
Unit 1 of c++ part 1 basic introduction
Unit 1 of c++ part 1 basic introductionUnit 1 of c++ part 1 basic introduction
Unit 1 of c++ part 1 basic introductionAKR Education
 
What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?Syed Hassan Raza
 
Envision computer-training-institute
Envision computer-training-instituteEnvision computer-training-institute
Envision computer-training-instituteEnvision Institute
 
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023Pedro Vicente
 

Similar to Introduction to Software Engineering Lecture 0 (20)

All You Need To Know About C Program Assignment Help.pdf
All You Need To Know About C Program Assignment Help.pdfAll You Need To Know About C Program Assignment Help.pdf
All You Need To Know About C Program Assignment Help.pdf
 
Specification Of The Programming Language Of Java
Specification Of The Programming Language Of JavaSpecification Of The Programming Language Of Java
Specification Of The Programming Language Of Java
 
C C++ .pdf
C C++ .pdfC C++ .pdf
C C++ .pdf
 
Intro. to prog. c++
Intro. to prog. c++Intro. to prog. c++
Intro. to prog. c++
 
C++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTER
C++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTERC++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTER
C++ TRAINING IN AMBALA CANTT! BATRA COMPUTER CENTER
 
Compilation Of C/C++ program in Android
Compilation Of C/C++ program in AndroidCompilation Of C/C++ program in Android
Compilation Of C/C++ program in Android
 
C plus plus for hackers it security
C plus plus for hackers it securityC plus plus for hackers it security
C plus plus for hackers it security
 
Java
JavaJava
Java
 
C Programming Online Training
C Programming Online TrainingC Programming Online Training
C Programming Online Training
 
C Programming Online Training
C Programming Online TrainingC Programming Online Training
C Programming Online Training
 
Introduction to coding and Python
Introduction to coding and PythonIntroduction to coding and Python
Introduction to coding and Python
 
Programming in c plus plus2
Programming in c plus plus2Programming in c plus plus2
Programming in c plus plus2
 
Learning to code in 2020
Learning to code in 2020Learning to code in 2020
Learning to code in 2020
 
C++ programming
C++ programmingC++ programming
C++ programming
 
C++ vs python the best ever comparison
C++ vs python the best ever comparison C++ vs python the best ever comparison
C++ vs python the best ever comparison
 
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?Как да станем софтуерни инженери и да стартираме ИТ бизнес?
Как да станем софтуерни инженери и да стартираме ИТ бизнес?
 
Unit 1 of c++ part 1 basic introduction
Unit 1 of c++ part 1 basic introductionUnit 1 of c++ part 1 basic introduction
Unit 1 of c++ part 1 basic introduction
 
What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?What Is Coding And Why Should You Learn It?
What Is Coding And Why Should You Learn It?
 
Envision computer-training-institute
Envision computer-training-instituteEnvision computer-training-institute
Envision computer-training-institute
 
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
A Multiplatform, Multi-Tenant Challenge - Droidcon Lisbon 2023
 

More from Mohamed Essam

Data Science Crash course
Data Science Crash courseData Science Crash course
Data Science Crash courseMohamed Essam
 
2.Feature Extraction
2.Feature Extraction2.Feature Extraction
2.Feature ExtractionMohamed Essam
 
Introduction to Robotics.pptx
Introduction to Robotics.pptxIntroduction to Robotics.pptx
Introduction to Robotics.pptxMohamed Essam
 
Introduction_to_Gui_with_tkinter.pptx
Introduction_to_Gui_with_tkinter.pptxIntroduction_to_Gui_with_tkinter.pptx
Introduction_to_Gui_with_tkinter.pptxMohamed Essam
 
Getting_Started_with_DL_in_Keras.pptx
Getting_Started_with_DL_in_Keras.pptxGetting_Started_with_DL_in_Keras.pptx
Getting_Started_with_DL_in_Keras.pptxMohamed Essam
 
Let_s_Dive_to_Deep_Learning.pptx
Let_s_Dive_to_Deep_Learning.pptxLet_s_Dive_to_Deep_Learning.pptx
Let_s_Dive_to_Deep_Learning.pptxMohamed Essam
 
OOP-Advanced_Programming.pptx
OOP-Advanced_Programming.pptxOOP-Advanced_Programming.pptx
OOP-Advanced_Programming.pptxMohamed Essam
 
Regularization_BY_MOHAMED_ESSAM.pptx
Regularization_BY_MOHAMED_ESSAM.pptxRegularization_BY_MOHAMED_ESSAM.pptx
Regularization_BY_MOHAMED_ESSAM.pptxMohamed Essam
 
1.What_if_Adham_Nour_tried_to_make_a_Machine_Learning_Model_at_Home.pptx
1.What_if_Adham_Nour_tried_to_make_a_Machine_Learning_Model_at_Home.pptx1.What_if_Adham_Nour_tried_to_make_a_Machine_Learning_Model_at_Home.pptx
1.What_if_Adham_Nour_tried_to_make_a_Machine_Learning_Model_at_Home.pptxMohamed Essam
 
2.Data_Strucures_and_modules.pptx
2.Data_Strucures_and_modules.pptx2.Data_Strucures_and_modules.pptx
2.Data_Strucures_and_modules.pptxMohamed Essam
 
Activation_function.pptx
Activation_function.pptxActivation_function.pptx
Activation_function.pptxMohamed Essam
 
Deep_Learning_Frameworks
Deep_Learning_FrameworksDeep_Learning_Frameworks
Deep_Learning_FrameworksMohamed Essam
 

More from Mohamed Essam (20)

Data Science Crash course
Data Science Crash courseData Science Crash course
Data Science Crash course
 
2.Feature Extraction
2.Feature Extraction2.Feature Extraction
2.Feature Extraction
 
Data Science
Data ScienceData Science
Data Science
 
Introduction to Robotics.pptx
Introduction to Robotics.pptxIntroduction to Robotics.pptx
Introduction to Robotics.pptx
 
Introduction_to_Gui_with_tkinter.pptx
Introduction_to_Gui_with_tkinter.pptxIntroduction_to_Gui_with_tkinter.pptx
Introduction_to_Gui_with_tkinter.pptx
 
Getting_Started_with_DL_in_Keras.pptx
Getting_Started_with_DL_in_Keras.pptxGetting_Started_with_DL_in_Keras.pptx
Getting_Started_with_DL_in_Keras.pptx
 
Linear_algebra.pptx
Linear_algebra.pptxLinear_algebra.pptx
Linear_algebra.pptx
 
Let_s_Dive_to_Deep_Learning.pptx
Let_s_Dive_to_Deep_Learning.pptxLet_s_Dive_to_Deep_Learning.pptx
Let_s_Dive_to_Deep_Learning.pptx
 
OOP-Advanced_Programming.pptx
OOP-Advanced_Programming.pptxOOP-Advanced_Programming.pptx
OOP-Advanced_Programming.pptx
 
1.Basic_Syntax
1.Basic_Syntax1.Basic_Syntax
1.Basic_Syntax
 
KNN.pptx
KNN.pptxKNN.pptx
KNN.pptx
 
Regularization_BY_MOHAMED_ESSAM.pptx
Regularization_BY_MOHAMED_ESSAM.pptxRegularization_BY_MOHAMED_ESSAM.pptx
Regularization_BY_MOHAMED_ESSAM.pptx
 
1.What_if_Adham_Nour_tried_to_make_a_Machine_Learning_Model_at_Home.pptx
1.What_if_Adham_Nour_tried_to_make_a_Machine_Learning_Model_at_Home.pptx1.What_if_Adham_Nour_tried_to_make_a_Machine_Learning_Model_at_Home.pptx
1.What_if_Adham_Nour_tried_to_make_a_Machine_Learning_Model_at_Home.pptx
 
Clean_Code
Clean_CodeClean_Code
Clean_Code
 
Linear_Regression
Linear_RegressionLinear_Regression
Linear_Regression
 
2.Data_Strucures_and_modules.pptx
2.Data_Strucures_and_modules.pptx2.Data_Strucures_and_modules.pptx
2.Data_Strucures_and_modules.pptx
 
Naieve_Bayee.pptx
Naieve_Bayee.pptxNaieve_Bayee.pptx
Naieve_Bayee.pptx
 
Activation_function.pptx
Activation_function.pptxActivation_function.pptx
Activation_function.pptx
 
Deep_Learning_Frameworks
Deep_Learning_FrameworksDeep_Learning_Frameworks
Deep_Learning_Frameworks
 
Neural_Network
Neural_NetworkNeural_Network
Neural_Network
 

Recently uploaded

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 

Recently uploaded (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 

Introduction to Software Engineering Lecture 0

  • 2. CONTENTS OF THIS COURSE Here’s what you’ll find in this COURSE:  Introduction to Computer Science.  C++ Basics .  Apply C++ in MicroControllers.  Object Oriented Programming.  Data structures and Algorithms.  Intro to Databases.  Intro to Mobile and Web Technologies.
  • 3. Mohamed Essam Artifcial Intelligence Engineer with 5 years of experience in Remote Startups and freelance projects, Passionate with teaching, I am a University teaching assistant teach and helped in Develop Curriculums in addition to being Online/Offline AI instructor. COURSE INSTRUCTOR
  • 13. What we can do with Programming!
  • 14. Programming enable you to fly to any country in seconds
  • 15. What Programming about? Programmers use technology to solve problems, They write software to make computers do new things or accomplish tasks more efficiently.
  • 16. What is problem solving, exactly? If your 1997 Honda Civic has blue smoke coming from the tailpipe, is idling roughly, and has lost fuel efficiency, this is a problem that can be solved with automotive knowledge.
  • 17. What is problem solving, exactly?  diagnosis, replacement equipment, and common shop tools. If you tell your friends about your problem, though, one of them might say, “Hey, you should trade that old Honda in for something new. Problem solved.” But your friend’s suggestion wouldn’t really be a solution to the problem—it would be a way to avoid the problem.  Problems include constraints, unbreakable rules about the problem or the way in which the problem must be solved. With the broken-down Civic, one of the constraints is that you want to fix the current car, not purchase a new car.
  • 18.
  • 19. What is problem solving, exactly?  When solving a problem with a program, you also have constraints. Common constraints include the programming language, platform (does it run on a PC, or an iPhone, or what?), performance (a game program may require graphics to be updated at least 30 times a second, a business application might have a maximum time response to user input), or memory footprint. Sometimes the constraint involves what other code you can reference: Maybe the program can’t include certain open-source code, or maybe the opposite—maybe it can use only open source.
  • 20. The Fox, the Goose, and the Corn PROBLEM: HOW TO CROSS THE RIVER? A farmer with a fox, a goose, and a sack of corn needs to cross a river. The farmer has a rowboat, but there is room for only the farmer and one of his three items. Unfortunately, both the fox and the goose are hungry. The fox cannot be left alone with the goose, or the fox will eat the goose. Likewise, the goose cannot be left alone with the sack of corn, or the goose will eat the corn. How does the farmer get everything across the ?
  • 21. The Fox, the Goose, and the Corn
  • 23. You can do anything You Want
  • 26. Difference between C and C++ The main difference between C and C++ is that C is a procedural programming language that does not support classes and objects. On the other hand, C++ is an extension of C programming with object-oriented programming (OOP) support.
  • 27. C++ in Robotics and self driven cars The C/C++ language is one of the most widely used programming languages in robotics. The Arduino microcontroller uses a programming language based on C and is a great way to learn the basics of this important language whilst doing hands-on robotics.
  • 28. C++ in Robotics and self driven cars The C/C++ language is one of the most widely used programming languages in robotics. The Arduino microcontroller uses a programming language based on C and is a great way to learn the basics of this important language whilst doing hands-on robotics.
  • 29. C++ in Robotics and self driven cars Robot Operating System with C++
  • 30. C++ in Robotics and self driven cars Embeded Machine Learning with C++
  • 31. C++ in Mobile Apps Mobile Apps with C++
  • 33. C++ in Robotics and self driven cars The C/C++ language is one of the most widely used programming languages in robotics. The Arduino microcontroller uses a programming language based on C and is a great way to learn the basics of this important language whilst doing hands-on robotics.
  • 34. Why C++  Moving to other languages is a bit easier while the opposite is not.  Direct access to hardware resources and system functions.  It is used in many applications.
  • 35. Why C++  Windows  Linux  Mac  Mobile(Android, IOS)  Python  Data Bases  Embedded Systems  3D Movies
  • 36. Programming style  C-Style languages: C, Java, C#, Objective C, Swift, Dart. ●  Others: JavaScript, Python, Ruby
  • 37. Programming style  C-Style languages: C, Java, C#, Objective C, Swift, Dart. ●  Others: JavaScript, Python, Ruby
  • 39. How Computer Understand Human Language Compiler
  • 41. What Programming about? We Program the computer by giving it an algorithm. Set of instructions we give to the computer to do something ” We have to be specific”.
  • 42. Peanut butter and Jelly sandwich
  • 43. Peanut butter and Jelly sandwich 1. Take a slice of bread. 2. Open the jar of peanut butter by twisting the lid counter clockwise. 3. Pick up a knife by the handle. 4. Insert the knife into the jar of peanut butter. 5. Withdraw the knife from the jar of peanut butter and run it across the slice of bread. 6. Take a second slice of bread. 7. Repeat steps 2-5 with the second slice of bread and the jar of jelly. 8. Press the two slices of bread together such that the peanut butter and jelly meet.
  • 46. What is the Computer science field about ? Computer Science is about studying of how computer thinks.
  • 47. Setting up the Environment?
  • 48. Different Between using IDE or Running with command line
  • 50. “Let’s make the world a better place”

Editor's Notes

  1. After corona everything has changed older people make meetiings on zoom and used whatsapp.
  2. Example of the printer shop that say that what happened in sending faxes is by evils
  3. Example of the doctors that has no idea about problem solving.
  4. After corona everything has changed older people make meetiings on zoom and used whatsapp.
  5. After corona everything has changed older people make meetiings on zoom and used whatsapp.
  6. After corona everything has changed older people make meetiings on zoom and used whatsapp.
  7. After corona everything has changed older people make meetiings on zoom and used whatsapp.
  8. After corona everything has changed older people make meetiings on zoom and used whatsapp.
  9. After corona everything has changed older people make meetiings on zoom and used whatsapp.
  10. Example of the printer shop that say that what happened in sending faxes is by evils
  11. Example of the printer shop that say that what happened in sending faxes is by evils
  12. Example of the doctors that has no idea about problem solving.
  13. Example of the doctors that has no idea about problem solving.
  14. Example of the doctors that has no idea about problem solving.
  15. Example of the doctors that has no idea about problem solving.
  16. Example of the doctors that has no idea about problem solving.
  17. Example of the doctors that has no idea about problem solving.
  18. Example of the doctors that has no idea about problem solving.
  19. Example of the doctors that has no idea about problem solving.
  20. Example of the doctors that has no idea about problem solving.
  21. Example of the doctors that has no idea about problem solving.
  22. Example of the doctors that has no idea about problem solving.
  23. Example of the doctors that has no idea about problem solving.
  24. The translator role.
  25. Example of the doctors that has no idea about problem solving.
  26. The translator role.
  27. Example of the doctors that has no idea about problem solving.
  28. Example of the doctors that has no idea about problem solving.
  29. Example of the doctors that has no idea about problem solving.
  30. Example of the doctors that has no idea about problem solving.
  31. Example of the doctors that has no idea about problem solving.
  32. Example of the doctors that has no idea about problem solving.
  33. Example of the doctors that has no idea about problem solving.