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.
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.
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.
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.
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.
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.
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.