Introduction to Algorithm Design

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

Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
Object Oriented Programming in Java George Mason University Fall 2011
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
CPSC150 Fall 2008 Dr. L. Lambert. CPSC150 Overview Syllabus Use Textbook, ask questions, extra thorough, I will post sections covered All information.
How do we make our Welcome.java program do something? The java in our Welcome.java file won’t do anything by itself. We need to tell the computer to execute.
How to Create a Java program CS115 Fall George Koutsogiannakis.
IAT 800 Foundations of Computational Art and Design ______________________________________________________________________________________ SCHOOL OF INTERACTIVE.
CENG 161 Introduction to Computer Science Instructor: Dr. Nurdan SARAN Lab Assistant: Arzu Burçak Sönmez.
1 Programming Languages Translation  Lecture Objectives:  Be able to list and explain five features of the Java programming language.  Be able to explain.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
How do we make our Welcome.java program do something? The java in our Welcome.java file won’t do anything by itself. We need to tell the computer to execute.
Introduction to Java.
Chapter 3 Software Two major types of software
Chapter 1 - Introduction. Ch 1Goals To understand the activity of programming To learn about the architecture of computers To learn about machine code.
IB Computer Science II Paul Bui
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
Chapter 1 Programming Languages. Application Development: Top 10 Programming Languages to Keep You Employed 1. Java 2. C# 3. C++ 4. JavaScript 5. Visual.
LCC 6310 Computation as an Expressive Medium Lecture 1.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Application Security Tom Chothia Computer Security, Lecture 14.
CSCI 273: Processing An Introduction. Programming Languages –An abstract "human understandable" language for telling the computer what to do –The abstract.
An intro to programming. The purpose of writing a program is to solve a problem or take advantage of an opportunity Consists of multiple steps:  Understanding.
Java Bytecode What is a.class file anyway? Dan Fleck George Mason University Fall 2007.
©2000, John Wiley & Sons, Inc. Horstmann/Java Essentials, 2/e Chapter 1: Introduction 1 Chapter 1 Introduction.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Java Programming, Second Edition Chapter One Creating Your First Java Program.
Week 1 - Friday.  What did we talk about last time?  Our first Java program.
CSCI Processing CSCI Introduction to Algorithm Design An Introduction.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
CHAPTER 3 GC Java Fundamentals. 2 BASICS OF JAVA ENVIRONMENT  The environment  The language  Java applications programming Interface API  Various.
Guide to Programming with Python Chapter One Getting Started: The Game Over Program.
Week 1 basic Python programs, defining functions Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where.
 Programming - the process of creating computer programs.
© 2012 Pearson Education, Inc. All rights reserved types of Java programs Application – Stand-alone program (run without a web browser) – Relaxed.
1/10/2008. >>> About Us Paul Beck * Third quarter TA * Computer Engineering * Ryan Tucker * Second quarter TA * Computer.
Lecture1 Instructor: Amal Hussain ALshardy. Introduce students to the basics of writing software programs including variables, types, arrays, control.
CS 177 Recitation Week 1 – Intro to Java. Questions?
ITP 109 Week 2 Trina Gregory Introduction to Java.
CS 201 Lecture 1 (b) Using an IDE Tarik Booker CS 201: Introduction to Programming California State University, Los Angeles.
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 programming in java
COMP 2100 From Python to Java
Lecture 1b- Introduction
Development Environment
Before You Begin Nahla Abuel-ola /WIT.
GC101 Introduction to computer and program
Key Ideas from day 1 slides
Lecture 1: Introduction to JAVA
Text by: Lambert and Osborne
Chapter 2 First Java Programs
Java programming lecture one
LCC 6310 Computation as an Expressive Medium
Introduction to Java Dept. Business Computing University of Winnipeg
TRANSLATORS AND IDEs Key Revision Points.
Chapter 1 Introduction to Computers, Programs, and Java
Java Intro III.1 (Fr Feb 23).
String Output ICS 111: Introduction to Computer Science I
How to Run a Java Program
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA
Introduction CSC 111.
Introduction to Problem Solving & Programming using Processing 2
How to Run a Java Program
Introduction to Problem Solving & Programming using Processing 2
IB Computer Science II Paul Bui
BlueJ: a very quick introduction
Computer Programming-1 CSC 111
Review of Previous Lesson
Introduction to Problem Solving & Programming using Processing 2
Introduction to Computer Science
Presentation transcript:

Introduction to Algorithm Design CSCI 273.002 Processing CSCI 201.003 Introduction to Algorithm Design An Introduction

Programming Languages An abstract "human understandable" language for telling the computer what to do The abstract language must be translated into the low level language understood by the machine

Programming Languages How does a computer work? The translation from a text source to machine code is accomplished by an interpreter or compiler How does a compiler work? How does an interpreter work? Instruction 1 0001 0000 0011 0001 (moving the number from memory location "3" to Register # 1) Instruction 2 0001 0000 0100 0010 (moving the number from memory location "4" to Register # 2) Instruction 3 0011 0001 0010 0011 (Adding Register #1 and Register # 2, and putting the result in Register # 3) Instruction 4 0010 0011 0000 0100 (Moving the contents of Register # 3 in Memory location "4") A compiler is a program that processes statements written in a programming language and converts them into machine language, binary code, that a computer processor uses. E.g. Java, C, C++ An interpreter translates code one line at time, executing each line as it is translated. Generates binary code that is never compiled into one program entity, but interpreted every time the program executes. E.g. BASIC, JavaScript, Perl (can also be compiled)

A Simple Java Program Human Readable?? /* this is a simple Java program */ class Example { public static void main(String args[]) { System.out.println("this is a simple Java program"); } Human Readable??

Java VM assembly code (bytecode) Bytecode is interpreted by machine-specific Java Virtual Machines (JVMs). Bytecode consists of simple, step-by-step instructions for the JVM. public static void main(java.lang.String[]); Code: 0: iconst_0 1: istore_1 2: goto 30 5: getstatic 8: new 11: dup 12: ldc 14: invokespecial #23 17: iload_1 18: invokevirtual #27 21: invokevirtual #31 …

How Java Works Source code is first written in plain text files ending with the .java extension. Those source files are then compiled into .class files by the javac compiler. A .class file does not contain code that is native to your processor; it instead contains bytecode — the machine language of the Java Virtual Machine (Java VM). The java launcher tool then runs your application with an instance of the Java Virtual Machine.

Java Virtual Machine Java VM is available on many different operating systems. The same .class files are capable of running on Microsoft Windows, the Solaris TM Operating System (Solaris OS), Linux, or Mac OS. The JVM may use JIT (Just-In-Time) compilation to translate bytecode to machine language

But we’re using Processing Processing is built on top of Java Supports script-like coding Easy to get simple programs up fast But allows transition to full Java programming Has built-in methods and classes to make drawing easy Easy to export program to applet

Processing Environment Menu Toolbar (run, stop, new, open, save, export) Tabs Text editor (this is where you type code) Message area (feedback, errors) Text output (print commands)

Drawing in Processing Automatic creation of display window Window has a coordinate system for drawing

Let's draw a point: point() point(x,y) – draws a point at the location x, y Try it in Processing: point(50, 50) Unexpected token: null – what the #@#$ !?! Compiler errors appear in the bottom pane All lines must be terminated with a semicolon ; Try drawing several points

Important for being able to look back at your code and understand it Comments Comments are non-program text you put in the file to describe to others (and yourself) what you’re doing Important for being able to look back at your code and understand it Single-line comments begin with // Multi-line comments begin with /* and end with */ Commenting and un-commenting lines useful for figuring out code

Moodle - http://learnonline.unca.edu If you are new to Moodle, a new account was created for you and the login instructions, including your password, was emailed to your UNCA email address.  If you forward your UNCA email to an external account, check the Spam/Bulk mail folder of that account for the email. If you have forgotten your password, go to the Moodle login screen and select the Lost Password link. However, presently the Moodle section isn’t ready

Lab 1 Lab 1: Draw a 200 x 300 white canvas. Add 5 points and 5 lines. Revise the 5 points and 5 lines into a composition.

Homework 1 Read pages 1-10 for our next class. If you have a home computer, download and install Processing from processing.org

Why three Java courses? “Traditional” CS1 (201.001 & 201.002) Starts with Python Uses drjava as IDE and interactive Java evaluator Uses “media computation” package Mathematical CS1 (273.001) How to compute it Use NetBeans as IDE Closest to the traditional CS1` Processing CS1 (201.003 & 273.002) Uses Processing as IDE Uses Processing for multimedia packages Ends with Arduino