A Hands-On Cross-Platform Mobile Programming Approach to Teaching OOP Concepts and Design Patterns | IEEE Conference Publication | IEEE Xplore