Introduction

Unit 2: Week 2: Software Applications (con’t) & Application Development

Unit 2: Week 2: Software Applications (con’t) & Application Development

Essential Questions

  • What’s the best software/application for the job?
  • How can I determine the best way to deliver software applications for different users and uses?
  • What can I do to make my programming efforts more efficient and effective?

Big Ideas

All software relies on programming techniques to operate successfully. There are many routine programming techniques that are used over and over to create an infinite number of software types with various uses. You don’t need to be a programming expert to understand how some applications work, and a basic understanding of how programs can be organized can help you in your work to troubleshoot and support software applications.

Connection to Student Lives

Many students are now introduced to programming and coding concepts at an early age. You or people you know may have been involved in classes or clubs that used block coding, programmable robots, or other coding environments. All of those experiences can help you better understand how programs are organized and operate.

Framing Problem

Students will use scripting tools to explore basic computer programming and generate simple code. The purpose is more to understand basic programming concepts and commands and how programs are organized, not creating a finished application.

Cornerstone Assessment

Students will use scripting tools to create a simple program illustrating key programming concepts from the unit. They will use rudimentary flowcharting or pseudocode to design their program prior to scripting.

DPI Standards

  • 2.03 Identify programming language categories
  • 2.04 Understand programming organizational techniques and interpret logic.
  • 2.05 Understand the purpose and use of programming concepts.

CompTIA Standards

  • 3.2 Explain the purpose and proper use of software
  • 3.3 Compare and contrast general application concepts and uses

Knowledge

  • Different types of productivity software and their uses
  • Different types of collaboration software and their uses
  • Different types of business software and their uses
  • Programming organizational techniques and logic including a program sequence, flow chart, and pseudocode
  • Programming language types, their advantages and disadvantages
  • Basic programming concepts (see vocabulary), including object-oriented programming
  • Examples of scripting languages
  • Methods of application architecture and delivery models

Skills

  • Describe the key features of different types of application and associated file formats.
  • Describe programming organizational techniques and logic.
  • Categorize types of programming languages and list the advantages and disadvantages of each type.
  • Describe some of the main features of application code and Object-Oriented Programming.
  • Describe the ways that an application can be deployed.

Vocabulary

  • Application delivery methods: - Locally installed (Network not required, Application exists locally, Files saved locally); Local network hosted (Network required, Internet access not required) Application delivery methods—Cloud hosted (Internet access required, Service required, Files saved in the cloud)
  • Bandwidth -
  • Business software (Database software, Project management software, Business-specific applications, Accounting software) -
  • Collaboration software (Email client, Conferencing software, Instant messaging software, Online workspace, Document sharing) -
  • Computer Aided Design (CAD) -
  • Containers (Arrays, Vectors) -
  • Cross-platform software (Compatibility concerns) -
  • Desktop Publishing (DTP) -
  • Email server -
  • Functions -
  • Graphic Design applications -
  • Identifiers (Variables, Constants) -
  • Latency -
  • Line of Business (LOB) functions -
  • Logic components (Branching, Looping) -
  • Objects and Object-Oriented Programming (OOP) (Properties, Attributes, Methods) -
  • Organizational techniques (Pseudocode concepts, Flow chart concepts, Sequence) -
  • Personal Information Manager (PIM) -
  • Productivity software (Word processing software, Spreadsheet software, Presentation software, Web browser, Visual diagramming software) -
  • Programming Languages: - Interpreted (Scripting languages, Scripted languages, Markup languages), Compiled programming languages, Query languages, Assembly language
  • Remote Desktop -
  • Screen sharing -
  • Single-platform software -
  • Telepresence -
  • Video conferencing or Video Teleconferencing -
  • Voice over Internet Protocol (VoIP) -
  • XML (eXtensible Markup Language) -

Supporting Vocabulary

  • Batch files
  • Code
  • Comments
  • Conditional statement (IF)
  • Functions
  • Interpreter
  • Machine code
  • Operators
  • Procedures
  • Program
  • Subroutines
  • User interface

Weekly Map

Monday

Whole-group re(orientation) to programming concepts

Introduce Lab 9: Using scripting tools (students work on lab as part of stations throughout the week)

Tuesday

Share problem results from students (software selection)

Independent or small group exploration of resources at stations or from additional resources

Progress check with individual students

Wednesday

Hands-on exploration with IT professionals that emphasize application delivery or programming concepts using scripting tools

Independent or small group exploration of resources at stations or from additional resources

Progress check with individual students

Thursday

Hands-on exploration with IT professionals that emphasize application delivery or programming concepts using scripting tools

Independent or small group exploration of resources at stations or from additional resources

Progress check with individual students

Friday

Complete Lab 9: Using scripting tools, and share student work products

If necessary, allow students to continue working independently on Units 2.1 and 2.2 during week 3 while addressing database concepts

Lesson Ideas

Note: Students may have unfinished station products from week one, but should be made aware that additional academic vocabulary and foundational concepts will be added in week two.

Students work independently or in pairs or teams to complete stations based on academic vocabulary and key concepts as presented in Units 2.2 and 2.3 in their textbook. Depending on the students’ familiarity and experience with coding concepts (perhaps being exposed to Code.org, Hour of Code, or other programs through previous classes or clubs), teachers may want to consider whether students can tackle the programming concepts independently in stations or may need more structured whole-group instruction.

In addition to adding stations for programming concepts, the teacher may want to introduce Lab 9: Using Scripting Tools from Unit 2.3. Students can work independently or in pairs to complete all four exercises in the lab throughout the week. The lab is fairly prescriptive, so those students with some programming experience may be encouraged to complete a more open-ended coding project. Students should use rudimentary flowcharting or pseudocode to draft the outcomes of their program prior to using the scripting language.

The students may continue to collaborate on a Frayer-type digital presentation that records and illustrates key vocabulary and concepts in the Units. As an alternative, students may generate different digital products based on the requirements of each station.

Technicians present and model hands-on activities that emphasize application delivery or programming concepts using scripting tools used in the school or district. Students practice the activities modeled by technicians, generating documentation that is used to support the might Help Desk throughout the semester.

Potential Resources

The Official CompTIA ITF+ Instructor’s Manual and Student Guide: Units 2.2 and 2.3

Frayer Diagram Template (slide deck, document, or other)

School/district software installation and configuration guidelines by user access level

ITProTV

Khan Academy

Technology Gee

Microsoft has more than 40 short videos on their Python for Beginners playlist on YouTube

Coding Chatbots on Code Monkey

Invent Your Own Computer Games with Python, 4th Edition. Free online book and source files. Book can also be purchased.

Python resources on beanz, including Sandboxes for different OS and devices, tutorials, and others