Beginning JavaScript: The Ultimate Guide to Modern JavaScript Development, Third Edition

Discover everything you need to know to get up-to-speed with JavaScript development and add dynamic enhancements to web pages. This completely updated third edition reveals how the code works and when to use closures, constants, and execution content. Starting with the basics, you’ll see how to employ prototypical inheritance, as well as memory management, variable hoisting and event bubbling. Also covered is an introduction to Node.js and package managers and how they are used with current JavaScript frameworks.

Featured book: Beginning JavaScript: The Ultimate Guide to Modern JavaScript Development, Third Edition

Designing Data Structures in Python

When should you use Python’s built-in data types, and when should you develop your own? In this video course, George Heineman introduces Python programmers to several important data structures and demonstrates their use with example algorithms. Generic data structures such as arrays, linked lists, and stacks can solve many problems, but to work through some specialized problems, you need to learn different ways to structure data appropriately. 

Featured video: Designing Data Structures in Python

UX Design Foundations: Design Principles and Strategies

A positive and effective user experience is crucial to the success of an application. This course addresses the importance of identifying your users, using consistent and simple design patterns, implementing effective navigation and layout, incorporating media elements, using advertisements, and implementing user interface design strategies and tools such as Lean UX and wireframing. In this course, you'll learn principles such as Hick's Law, Pareto Principle, and Gestalt Principles in the context of UX design. 

Featured course: UX Design Foundations: Design Principles and Strategies

Learning Path: Groovy

Discover the power and simplicity of Groovy. Groovy is a powerful, multi-faceted language for the Java platform that integrates smoothly with any Java program. In this Learning Path, you'll see how writing anything—from a simple build script to a full-scale application—is much easier with Groovy than with Java. Discover the many advantages of adding Groovy to projects written in Java and other object-oriented languages.

Featured resource: Learning Path: Groovy

Rust: In It for the Long Haul

Register now for the next free ACM Webinar, "Rust: In It for the Long Haul" presented on Friday, November 1, at 12 pm ET by Carol Nichols, co-author of The Rust Programming Language book and co-founder of Integer 32, the world’s first Rust-focused consultancy.  Jake Goulding, co-founder of Integer 32 and member of the Rust Infrastructure Team, will moderate the questions and answers session. Continue the discussion on ACM's Discourse Page.

Image of Carol Nichols

Recommender Systems: Beyond Machine Learning

View the most recent ACM Webinar, "Recommender Systems: Beyond Machine Learning," on demand.  The talk was presented by Joseph A. Konstan, Distinguished McKnight University Professor and Distinguished University Teaching Professor at the University of Minnesota. Bart Knijenburg, Assistant Professor at the Clemson University School of Computing, moderated the questions and answers session. Continue the discussion on ACM's Discourse Page.

Image of Joseph A. Konstan

ACM Case Studies

Written by leading domain experts for software engineers, ACM Case Studies provide an in-depth look at how software teams overcome specific challenges by implementing new technologies, adopting new practices, or a combination of both. Often through first-hand accounts, these pieces explore what the challenges were, the tools and techniques that were used to combat them, and the solution that was achieved.

ACM Distinguished Speakers Program

The Distinguished Speakers Program (DSP) is one of ACM's most valued outreach programs, providing universities, corporations, event and conference planners, and local ACM chapters with direct access to top technology leaders and innovators from nearly every sector of the computing industry. ACM will cover the cost of transportation for the speaker to travel to your event.