Presentation is loading. Please wait.

Presentation is loading. Please wait.

Spring 09- ICE0124 Programming Fundamentals I Java Programming XuanTung Hoang Lecture No. 1.

Similar presentations


Presentation on theme: "Spring 09- ICE0124 Programming Fundamentals I Java Programming XuanTung Hoang Lecture No. 1."— Presentation transcript:

1 Spring 09- ICE0124 Programming Fundamentals I Java Programming XuanTung Hoang tung_hx@icu.ac.kr Lecture No. 1

2 Introduction to Computers, the Internet and the World Wide Web

3 XuanTung Hoang 3 What is a Computer? Computer  Device capable of performing computations and m aking logical decisions  Computers process data under the control of sets of instructions called computer programs Hardware  Various devices comprising a computer  Keyboard, screen, mouse, disks, memory, CD-RO M, and processing units Software  Programs that run on a computer

4 XuanTung Hoang 4 Computer organization Six logical units in every computer: 1. Input unit Obtains information from input devices (keyboard, mouse) 2. Output unit Outputs information (to screen, to printer, to control other devices) 3. Memory unit Rapid access, low capacity, stores input information 4. Arithmetic and logic unit (ALU) Performs arithmetic calculations and logic decisions 5. Central processing unit (CPU) Supervises and coordinates the other sections of the computer 6. Secondary storage unit (hard disks, USB disks, CD-ROM,…) Cheap, long-term, high-capacity storage Stores inactive programs

5 XuanTung Hoang 5 Evolution of Operating Systems Batch processing  Do only one job or task at a time Operating systems  Manage transitions between jobs  Increased throughput Amount of work computers process Multiprogramming  Computer resources are shared by many jobs or tasks  Timesharing Computer runs a small portion of one user’s job then moves on to service the next user

6 XuanTung Hoang 6 Hardware Trends Every year or two the following approximately double:  Amount of memory in which to execute programs  Amount of secondary storage (such as disk storage) Used to hold programs and data over the longer term  Processor speeds The speeds at which computers execute their programs

7 XuanTung Hoang 7 Personal Computing, Distributed Computing, a nd Client/Server Computing Personal computers  Economical enough for individual Distributed computing  Computing distributed over networks Client/server computing  Sharing of information across computer networks between file servers and clients (personal comput ers).

8 XuanTung Hoang 8 The Internet and the World Wide Web The Internet: The global network of computers  Originated from a project of US Department of Defense  For sharing information among universities and research organizations  Methods for sharing information (specialized applications, e mail, gopher, WWW, …) World Wide Web (WWW) is the most important method for sharing information:  Locate and view multimedia-based documents on almost any subject  Makes information instantly and conveniently accessible wor ldwide  Possible for individuals and small businesses to get worldwide exposure  Changing the way business is done

9 XuanTung Hoang 9 Machine Languages, Assembly Languages, an d High-level Languages Three types of programming languages 1. Machine languages Strings of numbers giving machine specific instructions Example: +1300042774 +1400593419 +1200274027 2. Assembly languages English-like abbreviations representing elementary computer operati ons (translated via assemblers) Example: LOAD BASEPAY ADD OVERPAY STORE GROSSPAY 3. High-level languages Codes similar to everyday English Use mathematical notations (translated via compilers) Example: grossPay = basePay + overTimePay

10 XuanTung Hoang 10 The Key Software Trend: Object Technology Objects  Reusable software components that model items i n the real world  Meaningful software units Date objects, time objects, paycheck objects, invoice obj ects, audio objects, video objects, file objects, record obj ects, etc. Any noun can be represented as an object  Very reusable  More understandable, better organized, and easie r to maintain than procedural programming  Favor modularity

11 XuanTung Hoang 11 Interpreter and Complier Computers need translators to translate high-level language to m achine instructions Interpreter translates programs (written in high-level languages) online :  Translate and execute at the same time  Statement by statement Compiler translates the whole program into machine language be fore execution  Turn program’s text into executable file (in machine language for mat)  When user wants to run the program, he/she loads the executabl e file into computer memory to execute. Portability issue: Different computer hardwares use different instr uction sets (machine language)  We need appropriate interpreter/compiler for each type of machin e

12 XuanTung Hoang 12 History of Java language Initially, Java language is developed for consumer-electronic devices (embedded syst ems) (in 1991 by Sun Microsystems) It turned out to be good for Web and Internet applications first  Add dynamic contents (Java applet)  Rapid development of distributed applications  Ease of deployment … now Java becomes more and more attracti ve for embedded systems (its primary purpos e)

13 XuanTung Hoang 13 Java Development Environment 5 phases  Creating a program: use text editor to create program source  Compiling: use compiler to turn program source into bytecode (.cl ass files)  Loading: use class loader to load.class files into memory  Bytecode verification: bytecode verifier examines the bytecode fo r validity and security concerns  Execution: Java Virtual Machine (is a kind of interpreter for bytec odes) executes the bytecodes Combination of compiling and interpreting  Enhance portability of programs: Write Once – Run Anywhere Compact bytecode files are easy to exchange Bytecode verifier guarantees security Just-In-Time compiler enhances performance

14 XuanTung Hoang 14 Summary Concept of computer, hardware, and software Computer architecture: 6 logical units Operating system, computing architectures, the Inter net, and the WWW Generations of programming languages: 3 generatio ns (machine language, assembly language, high-lev el language) Hardware and software trends Interpreter/compiler and portability Introduction of Java language and its advantages


Download ppt "Spring 09- ICE0124 Programming Fundamentals I Java Programming XuanTung Hoang Lecture No. 1."

Similar presentations


Ads by Google