CS105 Introduction to Computer Concepts Intro to programming

Slides:



Advertisements
Similar presentations
What is a Computer Program? For a computer to be able to do anything (multiply, play a song, run a word processor), it must be given the instructions.
Advertisements

Designing a Program & the Java Programming Language
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Lecture 1: Overview of Computers & Programming
Chapter 2- Visual Basic Schneider1 Chapter 2 Problem Solving.
CS105 INTRODUCTION TO COMPUTER CONCEPTS INTRO TO PROGRAMMING Instructor: Cuong (Charlie) Pham.
Programming Creating programs that run on your PC
The Binary Machine Modern high-level programming languages are designed to make programming easier. On the other end, the low level, all modern digital.
The Analytical Engine Module 6 Program Translation.
Algorithm Design CS105. Problem Solving Algorithm: set of unambiguous instructions to solve a problem – Breaking down a problem into a set of sub- problems.
Chapter 10 Application Development. Chapter Goals Describe the application development process and the role of methodologies, models and tools Compare.
SOFTWARE SYSTEMS SOFTWARE APPLICATIONS SOFTWARE PROGRAMMING LANGUAGES.
Programming Concepts and Languages Chapter 12 – Computers: Understanding Technology, 3 rd edition 1November
CSE 1301 J Lecture 2 Intro to Java Programming Richard Gesick.
© Paradigm Publishing Inc Chapter 12 Programming Concepts and Languages.
CCSA 221 Programming in C CHAPTER 2 SOME FUNDAMENTALS 1 ALHANOUF ALAMR.
Programming Languages: Telling the Computers What to Do Chapter 16.
Chapter 17 Programming Tools The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander.
Introduction to Programming Language CS105 Programming Language First-generation: Machine language Second-generation: Assembly language Third-generation:
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
COMPUTER PROGRAMS AND LANGUAGES Chapter 4. Developing a computer program Programs are a set (series) of instructions Programmers determine The instructions.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
CS 326 Programming Languages, Concepts and Implementation Instructor: Mircea Nicolescu Lecture 2.
The Teacher Computing Computer Languages [Computing]
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
Introduction to Computer Application (IC) MH Room 517 Time : 7:00-9:30pm.
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
Course Instructor: Hira Farman Course : BY:HIRA FARMAN.
CONCEPTS OF PROGRAMMING LANGUAGES
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Software Engineering Algorithms, Compilers, & Lifecycle.
Introduction to Software
Computer Language
Chapter 1. Introduction.
Evolution and History of Programming Languages
Computer Languages [Computing] Computing.
Basic Concepts: computer, program, programming …
Why don’t programmers have to program in machine code?
Programming Languages
Chapter 1 Introduction.
Computer Programming (BCT 1113)
Programming languages
PROGRAMMING LANGUAGES
Sections Basic Concepts of Programming
CSCI-235 Micro-Computer Applications
Computer Programming.
Introduction to Computers and Java
Chapter 1 Introduction.
Programming Concepts and Languages
C++ Programming: From Problem Analysis to Program Design
Chapter 4 Computer Software.
Chapter 12 Programming Concepts and Languages.
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
High Level Programming Languages
Programming & S/W Development
Chapter One: An Introduction to Programming and Visual Basic
The Programming Process
PROGRAMMING FUNDAMENTALS Lecture # 03. Programming Language A Programming language used to write computer programs. Its mean of communication between.
ICT Programming Lesson 1:
Lecture 8 Programming Paradigm & Languages. Programming Languages The process of telling the computer what to do Also known as coding.
An Introduction to Programming with C++ Fifth Edition
1.3.7 High- and low-level languages and their translators
CS105 Introduction to Computer Concepts Intro to programming
Presentation transcript:

CS105 Introduction to Computer Concepts Intro to programming Instructor: Yang Mu

Number system comic

Outline Programming Languages Algorithm Design History Implementation Problem Solving Pseudocode 1/3/2019

Programming Language First-generation: Machine language Second-generation: Assembly language Third-generation: High-level language Fourth-generation (Fifth-generation) 1/3/2019

What program can do

Three properties of programming language Readability Write efficiency Execute efficiency

1GL: Machine language A set of primitive instructions built into every computer The instructions are in the form of binary code 1101101010011010 Computers can run instructions only in machine language! Machine code is represented using bytes. It is tedious to read and write. Each family of processor (x86, ARM) understands different machine languages. 1/3/2019

2GL: Assembly language Low-level programming language to represent machine-language instructions E.g.: ADDF3 R1, R2, R3 Assembly code need to be converted into machine code by using an assembler Assembly program is platform dependent Combination of mnemonic and machine instruction Every assembly language instruction has a direct analogue in the form of a machine language instruction. Still difficult to write, but at least readable. Still processor-family specific, since it is directly associated with a machine language. Only used to program when absolutely necessary. 1/3/2019

3GL: High-level language English-like and easy to learn and program. E.g.: Area = 5 * 5 * 3.1415; COBOL, FORTRAN, BASIC, Pascal, Ada, C, Visual Basic, Delphi, C++, C#, Java Source program is compiled into machine code by a compiler and linked to supporting library code by a linker to form an executable file. 1/3/2019

4GL / 5GL 3GL offered greater power to the programmer, while 4GL open up the development environment to a wider population. (Applications Development Without Programmers) Database query languages: SQL… Data manipulation, analysis, and reporting languages: MATLAB, SPSS… 1/3/2019

Category (3GL) Windows Application Web Application C, C++, Java, Visual Basic, C# Web Application Server Side PHP, JSP (Java), ASP.NET (Visual Basic, C#), … Client Side JaveScript, VBScript 1/3/2019

The Binary Machine A modern computer can run programs written in JavaScript, Pascal, Visual Basic, Visual C++, etc. However, computers can only understand one language: the machine language it is not easy to use. The machine language of a Sun workstation is different from a PC (or other platform), however, they can run the same C++ program. 1/3/2019 12

Two types of Translators (3GL to 1GL) Interpreter: translate and run the source code one line at a time. Easy to write and easy to find the errors in the program, but running very slow. crossplatform JavaScript, VBScript, Java, Python, PHP, … Compiler: translates the source code once and for all, producing a complete machine language program. Very fast, but when the program fails, difficult to show the programmer where are the errors. C, C++, C#, and so on. 1/3/2019

Implement a Language Generally, the action of any translating program can be divided into three phases Scanning Parsing Code generation 1/3/2019 14

Implement a Language - Scanning Scanning process: a long string of characters is broken into tokens. Example: sum = a + b is broken into 5 tokens sum, =, a, +, b A token is the smallest meaningful unit of information. 1/3/2019 15

Implement a Language - Parsing Parsing: the string of tokens is transformed into a syntactic structure. What happens in a compiler or interpreter is that the list of tokens is converted to a parse tree in memory via a complicated algorithm. = sum + b a 1/3/2019 16

Parsing a complicated equation 1/3/2019 17

Parsing a complicated equation 1/3/2019 18

Problem Solving Algorithm: set of unambiguous instructions to solve a problem Breaking down a problem into a set of sub-problems Example: Clean the house Without instructions – computers cannot do anything at all! 1/3/2019

Algorithm Design: Basic concepts Instructions – simple and unambiguous Variables – input and temporary Sub procedures – smaller tasks Looping: FOR each variable, WHILE Act of repeating tasks Conditional statements: IF ELSE Selectively execute instructions Instructions are the heart and soul of any algorithms 1/3/2019

Pseudocode: Flowchart Flowchart: diagram that represents an algorithm Symbols: START , END LOOPS, FLOW OF CONTROL INSTRUCTIONS Instructions are the heart and soul of any algorithms CONDITIONALS 1/3/2019

Pseudocode: Flowchart Fixing non functioning lamp algorithm 1/3/2019

Baking a Cake 1/3/2019