1/16/2008ITK 1681 HardwareSoftware Theory 1800 AD  Architecture 1945 AD  What is Computer Science? Languages 1960 AD 

Slides:



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

Etter/Ingber Engineering Problem Solving with C Fundamental Concepts Chapter 1 Engineering Problem Solving.
Programming Basic Concepts © Juhani Välimäki 2003.
Lecture 1: Overview of Computers & Programming
CHAPTER 1 SOFTWARE DEVELOPMENT. 2 Goals of software development Aspects of software quality Development life cycle models Basic concepts of algorithm.
Copyright © 2002 W. A. Tucker1 Chapter 1 Lecture Notes Bill Tucker Austin Community College COSC 1315.
2/18/2008ITK 1681 Feb. 20, Wed. 8:00 – 9:30 pm STV Closed book, notes, and no computer is allowed. 2.Everyone is allowed to bring a self- prepared.
1 Fall 2009ACS-1903 Chapter 1 Topics Java History Java Programs Why Program? Computer Systems: Hardware and Software Programming Languages What Is a Program.
Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
1 Fall 2008ACS-1903 Chapter 1 Topics Java History Java Programs Why Program? Computer Systems: Hardware and Software Programming Languages What Is a Program.
1 Engineering Problem Solving With C++ An Object Based Approach Fundamental Concepts Chapter 1 Engineering Problem Solving.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
1 Fall 2007ACS Fall 2007 Text: Starting out with java from control structures through data structures Gaddis & Muganda Instructor: Ron McFadyen.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
CMPT 120 Introduction to Computer Science and Programming I Chris Schmidt.
Program Flow Charting How to tackle the beginning stage a program design.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
Chapter 2 Introduction to Systems Architecture. Chapter goals Discuss the development of automated computing Describe the general capabilities of a computer.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
Chapter Introduction to Computers and Programming 1.
Introduction 01_intro.ppt
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.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Chapter 1: Introduction to Computers and Java Starting Out with Java From.
9/12/2015IT 2751 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool JDK (Java Development.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Algorithm development. The invention of the computer  Programming language developments: 1. Machine code 2. Assembler  easier to write, debug, and update.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Session One Introduction. Personal Introduction Role of programmers Robot Examination HUD & HID Uploading Code.
© 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various.
Visual C++ Programming: Concepts and Projects
2-1 Hardware CPU Memory - 2 kinds Network Graphics Input and Output Devices.
Chapter 1 Object Orientation: Objects and Classes.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
EG280 Computer Science for Engineers Fundamental Concepts Chapter 1.
Computing Systems & Programming ECE Fundamental Concepts Chapter 1 Engineering Problem Solving.
Chapter 1 Computers, Compilers, & Unix. Overview u Computer hardware u Unix u Computer Languages u Compilers.
© 2012 Pearson Education, Inc. All rights reserved types of Java programs Application – Stand-alone program (run without a web browser) – Relaxed.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
Software Development Introduction
Objective You will be able to define the basic concepts of object-oriented programming with emphasis on objects and classes by taking notes, seeing examples,
For Friday Finish reading chapter 2 Complete WebCT quiz.
Chapter 11  Getting ready to program  Hardware Model  Software Model  Programming Languages  Facts about C++  Program Development Process  The Hello-world.
Computer Science A 1. Course plan Introduction to programming Basic concepts of typical programming languages. Tools: compiler, editor, integrated editor,
© Peter Andreae Java Programs COMP 102 # T1 Peter Andreae Computer Science Victoria University of Wellington.
Execution ways of program References: www. en.wikipedia.org/wiki/Integrated_development_environment  You can execute or run a simple java program with.
CHAPTER 1 Introduction to Computers and Java Copyright © 2016 Pearson Education, Ltd.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
PRG 420 Entire Course FOR MORE CLASSES VISIT PRG 420 Week 1 Individual Assignment Hello world PRG 420 Week 2 Individual Assignment.
1/28/2008ITK 1681 An enhanced robot Robot int street int avenue Direction direction ThingBag backback Robot(City aCity, int aStreet, int anAvenue, Direction.
Introduction to Computer Science What is Computer Science? Getting Started Programming.
Introduction CMSC 202 Fall Instructors Mr. Ryan Bergeron – Lecture Section 01 Tues/Thu 1:00 – 2:15 am, Sondheim 111 – Lecture Section 04 Tues/Thu.
Lecture 1b- Introduction
Engineering Problem Solving With C An Object Based Approach
Robot Class name Attributes Constructor Services, methods
Lecture 1: Introduction to JAVA
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design
Comp Sci 200 Programming I Jim Williams, PhD.
CS Programming I Jim Williams, PhD.
import becker.robots.City;
Introduction CSC 111.
ITK 168 Section 13 Dr. Doug Twitchell.
ICT Gaming Lesson 2.
Branching Statement Condition Statement Condition list 1 list
IDE (Integrated Development Environment)
CS Programming I Jim Williams, PhD.
System Programming By Prof.Naveed Zishan.
CS Programming I Jim Williams, PhD.
Presentation transcript:

1/16/2008ITK 1681 HardwareSoftware Theory 1800 AD  Architecture 1945 AD  What is Computer Science? Languages 1960 AD 

1/16/2008ITK 1682 Alan Turing ( ) – The Enigma The man who invented the computer Image from Turing Machines Turing Award: the Nobel Prize in CS

1/16/2008ITK 1683 Said: “Turing Machines are human that compute.” “ In logic nothing is accidental ” Ludwig Wittgenstein ( ) Image from

1/16/2008ITK 1684 Hardware = Software

1/16/2008ITK 1685 Hardware Input deviceOutput device Central Processor Unit: Internal Storage Control Unit + Arithmetic-Logic Unit (ALU)

1/16/2008ITK 1686 Logical Gates for an Adder (half adder) A +)B c S ABcS AND OR AND NOT B A S c Half-Adder

1/16/2008ITK bits Adder Full Adder Full Adder Full Adder Full Adder A B )

1/16/2008ITK 1688 Software: 1.Operation systems 2.Applications XP, Unix, VAX Words Excel E.I. Hello Java Hello.java javac Hello.class (class loader) Eclipse, NetBean IDE, SunSun

1/16/2008ITK 1689 IDE ( Integrated Development Environment ) 1.A customized plain text editor 2.Compiler 3.Loader 4.Debugging tool Java 2 Software Development Kit (J2SDK) Eclipse 1.notepad 2.javac hello 3.java hello

1/16/2008ITK Solving a problems by computers = ? = sum1; sum1+2=sum2 sum2+3=sum3 sum3+4=sum4 sum4+5=sum5 sum5+6=sum sum = sum =1 1+2=3 3+3=6 6+4= = = =5050

1/16/2008ITK Solving a problems by computers = sum1 sum1+2=sum2 sum2+3=sum3 sum3+4=sum4 sum4+5=sum5 sum5+6=sum sum = sum100 sum = 0 sum = sum+1 sum = sum+2 sum = sum+3 sum = sum +4 sum = sum sum = sum+100 computer can do the same thing again and again fast

1/16/2008ITK Algorithm: a procedure of calculating (manipulate) data = ? sum = 0 sum = sum+1 sum = sum+2 sum = sum+3 sum = sum +4 sum = sum sum = sum+100 sum = 0; i = 1; while (i <= 100) do the following { sum = sum + i; i = i+1; } sum is the answer;

1/16/2008ITK Problems  Solutions cycle Problems System analyst, Project leader Algorithms Senior Programmers Programs in JAVA (or any high level Programming Language) compiler Assembly Assembler Machine code linker Results Customers Programmers Syntax Semantics (human) IDE (computers)

1/16/2008ITK How much effort in using an IDE IDE Helps? 2 week from now

1/16/2008ITK How much effort in solving a problem This is more important and difficult; data structures, algorithm analysis This is a basic requirement. We need to reduce this portion 1 year from now

1/16/2008ITK Procedure vs Object To solve a program is: To find a way to manipulate data -- We design procedures Procedure-Oriented Programming Statements + functions  programs To find objects to model the problem – We choose data (object) Object-Oriented Programming Classes + Objects  programs (interfaces, methods, attributes…)

1/16/2008ITK What is “model”? X models an ideal style of Y X  objectsY  problem

1/16/2008ITK Class A class is a concept of something Vehicle 4 wheels, seat, engine, windows…… Truck ………… Sedan ………… SUV …………

1/16/2008ITK Objects: an instance of some class Vehicle SUV Honda Pilot 011-JAV instantiation Class Object

1/16/2008ITK Method & Attribute Each class: Method & Attribute The class designer should determine what kind of methods and attribute its object should have Method: behaviors, service, operation, and functionalities of the object. Field (attribute): the information, status, and properties of the object.

1/16/2008ITK JAV Honda Pilot Plate: 011-JAV Color: Blue Engine size: 3.0 L... Start the engine() Stop() Turn (direction) Air()... Services, methods Attributes UML (Unified Modeling Language) class diagram Class name Z.Turn(right) Z

1/16/2008ITK Robot int street int avenue Direction direction ThingBag backback... Robot(City aCity, int aStreet, int aAvenue, Direction aDir) void move() void turnLeft() void pickThing() void putThing()... Services, methods Attributes UML class diagram for Robot Class name Constructor

1/16/2008ITK Modeling what? Modeling Robots with Software Objects - the title o 1.3 But this phrase does not make too much sense to me... Should be: Modeling Robots in a City with Software Classes. Robot int street int avenue Direction direction ThingBag backbag... Robot(City aCity, int aStreet, int aAvenue, Direction aDir) void move() void turnLeft() void pickThing() void putThing()... City String name int stree_No City( )....

1/16/2008ITK Task: deliver X from (1,2) to (3,1) and step away X import becker.robot.*; public class DeliverX{ public static void main(String args[]){ // set up Initial situation City A = new City(); Thing X = new Thing(A,1,2); Robot karel = new Robot(A,0,0, Direction.East); // direct the robot karel.move(); karel.turnLeft(); karel.move(); karel.pickThing(); karek.move(); karel.move(); karel.turnLeft(); karel.move(); karel.putThing(); karel.move(); } named Karel