Programming and Web Development Standards

Standards are critical areas of competency aligned to industry identified needs and Industry Recognized Credentials (IRCs) that will support student success in the field. Standards provide the structure that empowers the teacher to choose the best curriculum and instructional approaches to guide skill and knowledge development for students. The standards below are cross-walked with the Essential Industry Credentials.

Safety and Health

Standard 1: Safety and Health in a Computer Environment

Standard 1: Safety and Health in a Computer Environment

Students will be able to demonstrate safety and health in a computer environment, including the management of power sources, use of personal protective equipment, and workspace ergonomics.

OSHA 10- General Industry

Skills:

  1. Demonstrate safety and health in a computer environment.
  2. List, define and demonstrate workplace ergonomics that reduce discomfort and strains while increasing productivity and efficiency.
  3. Identify, list, and apply personal safety practices and precautions when working with electronic circuitry.
  4. Define the effects of Electrostatic Discharge (ESD) on Printed Circuit Boards (PCBs) and demonstrate the proper use of wearing an electrostatic wrist strap while handling circuit boards.
  5. Demonstrate safety practices and procedures associated with “Power strips,” “Surge/Spike Protectors,” or “Portable Outlets.”

Technical and Academic Standards

Standard 2: Software Development in the workplace and the community

Standard 2: Software Development in the workplace and the community

Students will be able to explain the role of software applications in the workplace and the community, including the impacts of software development on commerce and culture and its potential to advance equity.

Supplemental
CompTIA Project+, Domain 4.0

Skills:

  1. Explain the role of software applications in the workplace and community.
  2. Describe the history of the software industry, including the contributions of traditionally underrepresented groups.
  3. Research and classify professional certifications.
  4. Analyze the harmful and beneficial impacts that software applications have on society.
  5. Describe ways that software can make workplaces and communities more equitable.
  6. Research and identify the harmful and beneficial uses of social media in workplaces and communities.
  7. Research and identify uses of new and evolving technologies affecting the industry.
  8. Explain the impact of the digital divide on access to critical information.
  9. Research and identify the attributes of a digital footprint and its extent and impact on one’s reputation.
Standard 3: Fundamental Skills for IT Careers

Standard 3: Fundamental Skills for IT Careers

Students will be able to demonstrate mastery of concepts fundamental to careers in information technology, including basic hardware and networking technologies, common operating systems and general data management, and cybersecurity fundamentals.

Essential

CompTIA ITF+

Supplemental

  • CompTIA A+
  • CompTIA Network+
  • CompTIA Security+
  • CompTIA Project+

Skills:

  1. Research and identify Cybersecurity topics.
  2. Identify security principles, vulnerability, and threats in software.
  3. Identify security principles, vulnerability, and threats in network infrastructure.
  4. Analyze threat maps to identify cyberattack targets and origins.
  5. Explain what secure systems are from a Confidentiality, Integrity, availability (CIA triad) perspective.
  6. Research and identify components of access control such as Identification, authentication, and authorization.
  7. Identify and demonstrate the basics of cryptography and research and describe topics in cryptology, cryptography, and cryptanalysis.
  8. Research and describe penetration testing methods in the context of ethical hacking.
  9. Classify hardware components, their functions, and relationships and analyze different hardware components required for software applications for a specific use.
  10. Demonstrate programming a physical computing device.
  11. Explain concepts fundamental to networking.
  12. Describe the purpose of a network and identify and explain the functions of network hardware components.
  13. Explain cloud computing and its components. Explain how network topologies and protocols enable users, devices, and systems to communicate with each other.
  14. Research and identify server-side networking software components. (Firewalls, Domain Name System (DNS), Visual Private Network (VPN), Proxy Servers, Dynamic Host Configuration Protocol (DHCP), File Transfer Protocol (FTP), Data Center (DC), and Active Directory (AD)).
  15. Identify security risks associated with storing information on network devices.
  16. Describe the purpose of an operating system.
  17. Differentiate between desktop, server, and mobile device operating systems.
  18. Differentiate between a Command Line Interface and a Graphical User Interface.
  19. Demonstrate the ability to navigate a file system at the Command Line Interface.
  20. Identify the content associated with different file types and why different file types exist (e.g., formats for word processing, images, video, sound, and three-dimensional objects).
  21. Research and compare data compression algorithms and their applicability to different contexts.
  22. Research and identify data management concepts and explain the purpose of data management systems.
  23. Demonstrate the planning, designing and creation and use of a relational database.
  24. Research and describe the relationship between tables such as one-to-one and one-to-many.
  25. Explain the purpose of data analysis.
Standard 4: Software Development Life Cycle Fundamentals

Standard 4: Software Development Life Cycle Fundamentals

Students will be able to explain the life cycle of software development and identify and analyze different project management methodologies.

Skills:
  1. Explain the life cycle of software development.
  2. List, describe, and classify different methodologies of project development.
  3. Research and identify the major roles within a project team.
Standard 5: Concepts of Software Development

Standard 5: Concepts of Software Development

Students will be able to identify needs and design, document, publish, and maintain software that is aligned to user needs and functions to identified levels of performance.

Essential
Certiport ITS-HTML and CSS

Skills:

  1. Collaborate with potential users or customers to determine software requirements.
  2. Produce a prioritized list of features to meet the functional software requirements.
  3. Research and identify appropriate technologies to meet software requirements.
  4. Evaluate project resources, create a time and cost analysis.
  5. Define and structure a project scope of work.
  6. Demonstrate team collaboration during software development.
  7. Create a technical design document.
  8. Devise pseudocode algorithms for software to be developed.
  9. Implement the design as a coded solution.
  10. Identify various software testing techniques.
  11. Create and implement a test plan to ensure the software meets project requirements.
  12. Demonstrate coded solution to the customer, ensuring that all requirements have been met.
  13. Document lessons learned.
  14. Create user software documentation.
  15. Document how the end user should run the software.
  16. Describe the purpose of source code management.
  17. Demonstrate version control methods to maintain source code.
  18. Describe the purpose of release management.
  19. Describe the purpose of Continuous Integration and Continuous Deployment (CI/CD).
  20. Describe the purpose of the different development environments (development, staging, production).
  21. Publish the software solution.
Standard 6: Fundamentals of UX and UI Design

Standard 6: Fundamentals of UX and UI Design

Students will be able to evaluate user needs, system requirements and design options to produce a high-quality user experience model.

Essential
Certiport ITS-HTML and CSS, Domain 4, 5

Skills:
  1. Research and identify the reasons for making software accessible.
  2. Research and identify methods for implementing software accessibility.
  3. Document the user goals, needs, behaviors, and preferences.
  4. Develop personas, research demographics, and identify user types for software.
  5. Develop user experience models that demonstrate an understanding of different audiences.
  6. Research and define where the software will provide feedback on defaults, status, error, validation, and instructions to the user.
  7. Research and identify user research methodologies such as usability tests, user interviews, contextual inquiries, and user observations.
  8. Describe design considerations for different display form factors.
  9. Define different user interface modalities.
  10. Create a simplified interface layout for part of a software application using an appropriate graphic design tool.
  11. Build a storyboard of the user interface for a software application.
  12. Create a prototype from an interface layout and storyboard.
Standard 7: Fundamental Concepts of Programming

Standard 7: Fundamental Concepts of Programming

Students will be able to describe, demonstrate and evaluate fundamental elements and concepts of programming.

Essential

  • Certiport ITS-HTML and CSS
  • Certiport ITS-JavaScript
  1. Implement concepts fundamental to programming.
  2. Research and describe what programs are and how they run.
  3. Research and describe the four parts of computational thinking: Decomposition, Abstraction, Pattern Recognition, and Algorithm Design.
  4. Utilize Integrated Development Environments.
  5. Demonstrate the use of arithmetic operators.
  6. Demonstrate the use of a debugger.
  7. Demonstrate the use of logical operators.
  8. Demonstrate the use of relational operators.
  9. Demonstrate the use of compound conditions.
  10. Demonstrate the use of conditional branching operators.
  11. Demonstrate iterative loops.
  12. Demonstrate user defined functions, methods, or procedures with and without return values including parameter passing.
  13. Implement comments, formatting conventions, and naming conventions.
  14. Differentiate between different types of programming paradigms.
  15. Differentiate between compilers and interpreters and describe their role in the use of programming languages.
  16. Differentiate between and demonstrate the use of variable type declarations and casting in various programming languages.
  17. Demonstrate the creation and use of fixed length data structures such as arrays.
  18. Demonstrate the creation and use of variable length data structures such as lists.
  19. Demonstrate the use of functions, methods or procedures from system and shared libraries.
  20. Differentiate between and demonstrate the use of sorting algorithms.
  21. Differentiate between and demonstrate the use of searching algorithms.
  22. Demonstrate data validation and error handling.
  23. Demonstrate the use of file input and output.
  24. Describe concepts of memory management.
  25. Describe design patterns such as Model, View, Controller (MVC).
  26. Design a user defined class incorporating attributes, constructors, and methods.
  27. Develop constructors.
  28. Demonstrate object instantiation.
  29. Demonstrate concepts of composition using a modeling language such as Universal Modeling Language (UML).
  30. Demonstrate concepts of inheritance.
  31. Demonstrate concepts of encapsulation.
  32. Define or demonstrate concepts of polymorphism.
  33. Define or demonstrate concepts of overloading.
  34. Define or demonstrate concepts of overriding.
  35. Demonstrate the creation and use of accessor and mutator methods within a class.
Standard 8: Fundamental Concepts of Web Design and Development

Standard 8: Fundamental Concepts of Web Design and Development

Students will be able to describe, demonstrate and evaluate fundamental elements front-end and back-end development.

Essential

  • Certiport ITS-HTML and CSS
  • Certiport ITS-JavaScript
Skills:
  1. Research and identify components of the current Hyper Text Markup Language (HTML) standard for identification, processing, and presentation of information on web pages.
  2. Research and identify current front-end tool kits used in industry and their role in web development.
  3. Research and identify current web standards bodies.
  4. Demonstrate creation of a static web page using the current HTML standard.
  5. Demonstrate the use of the current Cascading Style Sheets (CSS) standard for style selectors and declarations including id, class, nested selectors, multiple selectors, and pseudo selectors.
  6. Demonstrate the manipulation of elements in a web page using the box model.
  7. Demonstrate various element positioning methods, such as the CSS position property.
  8. Research and identify current web page layout models.
  9. Demonstrate a responsive web page using a fluid design and media queries.
  10. Identify page loading efficiency best practices.
  11. Demonstrate implementing a web page using a front-end toolkit.
  12. Demonstrate creating and submitting a form.
  13. Demonstrate client-side form validation.
  14. Incorporate web media objects into a web page.
  15. Demonstrate how to manipulate the Document Object Model (DOM) with a scripting language.
  16. Demonstrate the use of scripting language events and event handlers.
  17. Demonstrate synchronous and asynchronous scripting language calls.
  18. Describe the use of cookies in web development including privacy and security concerns.
  19. Research and identify current trends in Search Engine Optimization (SEO) techniques.
  20. Research and identify the boundaries between and roles of front-end and back-end web development.
  21. Compare and contrast various Hypertext Transfer Protocol (HTTP) request methods.
  22. Demonstrate processing form data.
  23. Develop a website implementing a server-side scripting language.
  24. Demonstrate the ability to read from and write to a database server from a web page.
  25. Describe Create Read Update Delete (CRUD) actions and identify examples.
  26. Develop a website incorporating authentication and authorization.
  27. Compare and contrast Application Program Interface (APIs) that can be used for e-commerce.
  28. Compare and contrast website hosting options.
  29. Deploy a website to a web server.
  30. Develop a web application that utilizes data interchange requests such as Java Script Object Notation (JSON).
  31. Compare and contrast pre-built Content Management Systems (CMS).
  32. Demonstrate the use of a pre-built CMS.
  33. Compare and contrast various web back-end framework.
  34. Develop a website using a web framework.
Standard 9: Concepts of Project Management

Standard 9: Concepts of Project Management

Students will be able to define the six core phases of Agile project management methodology (concept, inception, iteration, release, maintenance and retirement) and to describe its four main values (individuals and interactions over processes and tools; working software over comprehensive documentation; customer collaboration over contract negotiation; and responding to change over following a plan), and demonstrate the role of continuous collaboration in the Agile lifecycle.

Supplemental

  • CompTIA A+
  • CompTIA Project+
Skills:
  1. Determine project objectives and compose a project vision statement.
  2. Identify stakeholders and explain their roles.
  3. Consider project priorities and estimate solution timeframes.
  4. Identify and document the required technical skills for the project.
  5. Identify and document the personnel and technology required for the project.

Employability Standards

Standard 10: Employability Skills

Standard 10: Employability Skills

Students will understand and demonstrate the roles of professional communication, critical thinking, problem solving, professionalism, teamwork and collaboration within the context of programming and web development.

Supplemental

CompTIA A+

CompTIA Project+

  1. Describe the impact of advances in software applications on equal access to information and economic opportunity
  2. Evaluate the positive and negative impacts of communication skills on the needs identification process.
  3. Evaluate the positive and negative impacts of communication skills on the project planning process, especially in the translation of customer needs into a development plan.
  4. Identify and describe factors that could cause undesired outcomes in a development project.
  5. Create a hypothetical project team with multiple roles.

Entrepreneurship Standards

Standard 11: Entrepreneurship

Standard 11: Entrepreneurship

Students will be able to describe opportunities for entrepreneurship and be able to evaluate the value proposition of business ownership in the programming and web development field.

  1. Describe the various roles and responsibilities that combine to make a software development company successful with an emphasis on the contribution of each role to the organization’s mission.
  2. State the value proposition of a software development professional in a concise manner.
  3. Compare and contrast self-employment and direct (W-2) employment as a software development professional.