Title: Introduction to Computers, the Internet and the World Wide Web
1Introduction to Computers, the Internet and the
World Wide Web
21.1 Introduction
- Book is based on Suns Java 2 Platform, Standard
Edition (J2SE). - Sun provides a toolkit, called the J2SE
Development Kit (JDK), that includes the minimum
tools for writing software in Java. - See java.sun.com/j2se.
- Book uses JDK version 5.0.
- Things change so fast, the books 6th edition
came just 8 years after the 1st one.
3- Besides J2SE, there is also J2EE, The Java 2
Platform, Enterprise Edition. - It is for developing large-scale, distributed
networking and web-based applications. - J2ME, The Java 2 Platform, Micro Edition, is for
developing applications for small,
memory-constrained devices such as PDAs and cell
phones. - The authors also have an advanced book, Advanced
Java 2 Platform How to Program.
41.2 What Is a Computer?
- Modern computers can make perform computations
and make decisions millions or even billions of
times faster than humans. - Todays supercomputers can perform hundreds of
billions of additions per second.
51.3 Computer Organization
- A computer has six logical pieces
- Input unit (keyboard, mouse, etc.)
- Output unit (monitor, printer, etc.)
- Memory unit
- ALU (performs math and logic operations)
- CPU (controls activity in system)
- Secondary storage unit (hard-drive, CD, DVD)
61.4 Early Operating Systems
- Early systems ran one program at a time (batch
processing). - Multiprogramming allowed more than one program to
run at a time. - Time-sharing lets multiple users use the same
computer at the same time.
71.5 Personal, Distributed and Client/Server
Computing
- In the early days of computers, only businesses
could afford them. - Today they are inexpensive enough that people can
own one or more. - Networks have enabled communication between
computers. - A client system may communicate with a server
system.
81.6 The Internet and the World Wide Web
- In the beginning, the Internet connected about a
dozen universities to share information. - Now hundreds of millions of computers use the
Internet world-wide. - World Wide Web is the part of the Internet for
finding and viewing documents.
91.7 Machine Languages, Assembly Languages and
High-Level Languages
- Machine language is the natural language of the
machine. - It is in fact the only thing the machine can run
directly. - Assembly language uses mnemonics to represent
machine instructions, thus making programming
easier. - High-level languages allow us to write code in a
way very similar to our own language.
101.8 History of C and C
- C language was developed from an earlier language
by Dennis Ritchie at Bell labs in 1972. It found
wide use in Unix systems. - C is an extension of C by Bjarne Stroustrup in
the early 1980s at Bell labs that added
object-oriented capability to C.
111.9 History of Java
- Sun recognized that microprocessors were finding
there way into consumer-electronic devices, and
thus funded a project that resulted in a
C-based language. - Its creater, James Gosling, first called it Oak,
but finding that name already in use, Sun changed
it to Java while meeting at a local coffee shop.
12- The consumer-electronics market needing such a
language did not develop as fast as Sun expected
and the project was in danger of being canceled. - In 1993, the World Wide Web began to explode in
growth, and Sun saw an opportunity to use Java to
add dynamic content to web pages. - Java was formally announced in May of 1995.
131.10 Java Class Libraries
- In Java, programmers create classes to build a
program. - Java also provides a rich set of existing classes
in the Java class library, also called the Java
API. - Thus, there are two areas of knowledge needed to
program in Java the first is the language
itself, the second is the set of classes in the
class libraries.
141.11 FORTRAN, COBOL Pascal and Ada
- Previous mainstream languages include
- FORTRAN for science and engineering
- COBOL for business applications
- Pascal for structured programming
- Ada for US DOD projects.
15- FORTRAN and COBOL are still widely used.
- Pascal found acceptance in academics but lacks
features needed for commercial use. - Ada is still used by the US DOD.
161.12 BASIC, Visual Basic, Visual C, C and .NET
- BASIC (Beginners All-Purpose Symbolic
Instruction Code) was for learning programming. - Visual Basic is Microsofts language for easily
creating Windows programs. - .NET is Microsofts platform for developing
Internet and Web applications.
17- Visual C is Microsofts tool for C
development. - Microsoft supports 3 languages for .NET
development - Visual Basic .NET
- Visual C .NET
- Visual C .NET
- .NET components written in different languages
can be integrated together into a single
application.
181.13 Typical Java Development Environment
- There are 5 phases in Java Development
- Phase 1 Create the program
- Phase 2 Compile it
- Phase 3 Load it
- Phase 4 Verify
- Phase 5 Execute
19- There are many ways to create and edit a program
(we will look at later). - The compile step translates the source into
byte-code, which is understandable to the Java
virtual machine. - The load step loads classes into memory.
- The verify step ensures the bytecode is valid and
does not violate Javas security rules. - In the execute step, the Java virtual machine
(JVM) translates the bytecode to machine code for
the particular machine it is run on.
201.14 Notes about Java and Java How to Program,
Sixth Edition
- Java is a portable language, but portability is
not always perfect. - Always test programs on all systems in which you
intend them to run. - Suns Java documentation
- java.sun.com/j2se/5.0/docs/api/index.html
- java.sun.com/j2se/5.0/download.html
- java.sun.com/reference/docs/index.html
- You can view the source for Javas own classes.
211.15 Test-Driving a Java Application
221.16 Software Engineering Case Study
Introduction to Object Technology and the UML
- The ATM application serves as a case study in
object-oriented software engineering. - This will be an ongoing case study throughout the
text.
23- Thinking in objects is easy because humans also
think of the world as having objects. - OOD (Object-oriented design) models the
application domain using objects. - OOAD (Object-oriented analysis and design) uses
object-oriented thinking in both phases.
24- UML is the Unified Modeling Language for OO
projects. - Previously, there were different modeling
approaches by different authors. - The three main authors joined to create a single
modeling language that combined the best of each. - The authors are Grady Booch, James Rumbaugh, and
Ivar Jacobson. - Today the Object Management Group (OMG) oversees
the UML standard.
25End of Slides