
Introduction to JavaScript Programming: The "Nothing but a Browser" Approach
Description
For courses in Java Programming.
Introducing the fundamental concepts of programming with JavaScript
A brand new textbook by Eric Roberts, Understanding Programming through JavaScript focuses on the fundamental concepts of programming, and is written for students with no prior knowledge or experience. It draws on a rich pedagogical heritage-including the immersive Karel the Robot microworld, time-testing programming guidelines, and a logical, step-by-step organization-to give them the foundational skills needed to pursue other coding languages, or a career in computer programming. Using the text, students will build their skills and develop live, interactive web applications that really work on web browsers, providing both instant feedback and gratification. This new text includes chapter openers that humanize computing, review questions for student self-testing, and many other valuable features.
More details
Person
Eric Roberts is the Charles Simonyi Professor of Computer Science, emeritus, at Stanford University. Throughout his career, Roberts was a widely acknowledged leader in computer science education and received numerous national and international awards, including the Outstanding Contribution to Computer Science Education Award from the Association for Computing Machinery's Special Interest Group in Computer Science Education (ACM SIGCSE), the Karl V. Karlstrom Outstanding Educator Award from the ACM, and the Taylor Booth Education Award from the Institute for Electrical and Electronic Engineers Computer Society (IEEE-CS).
Content
-
A Gentle Introduction
- 1.1 Introducing Karel
- 1.2 Teaching Karel to solve problems
- 1.3 Control statements
- 1.4 Stepwise refinement
- 1.5 Algorithms in Karels world
- Summary
- Review questions
- Exercises
-
Introducing JavaScript
- 2.1 Data and types
- 2.2 Numeric data
- 2.3 Variables
- 2.4 Functions
- 2.5 String data
- 2.6 Running JavaScript in the browser
- 2.7 Testing and debugging
- 2.8 Software maintenance
- Summary
- Review questions
- Exercises
-
Control Statements
- 3.1 Boolean Data
- 3.2 The if statement
- 3.3 The switch statement
- 3.4 The while statement
- 3.5 The for statement
- 3.6 Algorithmic programming
- 3.7 Avoiding fuzzy standards of truth
- Summary
- Review questions
- Exercises
-
Simple Graphics
- 4.1 A graphical version of Hello World
- 4.2 Classes, objects, and methods
- 4.3 Graphical objects
- 4.4 The graphics window
- 4.5 Creating graphical applications
- Summary
- Review questions
- Exercises
-
Functions
- 5.1 A quick review of functions
- 5.2 Libraries
- 5.3 A library to support randomness
- 5.4 The mechanics of function calls
- 5.5 Recursive functions
- Summary
- Review questions
- Exercises
-
Writing Interactive Programs
- 6.1 First-class functions
- 6.2 A simple interactive example
- 6.3 Controlling properties of objects
- 6.4 Responding to mouse events
- 6.5 Timer-based animation
- 6.6 Expanding the graphics library
- Summary
- Review questions
- Exercises
-
Strings
- 7.1 Binary representation
- 7.2 String operations
- 7.3 Classifying characters
- 7.4 Common string patterns
- 7.5 String applications
- 7.6 Reading from the console
- Summary
- Review questions
- Exercises
-
Arrays
- 8.1 Introduction to arrays
- 8.2 Array operations
- 8.3 Using arrays for tabulation
- 8.4 Reading text from files
- 8.5 Multidimensional arrays
- 8.6 Image processing
- Summary
- Review questions
- Exercises
-
Objects
- 9.1 Objects in JavaScript
- 9.2 Using objects as maps
- 9.3 Representing points
- 9.4 Rational numbers
- 9.5 Linking objects together
- Summary
- Review questions
- Exercises
-
Designing Data Structures
- 10.1 Abstract data types
- 10.2 Implementing a token scanner
- 10.3 Efficiency and representation
- 10.4 Representing real-world data
- Summary
- Review questions
- Exercises
-
Inheritance
- 11.1 Class hierarchies
- 11.2 Defining an employee hierarchy
- 11.3 Extending graphical classes
- 11.4 Decomposition and inheritance
- 11.5 Alternatives to inheritance
- Summary
- Review questions
- Exercises
-
JavaScript and the Web
- 12.1 A simple interactive example
- 12.2 An expanded look at HTML
- 12.3 Controlling style using CSS
- 12.4 Connecting JavaScript and HTML
- 12.5 Storing data in the index.html file
- Summary
- Review questions
- Exercises