Topic: Introduction to Computing Science and Programming + Algorithm

Slides:



Advertisements
Similar presentations
1 ICS102: Introduction To Computing King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science.
Advertisements

Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Lecture 14 Go over midterm results Algorithms Efficiency More on prime numbers.
Introduction to Programming Lecture Number:. What is Programming Programming is to instruct the computer on what it has to do in a language that the computer.
An ordered sequence of unambiguous and well-defined instructions that performs some task and halts in finite time Let's examine the four parts of this.
CS 390 Introduction to Theoretical Computer Science.
Instructor Information: Dr. Radwa El Shawi Room: Week # 1: Overview & Review.
DATA STRUCTURES (CS212D) Week # 1: Overview & Review.
Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and Elizabeth Drake Chapter 2: Flowcharts.
CS 140 Computer Programming (I) Second semester (3 credits) Imam Mohammad bin Saud Islamic University College of Computer Science and Information.
Introduction to Algorithms By Mr. Venkatadri. M. Two Phases of Programming A typical programming task can be divided into two phases: Problem solving.
Major objective of this course is: Design and analysis of modern algorithms Different variants Accuracy Efficiency Comparing efficiencies Motivation thinking.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
8.1 8 Algorithms Foundations of Computer Science  Cengage Learning.
| MSC 8102:PROGRAMMING CONCEPTS By Vincent Omwenga, PhD. 1.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Problem Solving & Computer Programming
Algorithms and Problem Solving
Topic: Introduction to Computing Science and Programming + Algorithm
Topic: Python’s building blocks -> Variables, Values, and Types
Algorithms, Part 1 of 3 The First step in the programming process
Topic: Functions – Part 1
Topic: Programming Languages and their Evolution + Intro to Scratch
INTRODUCTION TO PROBLEM SOLVING
Software Development Expansion of topics page 28 in Zelle
Unit 3: ALGORITHMS AND FLOWCHARTS
Topic: Python’s building blocks -> Statements
Topic: Conditional Statements – Part 1
Topic: Python’s building blocks -> Variables, Values, and Types
It’s called “wifi”! Source: Somewhere on the Internet!
CMPT 120 Topic: Searching – Part 1
Topic: Recursion – Part 1
CMPT 120 Topic: Functions – Part 4
CS1001 Programming Fundamentals 3(3-0) Lecture 2
Topic: Functions – Part 2
Algorithm Algorithm is a step-by-step procedure or formula or set of instruction for solving a problem Its written in English language or natural language.
Algorithm and Ambiguity
COMS W1004 Introduction to Computer Science and Programming in Java
Unit# 9: Computer Program Development
Lesson 2 Programming constructs – Algorithms – Scratch – Variables Intro.
Objective of This Course
Introduction to Algorithms
Global Challenge Night Sensor Lesson 2.
Global Challenge Night Sensor Lesson 2.
Algorithm Discovery and Design
Introduction to Algorithms and Programming
Faculty of Computer Science & Information System
Global Challenge Night Sensor Lesson 2.
Global Challenge Night Sensor Lesson 2.
Algorithm and Ambiguity
Global Challenge Night Sensor Lesson 2.
Algorithms and Problem Solving
Global Challenge Night Sensor Lesson 2.
Global Challenge Night Sensor Lesson 2.
Click to add Text Computers & Instructions. Computers are given instructions in the form of computer programs that are created through the development.
Global Challenge Night Sensor Lesson 2.
COMPUTATIONAL THINKING COMPUTATIONAL THINKING IN PROGRAMMING
Introduction to Algorithm and its Complexity Lecture 1: 18 slides
Global Challenge Night Sensor Lesson 2.
Basic Concepts of Algorithm
Global Challenge Night Sensor Lesson 2.
Design and Analysis of Algorithms
WJEC GCSE Computer Science
CMPT 120 Lecture 2 - Introduction to Computing Science – Problem Solving, Algorithm and Programming.
CMPT 120 Lecture 3 - Introduction to Computing Science – Programming language, Variables, Strings, Lists and Modules.
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
Introduction to Computing Science and Programming 1 Anne Lavergne
Advanced Analysis of Algorithms
Review and Instructions
Presentation transcript:

Topic: Introduction to Computing Science and Programming + Algorithm CMPT 120 Topic: Introduction to Computing Science and Programming + Algorithm

Last Lecture Introduced the course Little activity -> thank you! What this course is about Its resources Little activity -> thank you! Some questions Our expectations How to get ready for next lecture How to participate during lecture If we are on the waiting list …

Today’s Menu Course Title: “Introduction to Computing Science and Programming 1” This slide is from our Lecture 1.

Learning Outcomes At the end of this course, a student will be able to: Describe fundamental concepts pertaining to computing science Computing science Problem solving Algorithm Decomposition

i-clicker – Practice Session About our 2 readings and more

What is Computing Science? Study of computation -> all aspects of problem solving -> a.k.a. computational thinking Design and analysis of algorithms Formalization of algorithms as programs Development of computational devices (e.g.: computers) for executing those programs

We can hear what people have to say … … about what Computer Science is! -> Let’s follow some of the links listed under Resources on our course web site: What is Computing Science? from Rochester Institute of Technology (video) What is Computing Science? from code.org (video)

Computer versus Computing Computer: a tool “Despite its name, a significant amount of computer science does not involve the study of computers themselves.” Computing: field of study According to http://wordnetweb.princeton.edu/perl/webwn?s=computation Computing = Computation Reference: http://en.wikipedia.org/wiki/Computer_science

Subfields of Computing Science Will come back to this topic at end of semester Links listed under Resources on our course web site: Description of Computing Science from Wiki Areas of Research at SFU School of Computing Science

What is Programming?

Problem Solving Process State the problem a) Design solution(s) to problem -> solution is expressed as an algorithm b) Identify data involved in problem input Structure and represent (abstract) data into algorithms/programs output Analyze the algorithm Is it effective? Is it efficient? Implement algorithm into a computer program Test program Does it execute (run)? Does it solve the problem?

Problem Solving Process – Example There is no more milk. Data: milk Solution: Buy more milk. “Implement” the solution Hum… can I??? Its describing a solution to the problem without details.

Decomposition What if the algorithm is not detailed enough to implement it and solve the problem? Then we need to decompose it into “finer”, i.e., more detailed steps Example: Buy milk Now, we can “implement” the solution since we have sufficient details.

Problem Solving Process - Activity State the problem Design solution(s) to problem -> algorithm (input, internal data, output) Analyzing the algorithm (effective?/efficient?) Implement the algorithm Have we solve the problem? Problem: Data: Algorithm:  Once we apply the algorithm, is the problem solved?

Algorithm - Definition A finite sequenced set of unambiguous steps that, once executed, produces a result Finite: This set of steps executes in a finite amount of time i.e. it should finish at some point Sequenced: The steps must be executed in the order in which they are listed Unambiguous: Each step is clear Result: This result solves the initial problem The algorithm also describes The input (data) it is expecting Internal data it is using The output (result) it is producing

More about algorithm Please, see the video “Algorithms from Khan Academy” listed under Resources on our home course web page

How do we express an algorithm? Use a natural language like English Example: Problem: Let’s figure out our course final grade Take all the grades we obtained in course activities (e.g., assignments, exams, etc…) Compute each grade as a % of final grade

How do we express an algorithm? Use a mix of natural language and computer language -> pseudocode Example: Problem: Let’s figure out our course final grade Set final grade to 0 For each grade Input the grade Input the grade’s maximum (out of) (gradedOutOf) Input the grade’s % of the final grade (percentOfFinalGrade) Compute the new grade: (grade * percentOfFinalGrade ) / gradedOutOf Keep a running total: final grade = final grade + new grade Print the final grade

How do we express an algorithm? Start Set final grade to 0 Use a flowchart Legend: Have Yes All grades read yet? No Input the grade Start and end of algorithm Input the grade’s maximum Processing Input the grade’s % of the final grade Input or Output Compute the new grade e Decision Keep a running Total for final grade Flow of execution Print final grade End

How do we express an algorithm? 4. In a diagram Please, see ”Here is an awesome way of expressing an algorithm (Way #4)“ listed under Resources on our home course web page 5. In a video (verbal instructions and pictures)

Why do we need algorithms?

Summary i-clicker Practice Session Computing Science -> Problem solving Programming Problem Solving Process Algorithm Decomposition How to express them -> 5 ways Why do we need them

Next Lecture Demo: Illustrate the Problem Solving Process Experience what it means to create a computer program Implement algorithm into computer program State problem Design algorithm + Identify data Test it