Web Programming with HTML5, CSS, and JavaScript is written for the undergraduate, client-side web programming course. It covers the three client-side technologies (HTML5, CSS, and JavaScript) in depth, with no dependence on server-side technologies. One of the distinguishing features of this new text is its coverage of canvas, one of the most important new features of HTML5. Topics are presented in a logical, comprehensive manner and code is presented in both short code fragments and complete web pages, allowing readers to grasp concepts quickly and then apply the concepts in the context of a complete web page. Each chapter concludes with an optional case study, which builds upon itself to create a sophisticated website. The case studies allow students to apply what they have learned and gives them a feel for the real-world design process.