Topic: Programming Languages and their Evolution + Intro to Scratch

Slides:



Advertisements
Similar presentations
GCSE Computing Lesson 5.
Advertisements

© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
Program Flow Charting How to tackle the beginning stage a program design.
Lecture Notes 1/21/04 Program Design & Intro to Algorithms.
Chapter 16 Programming and Languages: Telling the Computer What to Do.
CCSA 221 Programming in C CHAPTER 2 SOME FUNDAMENTALS 1 ALHANOUF ALAMR.
Chapter 2 Build Your First Project A Step-by-Step Approach 2 Exploring Microsoft Visual Basic 6.0 Copyright © 1999 Prentice-Hall, Inc. By Carlotta Eaton.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
Introduction to Computational Linguistics Programming I.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
Problem Solving using the Science of Computing MSE 2400 EaLiCaRA Spring 2015 Dr. Tom Way.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
A compiler is a computer program that translate written code (source code) into another computer language Associated with high level languages A well.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
INTRODUCTION TO COMPUTER PROGRAMMING(IT-303) Basics.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Programming Languages
Software Engineering Algorithms, Compilers, & Lifecycle.
Introduction to computer software. Programming the computer Program, is a sequence of instructions, written to perform a specified task on a computer.
Evolution and History of Programming Languages
Computer Systems Nat 5 Computing Science
Why don’t programmers have to program in machine code?
Programming what is C++
Topic: Introduction to Computing Science and Programming + Algorithm
Topic: Python’s building blocks -> Variables, Values, and Types
Programming Languages
CMPT 120 Topic: Searching – Part 2
Topic: Introduction to Computing Science and Programming + Algorithm
Introduction to programming
CMPT 120 Topic: Searching – Part 2
CSCI-235 Micro-Computer Applications
Computer Programming.
Topic: Python’s building blocks -> Statements
Topic: Conditional Statements – Part 1
Lecture 1: Introduction to JAVA
Topic: Python’s building blocks -> Variables, Values, and Types
Computer Systems Nat 5 Computing Science
Topic: Recursion – Part 1
CMPT 120 Topic: Functions – Part 4
Topic: Functions – Part 2
A451 Theory – 7 Programming 7A, B - Algorithms.
Introduction to Programmng in Python
Application Development Theory
Teaching Computing to GCSE
Unit# 8: Introduction to Computer Programming
TRANSLATORS AND IDEs Key Revision Points.
Teaching Computing to GCSE
Translators & Facilities of Languages
Language is a medium of communication.
Assembler, Compiler, Interpreter
Computer Programming.
High Level Programming Languages
PROGRAMMING What is it?.
CS105 Introduction to Computer Concepts Intro to programming
The Programming Process
PROGRAMMING FUNDAMENTALS Lecture # 03. Programming Language A Programming language used to write computer programs. Its mean of communication between.
CS 1111 Introduction to Programming Spring 2019
ICT Programming Lesson 1:
ICT Gaming Lesson 2.
Tonga Institute of Higher Education IT 141: Information Systems
An Introduction to Programming with C++ Fifth Edition
Nat 4/5 Computing Science Translator Programs
Tonga Institute of Higher Education IT 141: Information Systems
Chapter 1 Introduction to Programming
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.
1.3.7 High- and low-level languages and their translators
Presentation transcript:

Topic: Programming Languages and their Evolution + Intro to Scratch CMPT 120 Topic: Programming Languages and their Evolution + Intro to Scratch

Last Lecture Computing Science -> Problem Solving Problem Solving Process Algorithm Decomposition 5 ways of expressing algorithm Why do we need them? Computer Program -> Activity Steps of Problem Solving Process: Problem Statement a) Solution(s) Design -> solution is expressed as an algorithm b) Identify data involved in problem: input data, internal data and output data (result) Selection Select “best” solution by analyzing efficiency of algorithms Implementation Implement an algorithm into a computer program Testing Does program execute and solve problem?

Learning outcomes At the end of this lecture, a student will be able to: Describe fundamental concepts pertaining to computing science Programming language Evolution of programming languages

Today’s Menu Definition of Programming language Evolution of programming languages Compiled versus interpreted programming languages Introduction to Scratch Illustrate the Problem Solving Process using Scratch Step 4 Step 1 Step 2 Step 5 Implement algorithm into computer program State problem Design algorithm + Identify data Test it

Programming Language A programming language, like a natural language, is made of Vocabulary (“building blocks”) In English: In Scratch: In Python: Syntax rules (grammar) Definition: is a language that allows us to specify detailed instructions that a computer can understand and execute

What does a computer understand?

Evolution of Programming Languages 1st generation Machine language -> M.L. CPU dependent – each family or series of CPU has its own M.L. Example: Machine languages’ instructions: Instructions expressed as a series of Advantage: Fastest execution since there is no need to translate the instructions of the program into M.L. Disadvantage: Tedious to learn, use, read and debug

Evolution of programming languages 2nd generation Assembly languages -> low level languages 1 level of abstraction away from M.L. Still CPU dependent (like M.L.) Example: Assembly languages’ instructions Translation required: Advantage: Easier to read than M.L. Disadvantage: But still tedious to learn, use, read and debug + error-prone Program in Assembly language Program in M.L. Assembler

Evolution of programming languages 3rd generation High level languages: visual and text-based Abstraction: Further away from M.L. CPU independent Example: High level languages’ instructions Translation: See next slide Advantage: Easier for humans to learn, use, read and debug Disadvantage:

Translation – Compiler Executable file -> program translated into M.L. M.L. instructions in .exe file are executed @ a time Program in high-level language Compiler Run We only need to translate, i.e., compile our program (in high-level language) once Every time we want to execute our program, we simply “run” its executable file

Translation – Interpreter M.L. instructions, representing this statement, are executed @ a time Program in high-level language Interpreter Every time we want to execute our program, we must “interpret” it This “interpretation” process is repeated until the whole program has executed

Examples of Programming language – Hello World! This web site shows the “Hello World!” program written in a multitude of programming languages http://helloworldcollection.de/

Let’s introduce Scratch Where to find Scratch? https://scratch.mit.edu/ What is Scratch? “Scratch is a block-based imperative, event-driven, dynamically-typed and interpreted programming language.” Source: https://wiki.scratch.mit.edu/wiki/Programming_Language Why starting with a visual programming language such as Scratch? Fun to learn and use Easily accessible

Summary Defined programming language Outlined evolution of programming languages through first 3 generations Described compiler and interpreter Introduced to Scratch Demo’ed of the Problem Solving Process using Scratch Step 4 Step 1 Step 2 Step 5 Implement algorithm into computer program State problem Design algorithm + Identify data Test it

Next Lecture i-clicker Session 1 Introduce Python Illustrate the Problem Solving Process using Python