We will not be using a text book for 2019 and beyond
There are so many great resources on the internet
that I want you to learn how to use those resources
so that you can:
Learn ... what you need to LEARN ... when you need to LEARN it.
Each week we will be doing a group of Tutorials from these Sites
We will be using W3Schools.com website.
WebDevelopment https://www.w3schools.com/whatis/default.asp
JavaScript ........ https://www.w3schools.com/js/default.asp
JQuery ........ https://www.w3schools.com/jquery/default.asp
Angular JS ........ https://www.w3schools.com/angular/default.asp
How To ........ https://www.w3schools.com/howto/default.asp
We will also be utilizing Khan Academy's Programming section on JavaScript
We will not be covering everything these two sites have - because they are so extensive, and we will be using other internet resources. Each student will have their own space on CCV's Shared Web Host
We will be creating and maintaining live websites.
It will be exiting - because it is real!
Libraries:
React Handbook https://medium.freecodecamp.org/the-react-handbook-b71c27b0a795
Another React Handbook https://reacthandbook.com/
There are Frameworks that work with JavaScript - these are constantly evolving and expanding - to get an idea of the current Frameworks
Which Framework should I learn? https://edgecoders.com/which-javascript-frameworks-should-you-learn-in-2018-ecea9a27617d
Framework Comparisons https://medium.com/@ajmeyghani/javascript-frameworks-performance-comparison-c566d19ab65b
Node.js https://en.wikipedia.org/wiki/Node.js
CCV Career Spot - It is the Community College Network - it's new - let's keep our eyes on it.
==============================================
These are Textbooks I have used for Previous Semesters - they are still available, and can be purchased, they have lots of great examples.
Textbook for 2016
JavaScript: Visual QuickStart Guide (9th Edition) (Visual Quickstart Guides)Paperback – August 10, 2014by Dori Smith (Author), Tom Negrino (Author)
ISBN-13: 978-0321996701 ISBN-10: 0321996704
List price $31.99
Amazon $28.51
Kindle $15.39
Used Amazon $16.01
TextBook Website: http://JavaScriptWorld.com
DOWNLOAD all EXAMPLES http://JavaScriptWorld.com Click DOWNLOAD THE SCRIPTS under the title
Online Sample Chapter Working with Images in JavaScript
Sample Pages Download Chapter 4 Working with Images
Introduction
Chapter 1: Getting Acquainted with JavaScript
Chapter 2: Start Me Up!
Chapter 3: Your First Web App
Chapter 4: Working with Images
Chapter 5: Windows and Frames
Chapter 6: Form Handling
Chapter 7: Forms and Regular Expressions
Chapter 8: Handling Events
Chapter 9: JavaScript and Cookies
Chapter 10: Objects and the DOM
Chapter 11: Making Your Pages Dynamic
Chapter 12: Applied JavaScript
Chapter 13: Introducing Ajax
Chapter 14: Toolkits, Frameworks, and Libraries
Chapter 15: Designing with jQuery
Chapter 16: Building on jQuery
Chapter 17: Scripting Mobile Devices - new in 9th Edition
Chapter 18: Bookmarklets
Appendix A: JavaScript Genealogy and Reference
Appendix B: JavaScript Reserved Words
Appendix C: Cascading Style Sheets Reference
Appendix D: Where to Learn More
Errata http://www.peachpit.com/store/javascript-visual-quickstart-guide-9780321996701 check the UPDATES tab.
Other examples we will be using Khan https://www.khanacademy.org/search?page_search_query=javascript
========================================================================================================================
Textbook for Fall, Summer, Spring 2014 and Fall 2013 - This can also be used for 2015 - don't spend additional money if you don't have to!
JavaScript: Visual QuickStart Guide (8th Edition) [Paperback]
Tom Negrino (Author), Dori Smith (Author)
ISBN 13: 978-0-321-77297-8
List price $34.99
Amazon $23.12
Used for under $10
Kindle $15.39
3.8 out of 5 stars See all reviews (8 customer reviews)
Start Reading JavaScript: Visual QuickStart Guide (8th Edition) on your Kindle in under a minute
Don't have a Kindle?Get your Kindle here, or download a FREEKindle Reading App.
Book's Web Site http://www.javascriptworld.com/
Download the scripts - click the download button from the TOP Nav http://www.javascriptworld.com/
Google Books will let you read a good portion of the book. NOTE: you may have to close your browser and re-open it, or open in a different browser to change sections that are hidden.
http://books.google.com/books?id=H5JlrWxn7tsC&printsec=frontcover&dq=JavaScript:+Visual+QuickStart+Guide+%288th+Edition%29&hl=en&sa=X&ei=rS0nUue0GPOrsQSCjoD4BA&ved=0CEoQ6AEwAA#v=onepage&q=JavaScript%3A%20Visual%20QuickStart%20Guide%20%288th%20Edition%29&f=false
ERRATA
Click to open expanded view
Summer 2013 & previous semesters: TextBook
Glad to have you in class! The Textbook we are using is
http://www.informit.com/store/product.aspx?isbn=0672329654
* Description
* Downloads - From this page you can download the source code, it is in .zip format
* Extras
* Reviews
You can purchase this book through Amazon either new or used (it may take a few days longer to get it mailed - but that should not be a problem)
Sams Teach Yourself Ajax, JavaScript, and PHP All in One
By Phil Ballard, Michael Moncur
Published Jul 2, 2008 by Sams. Part of the Sams Teach Yourself series.
Copyright 2009
Dimensions: 7 X 9-1/8
Pages: 384
Edition: 1st
ISBN-10: 0-672-32965-4
ISBN-13: 978-0-672-32965-4
Register your product to gain access to bonus material or receive a coupon.
There is some chapter information on the Amazon site http://www.amazon.com/Sams-Teach-Yourself-Ajax-JavaScript/dp/0672329654/ref=sr_1_1?ie=UTF8&qid=1314808811&sr=8-1
And the book is available for purchase/download to Kindle's.
Google Books electronic version: http://books.google.com/books?id=Ju4W2ZA7hi4C&printsec=frontcover&dq=Sams+Teach+Yourself+Ajax,+JavaScript,+and+PHP+All+in+One&hl=en&src=bmrr&ei=aCZpTpPkEOTa0QHXqN2BDA&sa=X&oi=book_result&ct=result&resnum=1&ved=0CCoQ6AEwAA#v=onepage&q&f=false
CHECK CCV Bookstore for Courses & Required Books www.ccvbooks.com
ERRATA's
Introduction
Part I: Web Basics Refresher ........................................................ 7
Chapter 1: Workings of the Web ..................................................... 9
A Short History of the Internet........................................................... 9
The World Wide Web...................................................................... 10
Introducing HTTP............................................................................ 14
The HTTP Request and Response.................................................... 15
HTML Forms.................................................................................. 17
Summary....................................................................................... 20
Chapter 2: Writing and Styling Pages in HTML and CSS 21
Introducing HTML........................................................................... 21
Elements of an HTML Page............................................................. 23
A More Advanced HTML Page......................................................... 27
Some Useful HTML Tags................................................................. 29
Adding Your Own Style................................................................... 30
Defining the Rules........................................................................... 31
Add a Little class............................................................................ 31
Applying Styles............................................................................... 33
Formatting Text with Styles.............................................................. 35
Adding Lines................................................................................... 39
Summary........................................................................................ 40
Chapter 3: Anatomy of an Ajax Application 41
The Need for Ajax............................................................................ 41
Introducing Ajax............................................................................... 43
The Constituent Parts of Ajax............................................................ 45
Putting It All Together....................................................................... 47
Summary......................................................................................... 49
Part II: Introducing Web Scripting with JavaScript ...................... 51
Chapter 4: Creating Simple Scripts in JavaScript .............................. 53
Tools for Scripting............................................................................ 53
Displaying Time with JavaScript......................................................... 54
Beginning the Script......................................................................... 55
Adding JavaScript Statements........................................................... 55
Creating Output................................................................................ 56
Adding the Script to a Web Page....................................................... 57
Testing the Script............................................................................. 58
JavaScript Syntax Rules................................................................... 65
Using Comments............................................................................. 66
Best Practices for JavaScript............................................................ 67
Summary........................................................................................ 69
Chapter 5: Working with the Document Object Model (DOM) 71
Understanding Objects.................................................................... 71
Understanding the Document Object Model (DOM)............................ 72
Working with Web Documents......................................................... 74
Accessing Browser History.............................................................. 77
Working with the location Object...................................................... 78
Summary....................................................................................... 80
Chapter 6: Using Variables, Strings, and Arrays 81
Using Variables............................................................................... 81
Understanding Expressions and Operators......................................... 85
Data Types in JavaScript.................................................................. 86
Converting Between Data Types........................................................ 88
Using String Objects........................................................................ 89
Working with Substrings................................................................... 92
Using Numeric Arrays...................................................................... 94
Using String Arrays.......................................................................... 96
Sorting a Numeric Array................................................................... 98
Summary....................................................................................... 101
Chapter 7: Using Functions and Objects 103
Using Functions............................................................................. 103
Introducing Objects......................................................................... 108
Using Objects to Simplify Scripting.................................................. 109
Extending Built-in Objects............................................................... 112
Summary....................................................................................... 115
Chapter 8: Controlling Flow with Conditions and Loops 117
The if Statement............................................................................. 118
Using Shorthand Conditional Expressions......................................... 121
Testing Multiple Conditions with if and else....................................... 122
Using Multiple Conditions with switch............................................... 124
Using for Loops.............................................................................. 125
Using while Loops.......................................................................... 128
Using do…while Loops................................................................... 128
Working with Loops........................................................................ 129
Looping Through Object Properties................................................... 131
Summary....................................................................................... 134
Chapter 9: Using Built-In Functions and Libraries 135
Using the Math Object.................................................................... 135
Working with Math Functions.......................................................... 137
Using the with Keyword.................................................................. 139
Working with Dates........................................................................ 140
Using Third-Party Libraries.............................................................. 143
Other Libraries............................................................................... 144
Summary...................................................................................... 145
Part III: Introducing Ajax ............................................................ 147
Chapter 10: The Heart of Ajax–the XMLHTTPRequest Object .......... 149
Introducing XMLHTTPRequest........................................................ 149
Creating the XMLHTTPRequest Object............................................ 150
Summary..................................................................................... 156
Chapter 11: Talking with the Server 157
Sending the Server Request........................................................... 157
Monitoring Server Status................................................................ 162
The Callback Function.................................................................... 163
Summary...................................................................................... 166
Chapter 12: Using the Returned Data 167
The responseText and responseXML Properties............................... 167
Parsing responseXML.................................................................... 171
Providing User Feedback................................................................ 172
Summary...................................................................................... 174
Chapter 13: Our First Ajax Application 175
Constructing the Ajax Application.................................................... 175
The HTML Document...................................................................... 176
Adding JavaScript........................................................................... 177
Putting It All Together...................................................................... 180
Summary....................................................................................... 184
Part IV: Server-side Scripting with PHP ...................................... 185
Chapter 14: Getting to Know PHP ................................................. 187
PHP Basics...................................................................................187
Your First PHP Script.................................................................... 190
Summary...................................................................................... 194
Chapter 15: Variables ................................................................. 195
Understanding Variables................................................................ 195
Data Types................................................................................... 197
Working with Numbers................................................................... 198
Numeric Data Types....................................................................... 200
Numeric Functions......................................................................... 200
Working with Strings...................................................................... 202
Formatting Strings.......................................................................... 203
String Functions............................................................................. 205
Working with Arrays....................................................................... 206
Array Functions............................................................................. 208
Date Formats................................................................................. 209
Working with Timestamps............................................................... 210
Summary....................................................................................... 213
Chapter 16: Flow Control 215
Conditional Statements.................................................................. 215
Loops........................................................................................... 220
Summary....................................................................................... 222
Chapter 17: Functions 223
Using Functions............................................................................. 223
Arguments and Return Values........................................................ 225
Using Library Files......................................................................... 229
Summary....................................................................................... 229
Chapter 18: Using Classes 231
Object-Oriented PHP.................................................................... 231
What Is a Class?........................................................................... 232
Creating and Using Objects........................................................... 233
Summary....................................................................................... 236
Part V: More Complex Ajax Technologies 237
Chapter 19: Returning Data as Text 239
Getting More from the responseText Property................................ 239
Summary....................................................................................... 245
Chapter 20: AHAH–Asynchronous HTML and HTTP 247
Introducing AHAH........................................................................ 247
Creating a Small Library for AHAH............................................... 248
Using myAHAHlib.js..................................................................... 250
Summary....................................................................................... 255
Chapter 21: Returning Data as XML 257
Adding the “x” to Ajax................................................................... 257
The responseXML Property.......................................................... 258
Project–An RSS Headline Reader............................................... 262
Summary....................................................................................... 269
chapter 22: Web Services and the REST and SOAP Protocols 271
Introduction to Web Services......................................................... 271
REST–Representational State Transfer......................................... 272
Using REST in Practice.................................................................. 274
Web Services Using SOAP........................................................... 278
The SOAP Protocol...................................................................... 279
Using Ajax and SOAP................................................................... 282
Reviewing SOAP and REST.......................................................... 283
Summary....................................................................................... 284
chapter 23: A JavaScript Library for Ajax 285
An Ajax Library............................................................................ 285
Reviewing myAHAHlib.js.............................................................. 286
Implementing Our Library.............................................................. 287
Using the Library........................................................................... 290
Summary....................................................................................... 293
chapter 24: Ajax Gotchas 295
Common Ajax Errors.................................................................... 295
The Back Button........................................................................... 296
Bookmarking and Links................................................................. 297
Telling the User That Something Is Happening................................ 297
Making Ajax Degrade Elegantly..................................................... 297
Dealing with Search Engine Spiders................................................ 298
Pointing Out Active Page Elements................................................. 299
Don’t Use Ajax Where It’s Inappropriate...................................... 299
Security......................................................................................... 300
Test Code Across Multiple Platforms............................................. 300
Ajax Won’t Cure a Bad Design..................................................... 301
Some Programming Gotchas.......................................................... 301
Summary....................................................................................... 302
Part VI: Ajax Tools and Resources 303
Chapter 25: The prototype.js Toolkit 305
Introducing prototype.js................................................................. 305
Wrapping XMLHTTPRequest–the Ajax Object........................... 308
Example Project–Stock Price Reader.......................................... 311
Summary....................................................................................... 313
chapter 26: Using Rico 315
Introducing Rico............................................................................ 315
Rico’s Other Interface Tools.......................................................... 320
Summary....................................................................................... 324
Chapter 27: Using Script.aculo.us 325
Downloading the Library................................................................ 325
Including the Files.......................................................................... 326
Using Effects................................................................................. 326
Building the Script.......................................................................... 327
Summary....................................................................................... 329
Chapter 28: Using XOAD 331
Introducing XOAD........................................................................ 331
XOAD HTML.............................................................................. 334
Advanced Programming with XOAD............................................. 337
Summary....................................................................................... 338
Appendix: JavaScript, PHP, and Ajax Websites 339
Glossary 343
TOC, 0672329654, 6/6/2008
================================================================
JilMac will be using this as a REFERENCE Book for the Summer 2013 :
To read some of the Book from the Amazon site http://www.amazon.com/Learning-JavaScript-Hands--Fundamentals-Modern/dp/0321832744/ref=sr_1_1?s=books&ie=UTF8&qid=1363632983&sr=1-1&keywords=Learning+JavaScript%3A+A+Hands-On+Guide+to+the+Fundamentals+of+Modern+JavaScript
Tim Wright has been a web designer and front-end developer since 2004, primarily focusing on CSS, HTML, accessibility, and building applications that scale from desktop to mobile device. Wright has worked at various universities nationwide, fostering Web standards at each of them. Wright has written on front-end development for popular online web design publications such as Smashing Magazine, SitePoint, and Web Designer Depot, and has spoken at events including Future of Web Design.
Concise, readable, and friendly: get up and running fast on JavaScript!
Chapter 1: Progressive Enhancement 3
Defining Progressive Enhancement 3
History 4
Purpose 5
Accessibility 5
Reusability 5
Progressive Enhancement Versus Graceful
Degradation 6
Structure Layer 6
Adding More Meaning with HTML5 8
Presentation Layer 9
Inline CSS 10
Linking Up Your Stylesheet 10
Behavior Layer 12
Inline JavaScript 12
Embedded JavaScript 13
External and Unobtrusive JavaScript 15
Benefits of Progressive Enhancement 16
Performance 17
Building for the Future 17
The Touch Interface 18
Final Words on Progressive Enhancement 19
Summary 20
Exercises 20
Chapter 2: JavaScript in the Browser 21
A People’s History of JavaScript 21
Origins 22
Progressive Enhancement 23
The Behavior Layer 24
Moving Past Today 24
Browser Interactions with JavaScript 25
HTTP Requests 26
JavaScript and Rendering Engines 29
What JavaScript Can Do 30
Modifying HTML 31
Communicating with the Server 31
Storing Data 31
How You Should Use JavaScript 32
Improving User Experience 32
Using JavaScript Responsibly 32
Creating Fallbacks 34
Tools to Help You Use JavaScript 36
Tools Built into the Language 36
Tools Built into the Browser 37
Summary 38
Exercises 38
Chapter 3: JavaScript Terminology 39
Basics 39
Document Object Model (DOM) 39
Parents 40
Children 40
Siblings 41
Variables 41
Strings 43
Comments 43
Operators 44
Use Strict 45
Storage 45
Cache 45
Arrays 45
Cookies 46
JavaScript Object Notation (JSON) 46
Objects 47
Creating Interaction 47
Loops 48
Conditionals 48
switch Statement 49
Functions 50
Anonymous Functions 51
Callback Functions 52
Methods 53
Events 54
Ajax 54
Summary 55
Exercises 55
Chapter 4: Accessing the DOM 57
What Is the DOM? 57
The DOM Tree 58
Element Nodes 59
Text Nodes 60
Attribute Nodes 62
Working with the Element Node 62
Targeting by ID 63
Targeting by Tag Name 64
Targeting by Class 67
Using CSS Selectors in JavaScript to Target Nodes 68
Working with the Attribute Node 70
Getting an Attribute 71
Setting an Attribute 72
Removing an Attribute 73
Working with the Text Node and Changing Content 73
Moving Around the DOM 74
Accessing First and Last Child 76
Dynamically Adding and Removing Nodes from the
DOM 77
Adding Elements to the DOM 77
Removing Elements from the DOM 78
Summary 79
Exercises 79
Chapter 5: Storing Data in JavaScript 81
Variables 81
Strings 82
Numbers 83
Boolean 84
Performance in Variables 84
Arrays 85
Basic Array 85
Associative Array 87
Multidimensional Array 87
Pushing Data into an Array 89
Working with Array Methods 89
join 90
slice 90
shift and unshift 91
pop 92
concat 92
sort 93
Objects 93
Performance in Objects 94
JSON 95
Benefits of Using JSON 96
Using an API 96
Web Storage in HTML5 97
localStorage and sessionStorage 97
setItem 97
getItem 98
removeItem 98
Storing Chunks of Data with JSON 99
Using Web Storage Responsibly 100
Summary 101
Exercises 101
Chapter 6: Variables, Functions, and Loops 103
Defining Variables 103
Grouping Variables 104
Reserved Terms 104
Functions 105
Basic Functions 106
Anonymous Functions 107
Scope 108
Calling a Function with a Function 109
Returning Data 110
A Function as a Method 112
Loops 113
for Loop 114
Conditionals 116
if Statement 116
if/else Statement 117
switch Statement 118
if versus switch 119
Putting It All Together 120
Summary 121
Exercises 122
Chapter 7: Interacting with the User Through Events 123
Attaching an Event 124
Event Handlers 124
Event Listeners 125
Binding Events 128
Unbinding Events 129
Mouse and Keyboard Events 130
click 132
focus and blur 134
Accessibility 135
change 135
mouseover and mouseout (hovering) 136
submit 137
Preventing Default Behavior 139
keydown, keypress, and keyup 139
Putting It All Together 140
Touch and Orientation Events 143
touchstart and touchend 144
touchmove 145
orientationchange 145
Support for Touch Events 146
Putting It All Together 147
Summary 148
Exercises 148
Chapter 8: Communicating with the Server Through
Ajax 149
Ajax History 150
Server Communication 151
The XMLHttpRequest 152
Creating an Ajax Call 154
Sending a Request to the Server 155
Receiving Data Back from the Server 158
Making Repeat Ajax Calls 163
Ajax Data Formats 164
XML 165
HTML 166
JSON 167
Ajax Accessibility 168
Live Regions and ARIA 169
Common Ajax Mistakes 170
Providing Feedback 170
Putting It All Together 172
Where Is Ajax Going? 177
Summary 177
Exercises 178
Chapter 9: Code Organization 179
General Coding Style Rules 180
Scope 181
Failing Quickly 183
User Experience 185
Code Design 185
Files and Directories 186
In-document Script 187
Variable Declarations 188
Variable and Function Naming 189
Comments 190
Indentation 192
Whitespace 193
Statement Spacing 194
Line Breaks 195
Math and Operators 196
Using eval() 197
Taking Style Guides Too Far 199
Code Structure 200
Functions 200
Anonymous Functions 201
Functions as Variables 202
Functions as Methods 202
JavaScript Development Patterns 204
Summary 208
Exercises 209
Chapter 10: Making JavaScript Easier with Libraries 211
JavaScript Library Basics 212
The Library Learning Process 213
Syntax 214
Focusing on the Goal 214
Creating Shortcuts 215
Fixing Browser Issues 216
Popular Libraries 216
jQuery Basics 221
document.ready 222
Selectors 223
Traveling Through the DOM 225
Adding Style Information 226
Binding Events 227
Animation 227
jQuery Nonbasics 228
Using Ajax in jQuery 228
Looping Through Data in jQuery 230
Chaining Functions 232
Extending Libraries Through Plug-ins 233
Building a Plug-in 234
The Good of Libraries 236
Popularity and Community 236
Efficient Code 237
The Bad of Libraries 238
Overhead 238
Performance 239
Overreliance and Shelf Life 239
Using Microlibraries 240
The Good 240
The Bad 241
Summary 242
Exercises 242
Chapter 11: HTML5 JavaScript APIs 243
What Is HTML5? 244
The Markup (aka HTML) 244
Creating Better Semantics 245
Building More Accessible Content 245
The JavaScript APIs 248
The navigator Object 248
Geolocation 249
Audio and Video 251
History API 254
Web Workers 259
Device API 265
The Battery Status API 266
The Vibration API 267
The Network Information API 268
Using This Today with Feature Detection 270
Summary 271
Exercises 272
Chapter 12: Moving Forward with JavaScript 273
A Brief Review of Key Topics 274
Progressive Enhancement 274
DOM Manipulation 275
Data Storage 277
Server Communication 279
JavaScript for Designers 279
Advanced Interface Design 280
CSS Transforms in JavaScript 284
Interacting from the Desktop 289
JavaScript for Developers 293
JavaScript Templates 294
JavaScript on the Server with NodeJS 299
Summary 302
Exercises 303
Answers 305
Index 309