# CTE Resource Center - Verso - Programming, Advanced Task/Competency List

CTE Resource Center - Verso

Virginia’s CTE Resource Center

2019/2020 Competency-Based Task/Competency List for Programming, Advanced (6641/36 weeks)

Tasks/competencies bordered in blue are considered optional when marked as such; they and/or additional tasks/competencies may be taught at the discretion of the school division. All other tasks are considered essential statewide and are required of all students.

Expand all

Ajax loader

Demonstrating Personal Qualities and Abilities

  1. Demonstrate creativity and innovation.
  2. Demonstrate critical thinking and problem solving.
  3. Demonstrate initiative and self-direction.
  4. Demonstrate integrity.
  5. Demonstrate work ethic.

Demonstrating Interpersonal Skills

  1. Demonstrate conflict-resolution skills.
  2. Demonstrate listening and speaking skills.
  3. Demonstrate respect for diversity.
  4. Demonstrate customer service skills.
  5. Collaborate with team members.

Demonstrating Professional Competencies

  1. Demonstrate big-picture thinking.
  2. Demonstrate career- and life-management skills.
  3. Demonstrate continuous learning and adaptability.
  4. Manage time and resources.
  5. Demonstrate information-literacy skills.
  6. Demonstrate an understanding of information security.
  7. Maintain working knowledge of current information-technology (IT) systems.
  8. Demonstrate proficiency with technologies, tools, and machines common to a specific occupation.
  9. Apply mathematical skills to job-specific tasks.
  10. Demonstrate professionalism.
  11. Demonstrate reading and writing skills.
  12. Demonstrate workplace safety.

Examining All Aspects of an Industry

  1. Examine aspects of planning within an industry/organization.
  2. Examine aspects of management within an industry/organization.
  3. Examine aspects of financial responsibility within an industry/organization.
  4. Examine technical and production skills required of workers within an industry/organization.
  5. Examine principles of technology that underlie an industry/organization.
  6. Examine labor issues related to an industry/organization.
  7. Examine community issues related to an industry/organization.
  8. Examine health, safety, and environmental issues related to an industry/organization.

Addressing Elements of Student Life

  1. Identify the purposes and goals of the student organization.
  2. Explain the benefits and responsibilities of membership in the student organization as a student and in professional/civic organizations as an adult.
  3. Demonstrate leadership skills through participation in student organization activities, such as meetings, programs, and projects.
  4. Identify Internet safety issues and procedures for complying with acceptable use standards.

Exploring Work-Based Learning

  1. Identify the types of work-based learning (WBL) opportunities.
  2. Reflect on lessons learned during the WBL experience.
  3. Explore career opportunities related to the WBL experience.
  4. Participate in a WBL experience, when appropriate.

Developing Object-Oriented Programming (OOP)

  1. Explain the reasoning behind the steps in the software development life cycle (SDLC).
  2. Describe object-oriented programming (OOP) and related concepts.
  3. Identify potential objects, attributes, and methods within a problem description.
  4. Design attributes (properties) and methods of each class within a problem description.
  5. Create a program with user-defined classes.
  6. Describe the concept of reusability.
  7. Identify reusable resources that will help solve a problem.
  8. Import code from existing sources.
  9. Describe the concepts of overloading and overriding methods in an object-oriented language.
  10. Code a program that uses looping structures, conditional structures, and sequential control structures.
  11. Analyze abstract data structures.
  12. Implement an abstract data structure in a high-level language, including sorting and searching.
  13. Code a program that uses error-handling and input-validation procedures.
  14. Code a program to interfaces, relying on abstraction and polymorphism.
  15. Create a test suite that will verify proper operation of a class or group of related classes.
  16. Perform a peer review and test of an application.

Developing Database Applications

  1. Identify relational database terminology.
  2. Identify database model types.
  3. Describe the three-layer/tier model for database applications.
  4. Design a graphical user interface (GUI) for a database application.
  5. Write code to integrate an existing database into a program application.
  6. Write code to manage a database.
  7. Identify the data object model for the program language.
  8. Bind database fields to the interface elements (controls).
  9. Code sort and search routines.

Developing Interactive Multimedia Applications

  1. Integrate multimedia into applications.
  2. Integrate sound effects and/or background music into applications.
  3. Identify programming languages and game engines used to create game applications.
  4. Write a design document for a game.
  5. Code a 2-D game.
  6. Create a multiplayer game.
  7. Create an animated character, using a graphic or sprite editor.
  8. Write code to track lives and/or energy in a game application.
  9. Code behaviors of an object within the context of a game.
  10. Write code to track player score(s).
  11. Code a 3-D game.

Developing Mobile Applications

  1. Determine the programming languages used to create mobile applications.
  2. Design a graphical user interface (GUI) for a mobile application.
  3. Code an application for a smart device or emulator.
  4. Describe the process of application deployment.

Developing Web Applications

  1. Identify programming languages used to create Web applications.
  2. Describe the Web application publishing process.
  3. Design a graphical user interface (GUI) for a Web application.
  4. Code a Web application (e.g., shopping cart).
  5. Develop a client-side application.
  6. Develop a server-side application.
  7. Design a Web application with security features.

Preparing for Industry Certification

  1. Describe the process and requirements for obtaining industry certifications related to the Programming, Advanced course.
  2. Identify testing skills/strategies for a certification examination.
  3. Demonstrate ability to successfully complete selected practice examinations (e.g., practice questions similar to those on certification exams).
  4. Successfully complete an industry certification examination representative of skills learned in this course (e.g., MCP, IC3, NOCTI).

Developing Employability Skills

  1. Investigate continuing education pathways and careers in the information technology industry.
  2. Create a technical résumé.
  3. Update professional portfolio.
  4. Deliver an oral presentation of programming projects.