Introduction to Computers and the Internet Lecture 2.

Slides:



Advertisements
Similar presentations
IT INFRASTRUCTURE AND EMERGING TECHNOLOGIES
Advertisements

Amazon. Cloud computing also known as on-demand computing or utility computing. Similar to other utility providers like electric, water, and natural gas,
Objective Understand web-based digital media production methods, software, and hardware. Course Weight : 10%
 2008 Pearson Education, Inc. All rights reserved Introduction to the Internet.
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
Server-Side vs. Client-Side Scripting Languages
Chapter Concepts Review Markup Languages
Computers, Internet and Web Risanuri Hidayat, Ir.,M.Sc.
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers and the Internet.
Introduction to Computer Programming CSC 1401: Introduction to Programming with Java Lecture 2 Wanda M. Kunkle.
For more Lectures and Notes Visit
 2008 Pearson Education, Inc. All rights reserved What Is Web 2.0?  Web 1.0 focused on a relatively small number of companies and advertisers.
 2001 Deitel & Associates, Inc. All rights reserved. 1 Chapter 1 – Introduction to Computers, the Internet and the Web Outline 1.1Introduction 1.2The.
Chapter 13 Web Application Infrastructure. Objectives Explain the components and purpose of a web application platform Describe several common webapp.
COMPUTER TERMS PART 1. COOKIE A cookie is a small amount of data generated by a website and saved by your web browser. Its purpose is to remember information.
Part or all of this lesson was adapted from the University of Washington’s “Web Design & Development I” Course materials.
 2000 Prentice Hall, Inc. All rights reserved. 1 Introduction to Computers and C Programming Outline Introduction What Is a Computer? Computer Organization.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
Web Design Basic Concepts.
The PHP Story. PHP Story PHP is a programming language. Incorporate(join) sophisticated business logic. Widely used general purpose scripting language.
PHP Web Development, PHP Programming
1.Training and education 2.Consulting 3.Travel 4.Hardware 5.Software Which of the following is not included in a firm’s IT infrastructure investments?
CS102 Introduction to Computer Programming
Intro to PHP Introduction to server-side scripts (It’s all good :D) © TAFE NSW
CAEL 5012 Rich Internet Applications. What you need For this part of the course you will need access to a server with PHP and MYSQL which will be supplied.
INTRODUCTION TO WEB DATABASE PROGRAMMING
What is Web Design?  Web design is the creation of a Web page using hypertext or hypermedia to be viewed on the World Wide Web.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
 2008 Pearson Education, Inc. All rights reserved. 1 The chief merit of language is clearness. — Galen Our life is frittered away by detail…. Simplify,
Joel Bapaga on Web Design Strategies Technologies Commercial Value.
 2005 Pearson Education, Inc. All rights reserved. 1 Introduction & The Java Virtual Machine Small Java Chapter 1 1.
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
 2008 Pearson Education, Inc. All rights reserved Ajax-Enabled Rich Internet Applications.
High thoughts must have high language. Aristophanes
Quality Attributes of Web Software Applications – Jeff Offutt By Julia Erdman SE 510 October 8, 2003.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Programming Languages Machine.
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 1 – Car Payment Calculator and Guess the Number.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Introduction to Computers Outline 1.1Introduction.
 2006 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
1. Introduction to Internet and to the Web. Motto People are using the web to build things they have not built or written or drawn or communicated anywhere.
What Is Java? According to Sun in a white paper: Java: A simple, object-oriented, network-savvy, interpreted, robust, secure, architecture-neutral, portable,
10/8: Software What is software? –Types of software System software: Operating systems Applications Creating software –Evolution of software development.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Outline 1.1 What Is a Computer? 1.2 Computer Organization.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
Web Review The Web Web 1.0 Web 2.0 Future of the Web Internet Programming - Chapter 01:XHTML1.
Lindley Codes Touch Develop Youth Spark Day at Lindley Middle School.
Web Technologies Lecture 8 Server side web. Client Side vs. Server Side Web Client-side code executes on the end-user's computer, usually within a web.
 2001 Prentice Hall, Inc. All rights reserved. Chapter 1 – Introduction to Computers, the Internet and the World Wide Web Outline 1.1Introduction 1.2What.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
 2000 Deitel & Associates, Inc. All rights reserved. Chapter 1 – Introduction to Computers and the Internet Outline 1.2What is a Computer? 1.3Types of.
CHAPTER 1.1 INTRODUCTION TO COMPUTERS AND C++ Dr. Shady Yehia Elmashad.
Understanding Web-Based Digital Media Production Methods, Software, and Hardware Objective
 2008 Pearson Education, Inc. All rights reserved. 1 Advance Internet Technique s Present by: Ms.Azza Zeinelabdin Karrar.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
Chapter 13 Web Application Infrastructure
 2001 Prentice Hall, Inc. All rights reserved.
NOCTI Study Guide #2.
CSCI-235 Micro-Computer Applications
Introduction to Computers and the Internet
Developing Web-Based Applications
PHP / MySQL Introduction
Advanced Programming: C# Lecture 01: Introduction
Introduction to Computers and the Internet
Web Application Development Using PHP
Presentation transcript:

Introduction to Computers and the Internet Lecture 2

 2008 Pearson Education, Inc. All rights reserved Web 2.0  2003 noticeable shift in how people and businesses were using the web and developing web-based applications  The term Web 2.0 was coined by Dale Dougherty of O’Reilly – Web 2.0 definition = companies use the web as a platform to create collaborative, community-based sites (e.g., social networking sites, blogs, wikis, etc.).  Web 1.0 (1990s and early 2000s) focused on a small number of companies and advertisers producing content for users to access – “brochure web”)  Web 2.0 involves the – Web 1.0 is as a lecture, – Web 2.0 is a conversation  Websites like MySpace, Facebook, Flickr, YouTube, eBay and Wikipedia, users create the content, companies provide the platforms.

 2008 Pearson Education, Inc. All rights reserved Web 2.0 (Cont.)  Architecture of participation – Open source software – Collective – Rich Internet Applications (RIAs) – Software as a Service (SaaS)  Web services incorporate functionality from existing applications and websites into own web applications – Amazon Web Services – Maps web services with eBay web services

 2008 Pearson Education, Inc. All rights reserved Web 2.0 (Cont.)  Future computers learn to understand the meaning of the data on the web = Semantic Web  Deitel Web 2.0 Resource Center at for more information.

 2008 Pearson Education, Inc. All rights reserved Personal, Distributed and Client/Server Computing  1977 Apple Computer popularized personal computing – Computers became economical for personal or business use  Machines could be linked together in computer networks – Local area networks (LANs) – Distributed computing  Workstations  Servers offer data storage and other capabilities that may be used by client computers distributed throughout the network, – Client/server computing  Popular operating systems – UNIX, Linux, Mac OS X and Microsoft’s Windows

 2008 Pearson Education, Inc. All rights reserved Hardware Trends  Improving technologies – Internet community thrives on improvements of - Hardware, Software and Communications – Cost of products and services - Consistently dropping over the decades – Computer capacity and speed - Doubles every two years (on average) = Moore’s Law – Microprocessor chip - Laid groundwork in late 1970s and 1980s for productivity improvements of the 1990s – Hardware moving toward mobile, wireless technology. - Hand-held devices more powerful than early supercomputers - Portability - Wireless data-transfer speeds

 2008 Pearson Education, Inc. All rights reserved The Key Software Trend: Object Technology  Objects – Reusable software components that model items in the real world (classes) – Makes software developers more productive – Object-oriented programs often easier to understand, correct and modify than older types of programs

 2008 Pearson Education, Inc. All rights reserved The Key Software Trend: Object Technology (Cont.)  Object technology – Packaging scheme that helps create meaningful software units - Large and highly focused on particular applications areas – Before appeared, programming languages were focused on actions (verbs) rather than on objects (nouns) - Programmers would program primarily with verbs - Made program awkward - We live in a world filled with complex objects and simple actions

 2008 Pearson Education, Inc. All rights reserved The Key Software Trend: Object Technology (Cont.)  Object technology (continued) – Object-oriented programming - Programmers work in manner similar to how they see the world - More natural process - Significant productivity enhancements – Procedural programming - Not particularly reusable - Forces programmers to constantly “re-invent the wheel” Wastes time and resources – Objects (classes) - Software modules - Kept in libraries - Reusable – save time and resources

 2008 Pearson Education, Inc. All rights reserved. 10 Software Engineering Observation 1.2 Extensive class libraries of reusable software components are available on the Internet. Many of these libraries are free.

 2008 Pearson Education, Inc. All rights reserved. 11 Software Engineering Observation 1.3 Some organizations report that the key benefit object-oriented programming gives them is not software that is reusable but, rather, software that is more understandable, better organized and easier to maintain, modify and debug. This can be significant, because perhaps as much as 80 percent of software cost is associated not with the original efforts to develop the software, but with the continued evolution and maintenance of that software throughout its lifetime.

 2008 Pearson Education, Inc. All rights reserved JavaScript: Object-Based Scripting for the Web  JavaScript – Attractive package for advancing level of programming language education – Object-based language – Supports proper software engineering techniques – Free as part of today’s most popular Web browsers – Powerful scripting language - Portable - Programs execute interpretively on client machines – ActionScript and JavaScript are converging in the next version of the JavaScript standard (JavaScript 2/ECMA Script version 4) - Universal client scripting language, simplifying web application development

 2008 Pearson Education, Inc. All rights reserved. 13 Good Programming Practice 1.1 Write your programs in a simple and straightforward manner. This is sometimes referred to as KIS (“keep it simple”). One key aspect of keeping it simple is another interpretation of KIS—“keep it small.” Do not “stretch” the language by trying bizarre us­es.

 2008 Pearson Education, Inc. All rights reserved. 14 Portability Tip 1.2 Although it is easier to write portable programs in JavaScript than in many other programming languages, differences among interpreters and browsers make portability difficult to achieve. Simply writing programs in JavaScript does not guarantee portability. Programmers occasionally need to research platform variations and write their code accordingly.

 2008 Pearson Education, Inc. All rights reserved. 15 Portability Tip 1.3 When writing JavaScript programs, you need to deal directly with cross-browser portability issues. Such issues are hidden by JavaScript libraries (e.g., Dojo, Prototype, Script.aculo.us and ASP.NET Ajax) which provide powerful, ready-to-use capabilities that simplify JavaScript coding by making it cross-browser compatible.

 2008 Pearson Education, Inc. All rights reserved. 16 Error-Prevention Tip 1.1 Always test your JavaScript programs on all systems and in all web browsers for which they are intended.

 2008 Pearson Education, Inc. All rights reserved. 17 Good Programming Practice 1.2 Read the documentation for the JavaScript version you are using to access JavaScript’s rich collection of features.

 2008 Pearson Education, Inc. All rights reserved. 18 Error-Prevention Tip 1.2 Your computer and JavaScript interpreter are good teachers. If you are not sure how a feature works, even after studying the documentation, experiment and see what happens. Study each error or warning message and adjust the code accordingly.

 2008 Pearson Education, Inc. All rights reserved Browser Portability  Browser portability – Great challenge - Great diversity of client browsers in use - Many different platforms also in use  Difficult to – Know capabilities and features of all browsers and platforms in use – Find correct mix between absolute portability, complexity and usability of features

 2008 Pearson Education, Inc. All rights reserved. 20 Portability Tip 1.4 The web is populated with many different browsers, which makes it difficult for authors and web application developers to create universal solutions. The W3C is working toward the goal of a universal client-side platform.

 2008 Pearson Education, Inc. All rights reserved C, C++ and Java  C – developed by Dennis Ritchie at Bell Laboratories – development language of the UNIX operating system – virtually all new major operating systems are written in C and/or C++  C++ – developed by Bjarne Stroustrup in early 1980s – “spruce up” the C language and provides capabilities for object-oriented programming  Java – developed by Sun Microsystems in 1991 – Sun saw the immediate potential of using Java to add dynamic content (e.g., interactivity, animations and the like) to web pages – Sun formally announced Java at an industry conference in May 1995 – Java is now used to - develop large-scale enterprise applications - enhance the functionality of web servers - provide applications for consumer devices

 2008 Pearson Education, Inc. All rights reserved BASIC, Visual Basic, Visual C++, C# and.NET  BASIC – Developed in the mid-1960s at Dartmouth College – Primary purpose was to familiarize novices with programming techniques  Microsoft’s Visual Basic language – Based on Basic – Has become one of the most popular programming languages in the world  Microsoft’s.NET platform – Provides the capabilities developers need to create computer applications that can execute on computers distributed across the Internet - Visual Basic (based on the original BASIC) - Visual C++ (based on C++) - Visual C# (based on C++ and Java)

 2008 Pearson Education, Inc. All rights reserved Software Technologies  Agile Software Development – Set of methodologies that try to get software implemented quickly – Agile Alliance ( – Agile Manifesto (  Refactoring – Reworking code to make it clearer and easier to maintain while preserving it  Design patterns – Proven architectures for constructing flexible and maintainable object-oriented software – Open source code

 2008 Pearson Education, Inc. All rights reserved Software Technologies (Cont.)  Linux – Open source operating system  Apache – Most popular open source web server  MySQL – Open source database management system  PHP – Most popular open source server-side “scripting” language for developing Internet-based applications  LAMP – Linux, Apache, MySQL and PHP (or Perl or Python)  Game programming – Software techniques used in game programming Adobe Flash CS3  Ruby on Rails – Combines the scripting language Ruby with the Rails web application framework – Developed by 37Signals  Software as a Service (SaaS) – Software runs on servers elsewhere on the Internet - Salesforce.com, Google, Microsoft and 37Signals all offer SaaS