Fundamentals of Web Development, Global Edition, 1st edition

Published by Pearson (November 13, 2014) © 2015
  • Randy Connolly
  • Ricardo Hoar

Title overview

Fundamentals of Web Development covers the broad range of topics required for modern web development (both client- and server-side) and is appropriate for students who have taken a CS1 course sequence.

The book guides students through the creation of enterprise-quality websites using current development frameworks. It covers the required ACM web development topics in a modern manner closely aligned with best practices in the real world of web development.

Teaching and Learning Experience

  • Help students master the fundamentals of web development: A true grasp of web development requires an understanding of both the foundations of the web and current web development practices.
  • Support learning outcomes in various teaching scenarios: This book allows instructors to chart their own unique way through the topics that make up contemporary web development.

Help students master the fundamentals of web development

  • Covers both the concepts and the practice of the entire scope of web development. Web development can be a difficult subject to teach because it involves covering a wide range of theoretical material that is technology independent as well as practical material that is very specific to a particular technology. This book comprehensively covers both the conceptual and practical side of the entire gamut of the web development world.
  • Focused on the web development reality of today’s world and in anticipation of future trends. The world of web development has changed remarkably in the past decade. For instance, fewer sites are being created from scratch; instead, a great deal of current web development makes use of existing sophisticated frameworks and environments such as jQuery, WordPress, HTML5, and Facebook. It is important to integrate this new world of web development into any web development textbook.
  • Sophisticated, realistic, and engaging case studies. Rather than using simplistic “Hello World” style web projects, this book makes extensive use of three case studies: an art store, a travel photo sharing community, and a customer relations management system. For all the case studies, supporting material such as the business cases, use cases, design documentation, visual design, images, and databases are included. The authors have found that students are more enthusiastic and thus work significantly harder with attractive and realistic cases.
  • Comprehensive coverage of a modern internet development platform. In order to create any kind of realistic internet application, readers require detailed knowledge of and practice with a single specific internet development platform. This book covers HTML5, CSS3, Javascript, and the LAMP stack (that is, Linux, Apache, MySQL, and PHP). Other important technologies covered include jQuery, XML, WordPress, Bootstrap, and a variety of thirdparty APIs that include Facebook, Twitter, and Google and Bing Maps.
  • Content presentation suitable for visuallyoriented learners. As longtime instructors, the authors are well aware that today’s students are often extremely reluctant to read long blocks of text. As a result, they have tried to make the content visuallypleasing and to explain complicated ideas not only through text but also through diagrams.
  • Content that is the result of over twenty years of classroom experience (in college, university, and adult continuing education settings) teaching web development. The book’s content also reflects the authors’ deep experience engaging in web development work for a variety of international clients.
  • Tutorialdriven programming content available online. Rather than using long programming listings to teach ideas and techniques, this book uses a combination of illustrations, short colorcoded listings and separate tutorial exercises. These stepbystep tutorials are not contained within the book, but are available online to owners of the book.
  • Complete pedagogical features for the student. Each chapter includes learning objectives, margin notes, links to stepbystep tutorials, advanced tips, keyword highlights, endofchapter review questions, and three different case study exercises.
  • Helpful teaching resources for the Instructor. To help make your web development course more teachable, the following resources are available for teachers adopting this book:
    • Attractive and comprehensive PowerPoint presentations (one for each chapter)
    • Images and databases for all the case studies
    • Solutions to endofchapter exercises and to tutorial exercises
    • Images and databases for additional case studies not covered in the bo

Table of contents

Preface xxxiii
Acknowledgments xl
Chapter 1 How the Web Works 1
1.1 Definitions and History 2
A Short History of the Internet 2
The Birth of the Web 4
Web Applications in Comparison to Desktop Applications 6
Static Websites versus Dynamic Websites 8
Web 2.0 and Beyond 9
1.2 Internet Protocols 11
A Layered Architecture 12
Link Layer 12
Internet Layer 13
Transport Layer 15
Application Layer 16
1.3 The Client-Server Model 16
The Client 17
The Server 17
The Request-Response Loop 17
The Peer-to-Peer Alternative 18
Server Types 18
Real-World Server Installations 20
1.4 Where Is the Internet? 23
From the Computer to the Local Provider 24
From the Local Provider to the Ocean’s Edge 26
Across the Oceans 29
1.5 Domain Name System 30
Name Levels 32
Name Registration 34
Address Resolution 34
1.6 Uniform Resource Locators 38
Protocol 38
Domain 39
Port 39
Path 39
Query String 39
Fragment 39
1.7 Hypertext Transfer Protocol 40
Headers 42
Request Methods 44
Response Codes 45
1.8 Web Servers 46
Operating Systems 47
Web Server Software 47
Database Software 48
Scripting Software 48
1.9 Chapter Summary 48
Key Terms 49
Review Questions 49
References 50

Chapter 2 Introduction to HTML 52
2.1 What Is HTML and Where Did It Come from? 53
XHTML 55
HTML5 57
2.2 HTML Syntax 59
Elements and Attributes 59
Nesting HTML Elements 60
2.3 Semantic Markup 62
2.4 Structure of HTML Documents 64
DOCTYPE 65
Head and Body 66
2.5 Quick Tour of HTML Elements 68
Headings 68
Paragraphs and Divisions 72
Links 72
URL Relative Referencing 74
Inline Text Elements 78
Images 78
Character Entities 79
Lists 80
2.6 HTML5 Semantic Structure Elements 81
Header and Footer 81
Heading Groups 84
Navigation 84
Articles and Sections 85
Figure and Figure Captions 87
Aside 89
2.7 Chapter Summary 89
Key Terms 89
Review Questions 90
Hands-On Practice 90

Chapter 3 Introduction to CSS 95
3.1 What Is CSS? 96
Benefits of CSS 96
CSS Versions 96
Browser Adoption 97
3.2 CSS Syntax 98
Selectors 99
Properties 99
Values 100
3.3 Location of Styles 103
Inline Styles 103
Embedded Style Sheet 104
External Style Sheet 104
3.4 Selectors 105
Element Selectors 106
Class Selectors 106
Id Selectors 107
Attribute Selectors 110
Pseudo-Element and Pseudo-Class Selectors 112
Contextual Selectors 114
3.5 The Cascade: How Styles Interact 116
Inheritance 116
Specificity 116
Location 119
3.6 The Box Model 122
Background 123
Borders 124
Margins and Padding 125
Box Dimensions 128
3.7 CSS Text Styling 134
Font Family 134
Font Sizes 136
Paragraph Properties 138
3.8 Chapter Summary 140
Key Terms 141
Review Questions 141
Hands-On Practice 142
References 147

Chapter 4 HTML Tables and Forms 148
4.1 Introducing Tables 149
Basic Table Structure 149
Spanning Rows and Columns 150
Additional Table Elements 151
Using Tables for Layout 152
4.2 Styling Tables 155
Table Borders 155
Boxes and Zebras 156
4.3 Introducing Forms 158
Form Structure 159
How Forms Work 160
Query Strings 161
The

Element 162
4.4 Form Control Elements 163
Text Input Controls 165
Choice Controls 167
Button Controls 169
Specialized Controls 171
Date and Time Controls 172
4.5 Table and Form Accessibility 174
Accessible Tables 175
Accessibl
Loading...Loading...Loading...