Top Banner
CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib
28

CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Dec 15, 2015

Download

Documents

Rachael Beale
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

CSCE 145: Algorithmic Design IChapter 1Intro to Computers and Java

Muhammad Nazmus Sakib

Page 2: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Computer Basics

•Section 1.1

Page 3: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Computer Systems

•Hardware▫The Physical Machine

•Software▫Set of programs

Set of instructions

Page 4: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Hardware and Memory

•Central Processing Unit (CPU)▫Also known as the Processor▫Device that performs the instructions in a

program▫Example

Intel Core i7

Page 5: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Hardware and Memory

•Memory▫Holds data for the computer to process▫Two forms

Main Memory Volatile Example - RAM

Auxiliary Memory Non-volatile Example – Hard drive

Page 6: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Bits, Bytes & Address•Bit = Binary Digit (0,1)•Byte = groups of bits

▫1 Byte = 8 Bits▫Byte is the smallest addressable unit of

memory•Address

▫Main memory consists of a long list of numbered bytes

▫The number of a byte in memory is called an Address

Page 7: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Memory Locations

•1 byte is not large enough to store all kinds of data

•Data can be stored in several adjacent bytes

•These adjacent bytes are considered a single Memory Location

•Address of the Memory Location▫Address of the first byte

Page 8: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Main Memory

Page 9: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Files & Directories

•File▫A group of bytes stored in auxiliary

memory•Directory

▫Also known as Folder▫Contains groups of files

Page 10: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Programs

•A set of instructions

Page 11: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Operating Systems

•A program that supervises a computer’s operation

•Examples▫Windows XP/7/8▫UNIX▫Linux, Ubuntu▫Mac OS X

Page 12: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Programming Languages

•High Level Languages▫Java, C, C++, C#, Visual Basic, Python

•Low Level Languages▫Assembly Language▫Machine Language

Page 13: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Compilers

•A Translator•Translates from High Level Language to

Low Level Language•Source code -> Object Code•Compile Once, Execute Often

Page 14: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Interpreters

•Translator + Executor•Alternates between translation &

execution•Translates every time•Interpreted programs are slower than

compiled ones

Page 15: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Java Bytecode

•An intermediate language for Java•A compiler translated Java code into

Bytecode•Java Virtual Machine (JVM)

▫Translator to translate & execute Java Bytecode

•Bytecode runs in any computer that has JVM▫Portability

Page 16: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Compiling & Running

Page 17: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Class Loader

•Java program consists of Classes▫A piece of code▫Generally reside in one file

•Class loader connects the Classes▫Similar to a Linker

Page 18: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

A Sip of Java

•Section 1.2

Page 19: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

History of Java

•Started in 1991•James Gosling and his team

▫Sun Microsystems

Page 20: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Applications & Applets

•Applications▫Regular programs▫Runs in your computer

•Applets▫Little applications▫Runs in your web browser▫Sent over the Internet

Page 21: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Programming Basics

•Section 1.3

Page 22: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Object-Oriented Programming

•Objects▫Attributes▫States▫Behaviors

•Methods▫Captures the behavior

•Classes▫Blueprint for Objects

Page 23: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Object-Oriented Programming

•Encapsulation▫Information Hiding

•Polymorphism▫Many forms▫Example – “Go play your favorite sport”

•Inheritance▫Way of organizing Classes

Page 24: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Inheritance

Page 25: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Algorithms

•Like a Recipe!•A set of directions for solving a problem•Often written in Pseudocode

▫Combination of English & Programming Language

Page 26: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Pseudocode Example

•Algorithm to compute the total cost of a list of items▫Write the number o on the whiteboard.▫For each item on the list

Add the cost of the item to the number on the whiteboard

Replace the number on the whiteboard with the result of this addition.

▫Announce that the answer is the number written on the whiteboard.

Page 27: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Testing & Debugging

•Bug▫A mistake in a program

•Debugging▫Process of eliminating mistakes

•Syntax error▫Grammatical mistakes

•Run-time error▫Error during execution

•Logic error▫Conceptual mistakes in algorithm

Page 28: CSCE 145: Algorithmic Design I Chapter 1 Intro to Computers and Java Muhammad Nazmus Sakib.

Software Reuse

•Java Class Library▫Java API

•Example▫System.out.println