180 likes | 301 Views
Software Development for Mobile Devices. Kyle D. Lutes Assistant Professor kdlutes@tech.purdue.edu Computer Technology Department Knoy Hall of Technology Purdue University West Lafayette, IN 47907-1421 (765) 494-5125 www.tech.purdue.edu/cpt/facstaff/kdlutes. Purpose.
E N D
Software Developmentfor Mobile Devices Kyle D. Lutes Assistant Professor kdlutes@tech.purdue.edu Computer Technology Department Knoy Hall of Technology Purdue University West Lafayette, IN 47907-1421 (765) 494-5125 www.tech.purdue.edu/cpt/facstaff/kdlutes
Purpose • This is an advanced programming course that teaches students the skills necessary to develop applications for mobile computing devices (e.g. PDAs). Combining theory and practice, this course gives students hands-on experience with the technologies, tools and techniques used to develop mobile software solutions for business.
Purpose • Technologies used in this course • Microsoft Visual Studio .NET (VS.NET) • The .NET Compact Framework (.NETcf) • The Smart Device Extensions (SDE) for VS.NET • The C# Programming Language • Compaq iPaq PocketPC PDAs • 802.11a and 802.11b Wireless Networks
History • Our Department’s Mission • Course Conception • New Mobile Computing Lab
Course ScheduleUnit 1 – Introduction to Mobile Devices • Form Factors • Windows CE • Processors • Using PocketPC devices
Battery Life No Hard Drive User Input Options No Printing Expansion Options Social – Fashion Accessories Course ScheduleUnit 2 –Design Considerations • Instant On and Off • Processor Speed • Limited Memory (16 to 64 MB) • Small Screen (240 * 320) and Color Depth Differences Between a PC and a PocketPC Mobile Application Architectures
Course ScheduleUnit 3 – Development Tools • Overview of Alternatives • Overview of Tools Used in this Course • The .NET Framework • The C# Programming Language • Visual Studio .NET • The .NET Compact Framework and the Smart Device Extensions
Course ScheduleUnit 4 – C#Fundamentals • Project Files • Data Types, Decisions, and Loops • Arrays, Collections and Other Data Structures • Object-Oriented Programming • Threads • Exception Handling
Combo Boxes ListViews Tabbed Forms Soft Input Panel (SIP) Handling Events Course ScheduleUnit 5 – PocketPC UI Design & Development • Forms • Text Boxes • Check Boxes • Buttons • Menus
Course Schedule • Unit 6 – Unmanaged Code, pInvoke, and the WinCE API • Unit 7 – Graphics • Displaying Graphics from Files • Drawing and Saving Graphics
Course ScheduleUnit 8 – Data Persistence • Object Serialization • Database Connectivity • Disconnected Datasets and Synchronizing
Course Schedule • Unit 9 – Connectivity and Data Communications • Sockets over a Wireless Network • Infrared • Bluetooth • Cradle • Unit 10 –Web Services • Overview • Consuming • Unit 11 – Application Deployment and Distribution
PocketPC Phone Edition & SmartPhone Speech User Interfaces Accessing Pocket Outlook Data using POOM TabletPC Applications Game Programming Windows Terminal Services Globalization Creating Help Files for PocketPC Applications Course ScheduleOptional Units • Mobile Web Application Development using the Mobile Internet Toolkit • Multimedia • Digital Camera • Medical Applications • M-Commerce Applications • GPS and Mapping • Barcode Applications • Magnetic Stripe Applications
Prerequisite Skills and Knowledge Ideal Programming Object-Oriented Programming Using PDAs .NET Framework C# Visual Studio .NET Realistic Strong computer programming experience Technology New Lab New programming language - C# New toolkit – .NETcf and SDE (still in beta!) Information and Examples Breadth of Possibilities Challenges
Limit enrollment to a small number of experienced students Focus on tasks distinctive to PocketPC rather than on .NET and C# Grade programming assignments subjectively Library of potential reference books Develop an online reference list Require a lot of student participation Require a semester project to explore optional units and encourage innovation Format the course website for viewing on the PocketPC Teaching Strategy
Questions? Kyle D. Lutes Assistant Professor kdlutes@tech.purdue.edu Computer Technology Department Knoy Hall of Technology Purdue University West Lafayette, IN 47907-1421 (765) 494-5125 www.tech.purdue.edu/cpt/facstaff/kdlutes