SlideShare a Scribd company logo
1 of 20
CSCI 101, Introduction to Computer Science
An Essential Skill for Life
With the digital age rising, there is a need to
develop logical thinking and problem-solving
which are all part of the computer science
curriculum.
Intro
• Course Administration
• Computer hardware & software
• How to write a program?
• What is an algorithm?
 Pseudocode
 Flowcharts
Computer Science
• “Computer science is the discipline that seeks to build a scientific foundation for
topics like computer design, computer programming, information processing,
algorithmic solutions of problems, and the algorithmic process itself. It provides
the underpinnings for today’s computer applications as well as the foundations
for tomorrow’s computing infrastructure.” 1
From the book “Computer Science: an overview” by J. Glenn Brookshear
About this course
• An introduction to computer programming
• Discusses the basics of computational problem solving, algorithm
design and analysis, and data structures
• An introduction to the MATLAB programming language.
Course objectives
After completing this course, you should be able to:
• evaluate the results of programming work.
• describe the algorithm of solving any problem using flowchart.
• observe and state each step in the problem solving method (input, output, solve by hand, scientific
principles, convert to code, test code).
• use the programming language MATLAB to write computer programs that solve scientific problems.
• use data types, input/output commands, loops, control structures, functions, arrays, and other
programming language constructs in MATLAB computer programs.
• identify basic sorting and searching algorithms and their complexities.
• identify basic data structures (arrays, matrices and graphs).
• understand the role of creativity and innovation in developing computer algorithms.
• work in teamwork to solve real life problems.
Textbook(s)
• Stormy Attaway, “MATLAB: A practical Introduction to Programming and Problem
Solving”, Elsevier, 2011.
Requirements
• Quizzes & LABS 10 %
• Term Project 15 %
• Exam1 10 %
• Exam2 15 %
• Lab Exam 10 %
• Final Exam 40 %
75% attendance is required. No makeup for quiz or midterm exam. Student must
attend the laboratory to pass the course.
Requirements
Students are expected to recognize and uphold standards of intellectual and
academic integrity. Plagiarism, fabrication and cheating will not be tolerated. To
know about the university of Science and Technology’s code of conduct, please
check the university website https://www.zewailcity.edu.eg
Lectures and topics
• Basic Data structures
• Arithmetic expressions & Math functions
• Program Control: Selection statements and looping
• Input and output functions
• User defined functions
• Vectorization
• Searching, Sorting, Classification, Clustering
Algorithms
Computer Hardware
Processor
Computer Hardware
• Input Unit: accepts inputs from users, translates it, and transmits it to the
processor (e.g. keyboards, joysticks, microphones and mouses)
• Output Unit: display processed information to the outside world (e.g. monitors,
printers (2D and 3D), speakers, and projectors)
• Arithmetic and Logic Unit: calculates arithmetic and logical expressions. It reads
the operands from memory, perform the operation and store the resultant value
in memory.
• Memory Unit: stores programs and data (two classes primary and secondary)
• Control unit : coordinates the operation of all other units. It is the nerve center
that sends control signals to all units and senses their status .
1
For more information read section 1.2, Computer
Organization and Embedded Systems (6th edition) by Carl
Hamacher et al.
• A computer can perform a specific set of instructions, one at a
time.
– Get input (from keyboard to memory)
– Display output (from memory to screen)
– Compute an arithmetic expression (^, *, /, +, -)
– Compute a logical expression and branch selection
– Repeat instructions
• A software program is a sequence of such instructions
Software Program 1
1. Read the problem statement, and identify
– The input and its range
– The output
– The relationship between the input and the output (how to compute the
output) [Comprehend]
2. Write your thoughts as a sequence of steps. [Algorithm]
3. Convert these steps to Code. [Program]
4. Test your code and compare your program result against a human result.
[Testing]
How to write a software program?
Writing a computer program: the role of algorithms
• An algorithm is a set of steps that describes how a task can be
performed (informal definition).
• fundamental concept of computer science
• The word is derived from the famous mathematician Muḥammad
ibn Musa al-Khwarizmi, one of the first Directors of the House of
Wisdom (a major public academy and intellectual center), in
Bagdad (9th century).
• began as a subject in mathematics. The goal was to find a single set
of directions that describes how all problems of a particular type
could be solved.
• “if no algorithm exists for solving a problem, then the solution of
that problem lies beyond the capabilities of machines.”
1. From the book “Computer Science: an overview” by J. Glenn Brookshear
1
Algorithms: a formal definition
• An algorithm is an ordered set of unambiguous, executable steps that defines a terminating process.
• Ordered: steps are executed in a sequence. (In parallel algorithms, we may have more than one
execution path)
• Unambiguous: a single and unique interpretation. the information must be sufficient to determine
uniquely and completely the required actions.
• Branch if the value of x is large enough. Is it unambiguous?
• Some algorithms (nondeterministic algorithms) do not conform to this restriction.
• Executable: A step that can be done.
• Make a list of all the positive integers. Is it executable
• Terminating: the execution must lead to an end.
• There are, however, some meaningful non terminating processes such as monitoring the vital
signs of a patient.
1
1. From the book “Computer Science: an overview” by J. Glenn Brookshear
Ways to represent an algorithm
• Pseudocode:
• An intuitive notational system in which ideas can be expressed informally.
• Less formal than target programming language.
• Flexible, less complex, and easy to understand compared to formal programming
languages.
• Flowchart:
• A graphical representation of an algorithm.
• Provides a simple way to visualize transitions and analyze the execution paths.
Pseudocode: Examples
• Write an algorithm to calculate the area of a circle
• Step 1: Get Radius
• Step 2: Set Pi = 3.14
• Step 3: Calculate Area = Pi * Radius * Radius
• Step 4: Print Area
Pseudocode: Examples
• Write an algorithm to convert temperature Fahrenheit to Celsius
• Step 1: Get Temp in Fahrenheit (F)
• Step 2: Calculate C = 5/9 * (F-32)
• Step 3: Print C
T(°C) = (T(°F) - 32) × 5/9
Exercise
• Find X2 and X3 of any given number X
• Step 1: Get N
• Step 2: Set S = N * N
• Step 3: Set C = S * N
• Step 4: Print S, C

More Related Content

What's hot

Machine learning
Machine learningMachine learning
Machine learningdeepakbagam
 
Lessons Learned from Testing Machine Learning Software
Lessons Learned from Testing Machine Learning SoftwareLessons Learned from Testing Machine Learning Software
Lessons Learned from Testing Machine Learning SoftwareChristian Ramirez
 
[05-B] Experiment design (advanced)
[05-B] Experiment design (advanced)[05-B] Experiment design (advanced)
[05-B] Experiment design (advanced)Ivano Malavolta
 
Dms introduction Sharmila Chidaravalli
Dms introduction Sharmila ChidaravalliDms introduction Sharmila Chidaravalli
Dms introduction Sharmila ChidaravalliSharmilaChidaravalli
 
Discrete Structure
Discrete Structure Discrete Structure
Discrete Structure Syed Shah
 

What's hot (7)

Presentationnnnn
PresentationnnnnPresentationnnnn
Presentationnnnn
 
Machine learning
Machine learningMachine learning
Machine learning
 
Lessons Learned from Testing Machine Learning Software
Lessons Learned from Testing Machine Learning SoftwareLessons Learned from Testing Machine Learning Software
Lessons Learned from Testing Machine Learning Software
 
[05-B] Experiment design (advanced)
[05-B] Experiment design (advanced)[05-B] Experiment design (advanced)
[05-B] Experiment design (advanced)
 
Simulation Powerpoint- Lecture Notes
Simulation Powerpoint- Lecture NotesSimulation Powerpoint- Lecture Notes
Simulation Powerpoint- Lecture Notes
 
Dms introduction Sharmila Chidaravalli
Dms introduction Sharmila ChidaravalliDms introduction Sharmila Chidaravalli
Dms introduction Sharmila Chidaravalli
 
Discrete Structure
Discrete Structure Discrete Structure
Discrete Structure
 

Similar to Csci101 lect00 introduction

C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing TechniquesAppili Vamsi Krishna
 
Pj01 1-computer and programming fundamentals
Pj01 1-computer and programming fundamentalsPj01 1-computer and programming fundamentals
Pj01 1-computer and programming fundamentalsSasidharaRaoMarrapu
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programmingSangheethaa Sukumaran
 
technology111110000000000000000000000000000000000000000000
technology111110000000000000000000000000000000000000000000technology111110000000000000000000000000000000000000000000
technology111110000000000000000000000000000000000000000000majicyoung
 
COM1407: Structured Program Development
COM1407: Structured Program Development COM1407: Structured Program Development
COM1407: Structured Program Development Hemantha Kulathilake
 
Design and Analysis Algorithms.pdf
Design and Analysis Algorithms.pdfDesign and Analysis Algorithms.pdf
Design and Analysis Algorithms.pdfHarshNagda5
 
Algo_Lecture01.pptx
Algo_Lecture01.pptxAlgo_Lecture01.pptx
Algo_Lecture01.pptxShaistaRiaz4
 
Design and Analysis of Algorithm ppt for unit one
Design and Analysis of Algorithm ppt for unit oneDesign and Analysis of Algorithm ppt for unit one
Design and Analysis of Algorithm ppt for unit onessuserb7c8b8
 
Logic design and switching theory
Logic design and switching theoryLogic design and switching theory
Logic design and switching theoryjomerson remorosa
 
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320  SOFTWARE ENGINEERING Lecture01 (1).pptCSE320  SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320 SOFTWARE ENGINEERING Lecture01 (1).pptDHIRENDRAHUDDA
 
overview of principles of computerss.ppt
overview of principles of computerss.pptoverview of principles of computerss.ppt
overview of principles of computerss.pptMuhammadAbdullah311866
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxCOMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxSherinRappai1
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxCOMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxSherinRappai
 

Similar to Csci101 lect00 introduction (20)

[OOP - Lec 01] Introduction to OOP
[OOP - Lec 01] Introduction to OOP[OOP - Lec 01] Introduction to OOP
[OOP - Lec 01] Introduction to OOP
 
C programming for Computing Techniques
C programming for Computing TechniquesC programming for Computing Techniques
C programming for Computing Techniques
 
Unit no_1.pptx
Unit no_1.pptxUnit no_1.pptx
Unit no_1.pptx
 
lect 1-ds algo(final)_2.pdf
lect 1-ds  algo(final)_2.pdflect 1-ds  algo(final)_2.pdf
lect 1-ds algo(final)_2.pdf
 
Pj01 1-computer and programming fundamentals
Pj01 1-computer and programming fundamentalsPj01 1-computer and programming fundamentals
Pj01 1-computer and programming fundamentals
 
Introduction to computer programming
Introduction to computer programmingIntroduction to computer programming
Introduction to computer programming
 
technology111110000000000000000000000000000000000000000000
technology111110000000000000000000000000000000000000000000technology111110000000000000000000000000000000000000000000
technology111110000000000000000000000000000000000000000000
 
Lecture 1 (bce-7)
Lecture   1 (bce-7)Lecture   1 (bce-7)
Lecture 1 (bce-7)
 
Lec1.ppt
Lec1.pptLec1.ppt
Lec1.ppt
 
Problem solving
Problem solvingProblem solving
Problem solving
 
COM1407: Structured Program Development
COM1407: Structured Program Development COM1407: Structured Program Development
COM1407: Structured Program Development
 
Design and Analysis Algorithms.pdf
Design and Analysis Algorithms.pdfDesign and Analysis Algorithms.pdf
Design and Analysis Algorithms.pdf
 
Algo_Lecture01.pptx
Algo_Lecture01.pptxAlgo_Lecture01.pptx
Algo_Lecture01.pptx
 
Algorithm.pdf
Algorithm.pdfAlgorithm.pdf
Algorithm.pdf
 
Design and Analysis of Algorithm ppt for unit one
Design and Analysis of Algorithm ppt for unit oneDesign and Analysis of Algorithm ppt for unit one
Design and Analysis of Algorithm ppt for unit one
 
Logic design and switching theory
Logic design and switching theoryLogic design and switching theory
Logic design and switching theory
 
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320  SOFTWARE ENGINEERING Lecture01 (1).pptCSE320  SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
 
overview of principles of computerss.ppt
overview of principles of computerss.pptoverview of principles of computerss.ppt
overview of principles of computerss.ppt
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxCOMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
 
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptxCOMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
COMPUTING AND PROGRAMMING FUNDAMENTAL.pptx
 

More from Elsayed Hemayed

14 cie552 camera_calibration
14 cie552 camera_calibration14 cie552 camera_calibration
14 cie552 camera_calibrationElsayed Hemayed
 
12 cie552 object_recognition
12 cie552 object_recognition12 cie552 object_recognition
12 cie552 object_recognitionElsayed Hemayed
 
11 cie552 image_featuresii_sift
11 cie552 image_featuresii_sift11 cie552 image_featuresii_sift
11 cie552 image_featuresii_siftElsayed Hemayed
 
10 cie552 image_featuresii_corner
10 cie552 image_featuresii_corner10 cie552 image_featuresii_corner
10 cie552 image_featuresii_cornerElsayed Hemayed
 
09 cie552 image_featuresi
09 cie552 image_featuresi09 cie552 image_featuresi
09 cie552 image_featuresiElsayed Hemayed
 
08 cie552 image_segmentation
08 cie552 image_segmentation08 cie552 image_segmentation
08 cie552 image_segmentationElsayed Hemayed
 
07 cie552 image_mosaicing
07 cie552 image_mosaicing07 cie552 image_mosaicing
07 cie552 image_mosaicingElsayed Hemayed
 
06 cie552 image_manipulation
06 cie552 image_manipulation06 cie552 image_manipulation
06 cie552 image_manipulationElsayed Hemayed
 
05 cie552 image_enhancement
05 cie552 image_enhancement05 cie552 image_enhancement
05 cie552 image_enhancementElsayed Hemayed
 
04 cie552 image_filtering_frequency
04 cie552 image_filtering_frequency04 cie552 image_filtering_frequency
04 cie552 image_filtering_frequencyElsayed Hemayed
 
03 cie552 image_filtering_spatial
03 cie552 image_filtering_spatial03 cie552 image_filtering_spatial
03 cie552 image_filtering_spatialElsayed Hemayed
 
02 cie552 image_andcamera
02 cie552 image_andcamera02 cie552 image_andcamera
02 cie552 image_andcameraElsayed Hemayed
 
Csci101 lect04 advanced_selection
Csci101 lect04 advanced_selectionCsci101 lect04 advanced_selection
Csci101 lect04 advanced_selectionElsayed Hemayed
 
Csci101 lect10 algorithms_iii
Csci101 lect10 algorithms_iiiCsci101 lect10 algorithms_iii
Csci101 lect10 algorithms_iiiElsayed Hemayed
 
Csci101 lect09 vectorized_code
Csci101 lect09 vectorized_codeCsci101 lect09 vectorized_code
Csci101 lect09 vectorized_codeElsayed Hemayed
 
Csci101 lect08b matlab_programs
Csci101 lect08b matlab_programsCsci101 lect08b matlab_programs
Csci101 lect08b matlab_programsElsayed Hemayed
 
Csci101 lect08a matlab_programs
Csci101 lect08a matlab_programsCsci101 lect08a matlab_programs
Csci101 lect08a matlab_programsElsayed Hemayed
 
Csci101 lect07 algorithms_ii
Csci101 lect07 algorithms_iiCsci101 lect07 algorithms_ii
Csci101 lect07 algorithms_iiElsayed Hemayed
 
Csci101 lect06 advanced_looping
Csci101 lect06 advanced_loopingCsci101 lect06 advanced_looping
Csci101 lect06 advanced_loopingElsayed Hemayed
 

More from Elsayed Hemayed (20)

14 cie552 camera_calibration
14 cie552 camera_calibration14 cie552 camera_calibration
14 cie552 camera_calibration
 
12 cie552 object_recognition
12 cie552 object_recognition12 cie552 object_recognition
12 cie552 object_recognition
 
11 cie552 image_featuresii_sift
11 cie552 image_featuresii_sift11 cie552 image_featuresii_sift
11 cie552 image_featuresii_sift
 
10 cie552 image_featuresii_corner
10 cie552 image_featuresii_corner10 cie552 image_featuresii_corner
10 cie552 image_featuresii_corner
 
09 cie552 image_featuresi
09 cie552 image_featuresi09 cie552 image_featuresi
09 cie552 image_featuresi
 
08 cie552 image_segmentation
08 cie552 image_segmentation08 cie552 image_segmentation
08 cie552 image_segmentation
 
07 cie552 image_mosaicing
07 cie552 image_mosaicing07 cie552 image_mosaicing
07 cie552 image_mosaicing
 
06 cie552 image_manipulation
06 cie552 image_manipulation06 cie552 image_manipulation
06 cie552 image_manipulation
 
05 cie552 image_enhancement
05 cie552 image_enhancement05 cie552 image_enhancement
05 cie552 image_enhancement
 
04 cie552 image_filtering_frequency
04 cie552 image_filtering_frequency04 cie552 image_filtering_frequency
04 cie552 image_filtering_frequency
 
03 cie552 image_filtering_spatial
03 cie552 image_filtering_spatial03 cie552 image_filtering_spatial
03 cie552 image_filtering_spatial
 
02 cie552 image_andcamera
02 cie552 image_andcamera02 cie552 image_andcamera
02 cie552 image_andcamera
 
01 cie552 introduction
01 cie552 introduction01 cie552 introduction
01 cie552 introduction
 
Csci101 lect04 advanced_selection
Csci101 lect04 advanced_selectionCsci101 lect04 advanced_selection
Csci101 lect04 advanced_selection
 
Csci101 lect10 algorithms_iii
Csci101 lect10 algorithms_iiiCsci101 lect10 algorithms_iii
Csci101 lect10 algorithms_iii
 
Csci101 lect09 vectorized_code
Csci101 lect09 vectorized_codeCsci101 lect09 vectorized_code
Csci101 lect09 vectorized_code
 
Csci101 lect08b matlab_programs
Csci101 lect08b matlab_programsCsci101 lect08b matlab_programs
Csci101 lect08b matlab_programs
 
Csci101 lect08a matlab_programs
Csci101 lect08a matlab_programsCsci101 lect08a matlab_programs
Csci101 lect08a matlab_programs
 
Csci101 lect07 algorithms_ii
Csci101 lect07 algorithms_iiCsci101 lect07 algorithms_ii
Csci101 lect07 algorithms_ii
 
Csci101 lect06 advanced_looping
Csci101 lect06 advanced_loopingCsci101 lect06 advanced_looping
Csci101 lect06 advanced_looping
 

Recently uploaded

Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfUmakantAnnand
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting DataJhengPantaleon
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxRoyAbrique
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991RKavithamani
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppCeline George
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesFatimaKhan178732
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptxPoojaSen20
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 

Recently uploaded (20)

Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Concept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.CompdfConcept of Vouching. B.Com(Hons) /B.Compdf
Concept of Vouching. B.Com(Hons) /B.Compdf
 
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data_Math 4-Q4 Week 5.pptx Steps in Collecting Data
_Math 4-Q4 Week 5.pptx Steps in Collecting Data
 
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptxContemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
Contemporary philippine arts from the regions_PPT_Module_12 [Autosaved] (1).pptx
 
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
Industrial Policy - 1948, 1956, 1973, 1977, 1980, 1991
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
URLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website AppURLs and Routing in the Odoo 17 Website App
URLs and Routing in the Odoo 17 Website App
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Separation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and ActinidesSeparation of Lanthanides/ Lanthanides and Actinides
Separation of Lanthanides/ Lanthanides and Actinides
 
PSYCHIATRIC History collection FORMAT.pptx
PSYCHIATRIC   History collection FORMAT.pptxPSYCHIATRIC   History collection FORMAT.pptx
PSYCHIATRIC History collection FORMAT.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 

Csci101 lect00 introduction

  • 1. CSCI 101, Introduction to Computer Science An Essential Skill for Life
  • 2. With the digital age rising, there is a need to develop logical thinking and problem-solving which are all part of the computer science curriculum.
  • 3. Intro • Course Administration • Computer hardware & software • How to write a program? • What is an algorithm?  Pseudocode  Flowcharts
  • 4. Computer Science • “Computer science is the discipline that seeks to build a scientific foundation for topics like computer design, computer programming, information processing, algorithmic solutions of problems, and the algorithmic process itself. It provides the underpinnings for today’s computer applications as well as the foundations for tomorrow’s computing infrastructure.” 1 From the book “Computer Science: an overview” by J. Glenn Brookshear
  • 5. About this course • An introduction to computer programming • Discusses the basics of computational problem solving, algorithm design and analysis, and data structures • An introduction to the MATLAB programming language.
  • 6. Course objectives After completing this course, you should be able to: • evaluate the results of programming work. • describe the algorithm of solving any problem using flowchart. • observe and state each step in the problem solving method (input, output, solve by hand, scientific principles, convert to code, test code). • use the programming language MATLAB to write computer programs that solve scientific problems. • use data types, input/output commands, loops, control structures, functions, arrays, and other programming language constructs in MATLAB computer programs. • identify basic sorting and searching algorithms and their complexities. • identify basic data structures (arrays, matrices and graphs). • understand the role of creativity and innovation in developing computer algorithms. • work in teamwork to solve real life problems.
  • 7. Textbook(s) • Stormy Attaway, “MATLAB: A practical Introduction to Programming and Problem Solving”, Elsevier, 2011.
  • 8. Requirements • Quizzes & LABS 10 % • Term Project 15 % • Exam1 10 % • Exam2 15 % • Lab Exam 10 % • Final Exam 40 % 75% attendance is required. No makeup for quiz or midterm exam. Student must attend the laboratory to pass the course.
  • 9. Requirements Students are expected to recognize and uphold standards of intellectual and academic integrity. Plagiarism, fabrication and cheating will not be tolerated. To know about the university of Science and Technology’s code of conduct, please check the university website https://www.zewailcity.edu.eg
  • 10. Lectures and topics • Basic Data structures • Arithmetic expressions & Math functions • Program Control: Selection statements and looping • Input and output functions • User defined functions • Vectorization • Searching, Sorting, Classification, Clustering Algorithms
  • 12. Computer Hardware • Input Unit: accepts inputs from users, translates it, and transmits it to the processor (e.g. keyboards, joysticks, microphones and mouses) • Output Unit: display processed information to the outside world (e.g. monitors, printers (2D and 3D), speakers, and projectors) • Arithmetic and Logic Unit: calculates arithmetic and logical expressions. It reads the operands from memory, perform the operation and store the resultant value in memory. • Memory Unit: stores programs and data (two classes primary and secondary) • Control unit : coordinates the operation of all other units. It is the nerve center that sends control signals to all units and senses their status . 1 For more information read section 1.2, Computer Organization and Embedded Systems (6th edition) by Carl Hamacher et al.
  • 13. • A computer can perform a specific set of instructions, one at a time. – Get input (from keyboard to memory) – Display output (from memory to screen) – Compute an arithmetic expression (^, *, /, +, -) – Compute a logical expression and branch selection – Repeat instructions • A software program is a sequence of such instructions Software Program 1
  • 14. 1. Read the problem statement, and identify – The input and its range – The output – The relationship between the input and the output (how to compute the output) [Comprehend] 2. Write your thoughts as a sequence of steps. [Algorithm] 3. Convert these steps to Code. [Program] 4. Test your code and compare your program result against a human result. [Testing] How to write a software program?
  • 15. Writing a computer program: the role of algorithms • An algorithm is a set of steps that describes how a task can be performed (informal definition). • fundamental concept of computer science • The word is derived from the famous mathematician Muḥammad ibn Musa al-Khwarizmi, one of the first Directors of the House of Wisdom (a major public academy and intellectual center), in Bagdad (9th century). • began as a subject in mathematics. The goal was to find a single set of directions that describes how all problems of a particular type could be solved. • “if no algorithm exists for solving a problem, then the solution of that problem lies beyond the capabilities of machines.” 1. From the book “Computer Science: an overview” by J. Glenn Brookshear 1
  • 16. Algorithms: a formal definition • An algorithm is an ordered set of unambiguous, executable steps that defines a terminating process. • Ordered: steps are executed in a sequence. (In parallel algorithms, we may have more than one execution path) • Unambiguous: a single and unique interpretation. the information must be sufficient to determine uniquely and completely the required actions. • Branch if the value of x is large enough. Is it unambiguous? • Some algorithms (nondeterministic algorithms) do not conform to this restriction. • Executable: A step that can be done. • Make a list of all the positive integers. Is it executable • Terminating: the execution must lead to an end. • There are, however, some meaningful non terminating processes such as monitoring the vital signs of a patient. 1 1. From the book “Computer Science: an overview” by J. Glenn Brookshear
  • 17. Ways to represent an algorithm • Pseudocode: • An intuitive notational system in which ideas can be expressed informally. • Less formal than target programming language. • Flexible, less complex, and easy to understand compared to formal programming languages. • Flowchart: • A graphical representation of an algorithm. • Provides a simple way to visualize transitions and analyze the execution paths.
  • 18. Pseudocode: Examples • Write an algorithm to calculate the area of a circle • Step 1: Get Radius • Step 2: Set Pi = 3.14 • Step 3: Calculate Area = Pi * Radius * Radius • Step 4: Print Area
  • 19. Pseudocode: Examples • Write an algorithm to convert temperature Fahrenheit to Celsius • Step 1: Get Temp in Fahrenheit (F) • Step 2: Calculate C = 5/9 * (F-32) • Step 3: Print C T(°C) = (T(°F) - 32) × 5/9
  • 20. Exercise • Find X2 and X3 of any given number X • Step 1: Get N • Step 2: Set S = N * N • Step 3: Set C = S * N • Step 4: Print S, C