Please enable JavaScript to use CodeHS

Tennessee Mobile App Development Framework


Standard Description
1 Using news articles and instructional materials, investigate key milestones in the development of how mobile technologies came to be. Create and present a document and/or illustration depicting the timeline of development that led current major mobile platforms and describe the effects upcoming mobile platforms may have on mobile technologies. For example, students should include: a. Early Applications (calculators, basic arcade games, calendars) b. Wireless Application Protocol (WAP) and Wireless Markup Language c. Proprietary Mobile Platforms (Palm OS, Java Micro Edition, iPhone iOS, Android) d. Commercialization of Applications e. ‘Mobile First’ Approach Lessons
2 Investigate the different physical capabilities of a mobile device including: identifying different device sensors, built-in hardware, and the specifications of the camera. Create a chart that outlines the physical capabilities of a particular mobile device Lessons
3 Compare and contrast the benefits, features, Application Programming Interface (API’s), number of touch points, networking, energy savings, and typical applications of common modern mobile devices. Craft an argument to defend the choice of a certain key features, developing claim(s) and counterclaim(s) with specific textual evidence and reasoning Lessons
4 Explore career opportunities, trends, and requirements related to careers in mobile applications such as developer, architect, UI designer, interaction designer, product manager, and more. Produce a career pathways chart or other graphic detailing the aptitudes and training required (including personal aptitudes, postsecondary credentials, and licensing) for careers of interest. Lessons
5 Research educational opportunities to determine programs, degrees, and training availability to improve job prospects in mobile application development. Synthesize findings into a presentation, document, spreadsheet data/chart, or other format highlighting the type of opportunity, focus, time commitment, cost, and outcomes. Lessons
6 Investigate the size and scope of the mobile application market including the rising popularity of mobile apps, and implications for various industries (gaming, location based navigation services, factory automation, banking, online shopping). For instance, investigate the growth of mobile medical apps and discuss security and privacy concerns and reliance on the internet. Discuss the global market and availability and use of mobile applications in developing countries and emerging economies. Lessons
7 Differentiate between types of mobile applications, including native applications, web applications, and hybrid applications. Identify pros and cons of each type and instances where each type would be the best suited for a particular task. Lessons
8 Identify major categories of mobile applications: social networking, books, business and finance, lifestyle, travel, navigation, productivity and as a class, create, review, and revise a presentation explaining the different categories by citing resources and identifying examples of mobile applications. Lessons
9 Understand privacy needs in the development of mobile applications and explore the role security considerations play in development. Research examples of how security and privacy leaks in mobile applications have affected users and society. Students should evaluate a mobile application in terms of meeting privacy needs, legal and intellectual property requirements, and security considerations (such as preventing attacks from malicious hackers, building secure applications, preventing data leaks, secure mobile transactions for in-app purchases). Lessons
10 Define Device Application Programming Interface (DAP) and discuss advantages/disadvantages for utilizing API in mobile application development. List types of common DAPs available to developers (mapping/geolocation, device orientation, vibration, forms, media, etc.) and provide an example of an application that utilizes each type. Lessons
11 Explore programming languages used in development of mobile applications, including Objective-C, Swift, C#, Java, Ruby, and JavaScript. Demonstrate an understanding why apps use different languages for development and discuss cross-platform app design. Lessons
12 Identify the most commonly used developer tools and platforms. Communicate this information and engage each other effectively using appropriate wiki’s and blogs to support individual learning and contribute to the learning of others. Lessons
13 Describe elements of mobile application design which includes designing for multiple devices, screen sizes, browsers, and operating systems. Discuss how developers design applications for the best user experience. Lessons
14 Identify and be able to apply the principles of user interface design, including: • Why designing applications that are intuitive and user-friendly is important • How design can make common tasks easy • How to design applications for users with disabilities • How to handle user errors and provide feedback Lessons
15 Apply user interface design criteria, such as navigating the app, user input, gestures, orientation, communication (alerts, confirmations, and feedback), first impression of the polish of the design, launch time, to critique common user interfaces in mobile applications. Discuss how the design can motivate or demotivate a user. Compare and contrast various applications based on usability. Lessons
16 Demonstrate an understanding of the mobile application life cycle and the iterative nature of a lifecycle. Understand and use steps for designing a good software product. Lessons
17 Develop an idea into a project plan then write pseudocode and construct a flowchart for a process before starting to develop the program code. Lessons
18 Develop a mobile application and write original program code using basic Objectoriented programming (OOP) concepts including: a. Variables b. Methods c. Control structures d. Data structures e. User input Lessons
19 When writing program code, demonstrate an ability to evaluate code, identify errors, and troubleshoot bugs. Lessons
20 Create a mobile application that incorporates the use of phone controls and a custom control. The application should display content, incorporate notifications, and use tasks to enhance functionality. For example, create a basic time management app. Lessons
21 Utilizing the application developed in the previous standard (or another), enhance the application by incorporating user interface design standards and guidelines, including optimizing the layout, designing screen orientation options, colors, transparency. Lessons
22 Integrate images and media in the application developed in the previous standards. Students may create appropriate art, develop audio, and create applications animations or utilize pre-existing media. Lessons
23 Demonstrate an understanding for how to deploy a mobile application to the marketplace, including marketplace submission rules and creating the deployment package. Advanced students might deploy an application. Lessons
24 As a team during an extended project, develop a platform-specific mobile application that conforms to acceptable coding standards, including organization and comments and contains appropriate graphics, text, audio, and animations. The team should utilize project management techniques to develop a plan with considerations for cost and time. Additionally, the team should create a design document that details the application, the problem it solves, and its core features. Lessons