Please enable JavaScript to use CodeHS

Standards Framework

for Tennessee Mobile App Development


Standards in this 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
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
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
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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
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.
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.
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.
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
19 When writing program code, demonstrate an ability to evaluate code, identify errors, and troubleshoot bugs.
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.
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.
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.
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.
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.