CPS109 Computer Science 1

Similar documents
Chapter. Focus of the Course. Object-Oriented Software Development. program design, implementation, and testing

Objectives. Problem Solving. Introduction. An overview of object-oriented concepts. Programming and programming languages An introduction to Java

Chapter 1. Introduction

Identifiers. Identifiers are the words a programmer uses in a program Some identifiers are already defined. Some are made up by the programmer:

Introduction to Internet, Web, and TCP/IP Protocols SEEM

2 rd class Department of Programming. OOP with Java Programming

Introduction to Algorithms and Data Structures

COMP 202 Java in one week

COMP 202 Java in one week

ECE 122 Engineering Problem Solving with Java

CompSci 125 Lecture 02

Chapter 1: Introduction to Computers and Java

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java

Introduction to Computers. Joslyn A. Smith

CHAPTER 1 Introduction to Computers and Java

The Programming Process Summer 2010 Margaret Reid-Miller

Prelim 1. Solution. CS 2110, 14 March 2017, 7:30 PM Total Question Name Short answer

CSC 121 Computers and Scientific Thinking

Chapter 1: Why Program? Main Hardware Component Categories 8/23/2014. Main Hardware Component Categories: Why Program?

Chapter 1: Why Program? Computers and Programming. Why Program?

COMP 202. Java in one week

1.1 Bits and Bit Patterns. Boolean Operations. Figure 2.1 CPU and main memory connected via a bus. CS11102 Introduction to Computer Science

Information Communications Technology (CE-ICT) 6 th Class

System Unit Components Chapter2

Computer Components 1 CSC1103- Nouf AlJaffan Saturday, 02 February 2013

Chapter 1 Introduction to Computers and Programming

Terminology, Types of Computers & Computer Hardware

Programming: detailed instructions which tell the computer hardware what to do aka software Computer Science: the study NOT of computers, but of what

Introduction. This book is about writing well-designed software. To understand CHAPTER OBJECTIVES

Elements of Computers and Programming Dr. William C. Bulko. What is a Computer?

INTRODUCTION TO COMPUTERS

For the course, we will be using JCreator as the IDE (Integrated Development Environment).

What is the typical configuration of a computer sold today? 1-1

Topics. Hardware and Software. Introduction. Main Memory. The CPU 9/21/2014. Introduction to Computers and Programming

Computer Components. Software{ User Programs. Operating System. Hardware

Prelim 1. CS 2110, 14 March 2017, 7:30 PM Total Question Name Short answer. OO Recursion Loop invariants Max Score Grader

Chapter 1: Introduction to Computers and Programming

Chapter 2. Prepared By: Humeyra Saracoglu

I1100 E Introduction to computer.

About the Presentations

Introduction to Java Programming

Agenda Computer Hardware Input Devices Output Devices Secondary Storage Computer Software System Software Application Software Working with Windows

Pace University. Fundamental Concepts of CS121 1

Elementary Computing CSC M. Cheng, Computer Science 1

Components of a personal computer

An Overview of the Computer System. Kafui A. Prebbie 24

Electricity: Voltage. Gate: A signal enters the gate at a certain voltage. The gate performs operations on it, and sends it out was a new signal.

Computer is an electronic machine that can receive, store, transform and output data of all kinds (image, text, numeric, graphics and sound).

Hardware and Operating Systems.

Computers Are Your Future

COLLEGEDUNIA MCA. 3. What would be displayed, if the following program is compiled and run?

Components of a Computer System

CMSC 104 -Lecture 2 John Y. Park, adapted by C Grasso

Java language. Part 1. Java fundamentals. Yevhen Berkunskyi, NUoS

A+ Guide to Hardware: Managing, Maintaining, and Troubleshooting, 5e. Chapter 1 Introducing Hardware

C H A P T E R 1. Introduction to Computers and Programming

1.The First Instrument known in the history of computers was. a) Pascal s adding machine b) Napier s bones c) Abacus d) Analytical Engine

Parts of the Computer System. Parts of the Computer System. Parts of the Computer System. Essential Computer Hardware. Information Processing Cycle

How does the Internet Work? The Basics: Getting a Web Page. The Basics: Getting a Web Page. Client-Server model. The Internet: Basics

Computer Components. Software{ User Programs. Operating System. Hardware

Computer Technology Flash Card 2

Introduction To Computer Hardware. Hafijur Rahman

Java is a high-level programming language originally developed by Sun Microsystems and released in Java runs on a variety of

SCSP Programming Technique C

Main Parts of Personal Computer

Prelim 1. Solution. CS 2110, 14 March 2017, 5:30 PM Total Question Name Short answer

Pharmacy college.. Assist.Prof. Dr. Abdullah A. Abdullah

System Unit Components. Chapter2

Topics Introduction to Microprocessors

Session 1: Physical and Web Infrastructure

CHAPTER 1: INTRODUCTION TO COMPUTERS AND PROGRAMMING. 1 Muhalim Mohamed Amin Faculty of

Chapter Two. Hardware Basics: Inside the Box

Chapter 1. Introduction to Computers and Programming. M hiwa ahmad aziz

Prelim 1. CS 2110, 14 March 2017, 5:30 PM Total Question Name Short answer. OO Recursion Loop invariants Max Score Grader

What's in a computer?

CS1007: Object Oriented Design and Programming in Java. Lecture #2 Sept 8 Shlomo Hershkop Announcements

Segment 1A. Introduction to Microcomputer and Microprocessor

SECTION 2 (Part B) Types And Components Of Computer Systems. Sophia Pratzioti

Week 0: Intro to Computers and Programming. 1.1 Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components

ZONAL EDUCATION OFFICE - JAFFNA

BIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic

3. Java - Language Constructs I

15/09/15. Introduction to Computers & The Internet. Contents. Computer hardware and software. Input and output devices CPU. Memory.

Last Time. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. Readings

Introduction. Arizona State University 1

Computers Are Your Future

CSC 1214: Object-Oriented Programming

Question Bank. Fundamentals Of Computer FYBCA (SEM - I)

Computer Principles and Components 1

Chapter 1 Computer and Programming. By Zerihun Alemayehu

ENG224 INFORMATION TECHNOLOGY Part I 3. The Internet. 3. The Internet

Chapter 1 INTRODUCTION

Computer Basics 1/24/13. Computer Organization. Computer systems consist of hardware and software.

Downloaded from various sources on the NET

So computers can't think in the same way that people do. But what they do, they do excellently well and very, very fast.

Computer Systems. Communication (networks, radio links) Meatware (people, users don t forget them)

IBPS Practice Exam 1. One megabyte equals approximately 1) 1,000 bits 2) 1,000 bytes 3) 1 million bytes 4) 1 million bits 5) 2,000 bytes 2.

Types of Data. PE 231 Education Media AND Technology. Information. Assessment. Information Concepts

Common Technology Words and Definitions

Homeschool Enrichment. The System Unit: Processing & Memory

Transcription:

Week 1: Computer Systems

Focus of the Course Oject-Oriented Software Development prolem solving program design and implementation oject-oriented concepts ojects classes the Java programming language Details

Computer Systems We first need to explore the fundamentals of computer processing Chapter 1 focuses on: components of a computer how those components interact how computers store and manipulate information computer networks the Internet and the World-Wide We programming and programming languages graphic systems

Hardware and Software Hardware the physical, tangile parts of a computer keyoard, monitor, wires, chips, data Software programs and data a program is a series of instructions A computer requires oth hardware and software Each is essentially useless without the other

CPU and Main Memory Central Processing Unit Chip that executes program commands Intel Pentium III Sun Sparc Processor Primary storage area for programs and data that are in active use Synonymous with RAM Main Memory

Secondary Memory Devices Secondary memory devices provide long-term storage Central Processing Unit Information is moved etween main memory and secondary memory as needed Hard disks Floppy disks ZIP disks Writale CDs Tapes Main Memory Hard Disk Floppy Disk

Input / Output Devices Monitor Keyoard Central Processing Unit I/O devices allow user interaction Monitor screen Keyoard Mouse Bar code scanner Light pen Touch screen Main Memory Hard Disk Floppy Disk

Software Categories Operating System controls all machine activities provides the user interface to the computer manages resources such as the CPU and memory Windows 98, Windows NT, Unix, Linux, Mac OS Application program generic term for any other kind of software word processors, missile control systems, games Most operating systems and application programs have a graphical user interface (GUI)

Analog vs. Digital There are two asic ways to store and manage data: Analog continuous, in direct proportion to the data represented music on a record alum - a needle rides on ridges in the grooves that are directly proportional to the voltage sent to the speaker Digital the information is roken down into pieces, and each piece is represented separately music on a compact disc - the disc stores numers representing specific voltage levels sampled at various points

Digital Information Computers store all information digitally: numers text graphics and images audio video program instructions In some way, all information is digitized - roken down into pieces and represented as numers

Representing Text Digitally For example, every character is stored as a numer, including spaces, digits, and punctuation Corresponding upper and lower case letters are separate characters H i, H e a t h e r. 72 105 44 32 72 101 97 116 104 101 114 46

Binary Numers Once information is digitized, it is represented and stored in memory using the inary numer system A single inary digit (0 or 1) is called a it Devices that store and move information are cheaper and more reliale if they only have to represent two states A single it can represent two possile states, like a light ul that is either on (1) or off (0) Cominations of its are used to store values

Bit Cominations 1 it 0 1 2 its 00 01 10 11 3 its 000 001 010 011 100 101 110 111 4 its 0000 1000 0001 1001 0010 1010 0011 1011 0100 1100 0101 1101 0110 1110 0111 1111 Each additional it doules the numer of possile cominations

Bit Cominations Each comination can represent a particular item There are 2 N cominations of N its Therefore, N its are needed to represent 2 N unique items How many items can e represented y 1 it? 2 its? 3 its? 4 its? 5 its? 2 1 = 2 items 2 2 = 4 items 2 3 = 8 items 2 4 = 16 items 2 5 = 32 items

A Computer Specification Consider the following specification for a personal computer: 600 MHz Pentium III Processor 256 MB RAM 16 GB Hard Disk 24x speed CD ROM Drive 17 Multimedia Video Display with 1280 x 1024 resolution 56 KB Modem What does it all mean?

Memory 9278 9279 9280 9281 9282 9283 9284 9285 9286 Main memory is divided into many memory locations (or cells) Each memory cell has a numeric address,, which uniquely identifies it

Storing Information 9278 9279 9280 9281 9282 9283 9284 9285 9286 10011010 Each memory cell stores a set numer of its (usually 8 its, or one yte) Large values are stored in consecutive memory locations

Storage Capacity Every memory device has a storage capacity,, indicating the numer of ytes it can hold Capacities are expressed in various units: Unit kiloyte megayte gigayte terayte Symol Numer of Bytes KB 2 10 = 1024 MB 2 20 (over 1 million) GB 2 30 (over 1 illion) TB 2 40 (over 1 trillion)

Memory Main memory is volatile - stored information is lost if the electric power is removed Secondary memory devices are nonvolatile Main memory and disks are direct access devices - information can e reached directly The terms direct access and random access are often used interchangealy A magnetic tape is a sequential access device since its data is arranged in a linear order - you must get y the intervening data in order to access other information

RAM vs. ROM RAM - Random Access Memory (direct access) ROM - Read-Only Memory The terms RAM and main memory are asically interchangeale ROM could e a set of memory chips, or a separate device, such as a CD ROM Both RAM and ROM are random (direct) access devices! RAM should proaly e called Read-Write Memory

The Central Processing Unit A CPU is also called a microprocessor It continuously follows the fetch-decode-execute cycle: Retrieve an instruction from main memory fetch execute Carry out the instruction decode Determine what the instruction is

The Central Processing Unit (CPU) The CPU contains: Arithmetic / Logic Unit Performs calculations and decisions Control Unit Coordinates processing steps Registers Small storage areas

The Central Processing Unit The speed of a CPU is controlled y the system clock The system clock generates an electronic pulse at regular intervals The pulses coordinate the activities of the CPU The speed is measured in megahertz (MHz)

Monitor The size of a monitor (17") is measured diagonally, like a television screen Most monitors these days have multimedia capailities: text, graphics, video, etc. A monitor has a certain maximum resolution, indicating the numer of picture elements, called pixels,, that it can display (such as 1280 y 1024) High resolution (more pixels) produces sharper pictures

Modem Data transfer devices allow information to e sent and received etween computers Many computers include a modem,, which allows information to e moved across a telephone line A data transfer device has a maximum data transfer rate A modem, for instance, may have a data transfer rate of 56,000 its per second (ps)

Networks A network is two or more computers that are connected so that data and resources can e shared Most computers are connected to some kind of network Each computer has its own network address,, which uniquely identifies it among the others A file server is a network computer dedicated to storing programs and data that are shared among network users

Network Connections Each computer in a network could e directly connected to each other computer in the network These are called point-to-point connections Adding a computer requires a new communication line for each computer already in the network This technique is not feasile for more than a few close machines

Network Connections Most modern networks share a single communication line Adding a new computer to the network is relatively easy Network traffic must take turns using the line, which introduces delays Often information is roken down in parts, called packets, which are sent to the receiving machine then reassemled

Local-Area Networks A Local-Area Network (LAN) covers a small distance and a small numer of computers LAN A LAN often connects the machines in a single room or uilding

Wide-Area Networks A Wide-Area Network (WAN) connects two or more LANs, often over long distances LAN LAN A LAN is usually owned y one organization, ut a WAN often connects different groups in different countries

The Internet The Internet is a WAN which spans the entire planet The word Internet comes from the term internetworking, which implies communication among networks It started as a United States government project, sponsored y the Advanced Research Projects Agency (ARPA), and was originally called the ARPANET The Internet grew quickly throughout the 1980s and 90s Less than 600 computers were connected to the Internet in 1983; now there are over 10 million

TCP/IP A protocol is a set of rules that determine how things communicate with each other The software which manages Internet communication follows a suite of protocols called TCP/IP The Internet Protocol (IP) determines the format of the information as it is transferred The Transmission Control Protocol (TCP) dictates how messages are reassemled and handles lost information

IP and Internet Addresses Each computer on the Internet has a unique IP address, such as: 204.192.116.2 Most computers also have a unique Internet name, which is also referred to as an Internet address: renoir.villanova.edu kant.reakaway.com The first part indicates a particular computer (renoir( renoir) The rest is the domain name,, indicating the organization (villanova.edu)

Domain Names The last section (the suffix) of each domain name usually indicates the type of organization: edu com org net - educational institution - commercial usiness - non-profit organization - network-ased organization Sometimes the suffix indicates the country: uk au ca se - United Kingdom - Australia - Canada - Sweden New suffix categories are eing considered

Domain Names A domain name can have several parts Unique domain names mean that multiple sites can have individual computers with the same local name When used, an Internet address is translated to an IP address y software called the Domain Name System (DNS) There is no one-to-one correspondence etween the sections of an IP address and the sections of an Internet address

The World-Wide We The World-Wide We allows many different types of information to e accessed using a common interface A rowser is a program which accesses and presents information text, graphics, sound, audio, video, executale programs A We document usually contains links to other We documents, creating a hypermedia environment The term We comes from the fact that information is not organized in a linear fashion

The World-Wide We We documents are often defined using the HyperText Markup Language (HTML) Information on the We is found using a Uniform Resource Locator (URL): http://www.lycos.com http://www.villanova.edu/weinfo weinfo/domains.html ftp://java.sun.com/applets/animation.zip A URL indicates a protocol (http), a domain, and possily specific documents

Prolem Solving The purpose of writing a program is to solve a prolem The general steps in prolem solving are: Understand the prolem Dissect the prolem into manageale pieces Design a solution Consider alternatives to the solution and refine it Implement the solution Test the solution and fix any prolems that exist

Prolem Solving Many software projects fail ecause the developer didn't really understand the prolem to e solved We must avoid assumptions and clarify amiguities As prolems and their solutions ecome larger, we must organize our development into manageale pieces This technique is fundamental to software development We will dissect our solutions into pieces called classes and ojects, taking an oject-oriented approach

The Java Programming Language A programming language specifies the words and symols that we can use to write a program A programming language employs a set of rules that dictate how the words and symols can e put together to form valid program statements Java was created y Sun Microsystems, Inc. It was introduced in 1995 and has ecome quite popular It is an oject-oriented language

Java Program Structure In the Java programming language: A program is made up of one or more classes A class contains one or more methods A method contains program statements These terms will e explored in detail throughout the course A Java application always contains a method called main See Lincoln.java (page 26)

Java Program Structure // comments aout the class pulic class MyProgram { class header class ody } Comments can e added almost anywhere

Java Program Structure // comments aout the class pulic class MyProgram { // comments aout the method pulic static void main (String[] args) { } method ody method header }

Comments Comments in a program are also called inline documentation They should e included to explain the purpose of the program and descrie processing steps They do not affect how a program works Java comments can take two forms: // this comment runs to the end of the line /* this comment runs to the terminating symol, even across line reaks */

Identifiers Identifiers are the words a programmer uses in a program An identifier can e made up of letters, digits, the underscore character (_), and the dollar sign They cannot egin with a digit Java is case sensitive,, therefore Total and total are different identifiers

Identifiers Sometimes we choose identifiers ourselves when writing a program (such as Lincoln) Sometimes we are using another programmer's code, so we use the identifiers that they chose (such as println) Often we use special identifiers called reserved words that already have a predefined meaning in the language A reserved word cannot e used in any other way

Reserved Words The Java reserved words: astract oolean reak yte yvalue case cast catch char class const continue default do doule else extends false final finally float for future generic goto if implements import inner instanceof int interface long native new null operator outer package private protected pulic rest return short static super switch synchronized this throw throws transient true try var void volatile while

White Space Spaces, lank lines, and tas are collectively called white space White space is used to separate words and symols in a program Extra white space is ignored A valid Java program can e formatted many different ways Programs should e formatted to enhance readaility, using consistent indentation See Lincoln2.java and Lincoln3.java

Programming Language Levels There are four programming language levels: machine language assemly language high-level language fourth-generation language Each type of CPU has its own specific machine language The other levels were created to make it easier for a human eing to write programs

Programming Languages A program must e translated into machine language efore it can e executed on a particular type of CPU This can e accomplished in several ways A compiler is a software tool which translates source code into a specific target language Often, that target language is the machine language for a particular CPU type The Java approach is somewhat different

Java Translation and Execution The Java compiler translates Java source code into a special representation called ytecode Java ytecode is not the machine language for any traditional CPU Another software tool, called an interpreter,, translates ytecode into machine language and executes it Therefore the Java compiler is not tied to any particular machine Java is considered to e architecture-neutral

Java Translation and Execution Java source code Java ytecode Java compiler Java interpreter Bytecode compiler Machine code

Development Environments There are many development environments which develop Java software: Sun Java Software Development Kit (SDK) Borland JBuilder MetroWork CodeWarrior Microsoft Visual J++ Symantec Café Though the details of these environments differ, the asic compilation and execution process is essentially the same

Syntax and Semantics The syntax rules of a language define how we can put symols, reserved words, and identifiers together to make a valid program The semantics of a program statement define what that statement means (its purpose or role in a program) A program that is syntactically correct is not necessarily logically (semantically) correct A program will always do what we tell it to do, not what we meant to tell it to do

Errors A program can have three types of errors The compiler will find prolems with syntax and other asic issues (compile-time( errors) If compile-time errors exist, an executale version of the program is not created A prolem can occur during program execution, such as trying to divide y zero, which causes a program to terminate anormally (run-time( errors) A program may run, ut produce incorrect results (logical( errors)

Introduction to Graphics The last one or two sections of each chapter of the textook focus on graphical issues Most computer programs have graphical components A picture or drawing must e digitized for storage on a computer A picture is roken down into pixels, and each pixel is stored separately

Representing Color A lack and white picture can e stored using one it per pixel (0 = white and 1 = lack) A color picture requires more information, and there are several techniques for representing a particular color For example, every color can e represented as a mixture of the three primary colors Red, Green, and Blue In Java, each color is represented y three numers etween 0 and 255 that are collectively called an RGB value

Coordinate Systems Each pixel can e identified using a two-dimensional coordinate system When referring to a pixel in a Java program, we use a coordinate system with the origin in the upper left corner (0, 0) 112 X 40 (112, 40) Y