Algorithm development. The invention of the computer  Programming language developments: 1. Machine code 2. Assembler  easier to write, debug, and update.

Slides:



Advertisements
Similar presentations
Designing a Program & the Java Programming Language
Advertisements

Programming Basic Concepts © Juhani Välimäki 2003.
Lecture 1: Overview of Computers & Programming
Copyright © 2002 W. A. Tucker1 Chapter 1 Lecture Notes Bill Tucker Austin Community College COSC 1315.
Computers Are Your Future
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Program Flow Charting How to tackle the beginning stage a program design.
Chapter 16 Programming and Languages: Telling the Computer What to Do.
Introduction to Computer Programming CSC 1401: Introduction to Programming with Java Lecture 2 Wanda M. Kunkle.
CMP 131 Introduction to Computer Programming Violetta Cavalli-Sforza Week 1, Lab.
ICS 102 Computer Programming University of Hail College of Computer Science & Engineering Computer Science and Software Engineering Department.
Introduction Algorithms and Programming. Computer Programming  A form of problem solving  Or, more accurately, a way to solve problems  What we will.
Objectives Machine language vs.. High-level language Procedure-oriented, object-oriented, and event- driven languages Background of Visual Basic VB Integrated.
1 SD1042: Introduction to Software Development SD1042 Introduction to Software Development SCHOOL OF COMPUTING AND TECHNOLOGY Getting Started MODULE TEAM.
CSE 1301 J Lecture 2 Intro to Java Programming Richard Gesick.
Neal Stublen Computer Systems Hardware Display Keyboard Mouse Microphone Memory Chips Microprocessor.
CCSA 221 Programming in C CHAPTER 2 SOME FUNDAMENTALS 1 ALHANOUF ALAMR.
CS 161 INTRO TO PROGRAMMING I Dr. Blaise W. Liffick Fall
CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]
Parts of a Computer Why Use Binary Numbers? Source Code - Assembly - Machine Code.
Chapter 17 Programming Tools The Architecture of Computer Hardware and Systems Software: An Information Technology Approach 3rd Edition, Irv Englander.
Introduction COMP104: Fundamentals and Methodology.
1 Purposes: Learn JAVA 1.What is programming languages 2.How to solve problems by computers 1.a CS major student, get a degree in BS 2.a programmer  system.
COMPUTER MAIN PARTS Hardware Software. HARDWARE Definition: The set of hardware components that make up the material part (physical) of a computer, unlike.
Introduction to Java Lecture # Java History Green Team started by Sun Microsystems. *7 Handheld controller for multiple entertainment systems.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
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 1 1. Introduction to object oriented programming and problem-solving.
Session One Introduction. Personal Introduction Role of programmers Robot Examination HUD & HID Uploading Code.
Computer Programming A program is a set of instructions a computer follows in order to perform a task. solve a problem Collectively, these instructions.
© 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various.
Programming Concept Chapter I Introduction to Java Programming.
Visual C++ Programming: Concepts and Projects
1 3. Computing System Fundamentals 3.1 Language Translators.
The Joy of Programming (also known as) Introduction to Object-Oriented Programming.
Chapter 3: Computer Software. Stored Program Concept v The concept of preparing a precise list of exactly what the computer is to do (this list is called.
The Programming Process Define the problem* Make or buy software? Design the program * Code (write) the program Test (debug) the program Document the.
Computing System Fundamentals 3.1 Language Translators.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
Chapter 1 Computers, Compilers, & Unix. Overview u Computer hardware u Unix u Computer Languages u Compilers.
CSC1200 INTRODUCTION TO PROGRAMMING Dr. Maureen Markel
CS-303 Introduction to Programming
CSC 1051 M.A. Papalaskari, Villanova University Algorithms Dr. Mary-Angela Papalaskari Department of Computing Sciences Villanova University Course website:
 Programming - the process of creating computer programs.
Programming Languages
© 2012 Pearson Education, Inc. All rights reserved types of Java programs Application – Stand-alone program (run without a web browser) – Relaxed.
©2016 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. CSC 110 – INTRO TO COMPUTING - PROGRAMMING Overview of Programming.
Lecture (8) Programming Design Dr. Emad Elsharkawy Eng- Omar Salah Dr:Emad Elsharkawy 1 Saturday, 13 February 2016.
Introduction to Language Programming Hierarchy of programming lang. Based on machine independences: 1. Machine language 2. Assembly language 3. Higher.
Chapter 11  Getting ready to program  Hardware Model  Software Model  Programming Languages  Facts about C++  Program Development Process  The Hello-world.
The Big Picture. My Story  Wrote great programs  Didn’t understand how they worked.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
نظام المحاضرات الالكترونينظام المحاضرات الالكتروني Computer Software.
Programming Languages Concepts Chapter 1: Programming Languages Concepts Lecture # 4.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Software Engineering Algorithms, Compilers, & Lifecycle.
Intro to Programming STARS College of Communication and Information Florida State University Written by: Hannah Brock Alissa Ovalle Nicolaus Lopez Martin.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Introduction to Computers and Programming
Basic Concepts: computer, program, programming …
Ashima Wadhwa Assistant Professor(giBS)
CSCI-235 Micro-Computer Applications
Programming COMP104: Fundamentals and Methodology Introduction.
The Programming Process
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
System Programming By Prof.Naveed Zishan.
Presentation transcript:

Algorithm development

The invention of the computer  Programming language developments: 1. Machine code 2. Assembler  easier to write, debug, and update 3. High level languages  strive to be machine independent  easier to learn and use  1954 – FORTRAN  1961 – COBOL  then ALGOL, LISP, BASIC  1970 – Pascal  1980’s – C  1990’s – C++, Java (originally called ?)  and many, many others

High level langauges (HLL)  Not directly understood by the computer  Humanly readable  Requires the user of a compiler Compiler= program  Input= code written in a HLL  Output= machine code

Pascal (an HLL)  1970’s  Support for “structured programming” Control constructs 1. Linear sequence of commands/instructions 2. Repetition 3. Selection  Top-down programming  Problem is broken down into a series of smaller problems which are solved.  Divide-and-conquer technique.

Types of software 1. OS (operating system) 2. Programming environment/tools 3. Applications

Operating Systems (OS)  Windows  Linux Android (linux-based)  Unix  Mac OS  many others

Programming environments/tools  Tools emacs (an editor – not a word processor) vi g++ gdb

Programming environments/tools  IDE’s (Integrated Development Environment) consist of: editor, compiler or interpreter, debugger, linker examples: jGrasp, netbeans, Eclipse, Ready, Visual C++, Visual BASIC, JBuilder, and many others

Applications  Computer games  Word processors  Graphics packages  Virtual reality software  Web browsers  Presentation  Database  Spreadsheet  And many others.

Social issues  Privacy/anonymity  Quality of information

Program development  Our programming language is Java.  The IDE we will use is jGrasp. Editor is used to type in program text (it is not a word processor; don’t use a word processor). Compiler (syntax errors) Run/execute (semantic errors)

Program development  Java is an object-oriented language. (Note: Case sensitive.)  Method named operation constructor (ctor)  special method w/ same name as class  performs initialization  class may have more than 1 ctor  Class named group of related methods

Recall “What is a computer?” INPUT (information) PROCESSING OUTPUT (information) MEMORY

Definitions (from  An algorithm is a specific set of instructions for carrying out a procedure or solving a problem, usually with the requirement that the procedure terminate at some point.

Definitions (from  Specific algorithms sometimes also go by the names: method procedure routine subroutine technique

Definitions (from The word “algorithm” is a distortion of al-Khwārizmī, a Persian mathematician who wrote an influential treatise about algebraic methods.

Definitions (from The process of applying an algorithm to an input to obtain an output is called a computation.

Recall “What is a computer?” INPUT (information) PROCESSING OUTPUT (information) MEMORY  How can a Java program perform output?

How can a program perform output? System.out.println( "hello world" );

blocks { System.out.println( "Welcome!" ); System.out.println( "Enjoy the show." ); }

Method/function/procedure public static void main ( String param[] ) { System.out.println( "hi there" ); }

Defining our own objects class MyFirstClass { public static void main ( String param[] ) { System.out.println( "hi there" ); }

Recall “What is a computer?” INPUT (information) PROCESSING OUTPUT (information) MEMORY  How can a Java program perform input?

How can a Java program perform input? … Scanner s = new Scanner( System.in ); … String str = s.nextLine(); …

We can mix input and output. Scanner s = new Scanner( System.in ); System.out.print( "Enter your name: " ); String name = s.nextLine(); System.out.println( "Thanks." ); s.close();

Complete program that does both input & output. import java.util.Scanner; class MySecondClass { public static void main ( String param[] ) { Scanner s = new Scanner( System.in ); System.out.print( "Enter your name: " ); String name = s.nextLine(); System.out.println( "Thanks." ); s.close(); }