Please enable JavaScript to use CodeHS

Standards Framework

for DoDEA Programming

153

Standards in this Framework

Standard Description
1.1.1 Demonstrate knowledge of nonfunctional requirements (e.g., security, integrity response time, reliability, support and documentation).
1.1.2 Clarify specifications using questioning techniques.
1.1.3 Gather information using interviewing strategies.
1.1.4 Identify input and output requirements.
1.1.5 Identify system processing requirements.
1.1.6 Identify hardware, networking and software system functional requirements.
1.2.1 Gather information on problems from users.
1.2.2 Perform workflow analysis to determine user needs.
1.2.3 Analyze existing procedures.
1.2.4 Define business problem to be solved by the application.
1.3.1 Access needed information using company and manufacturers' references.
1.3.2 Review collected information with customer.
1.4.1 Demonstrate knowledge of how to use software methodologies to analyze a real-world problem.
1.4.2 Identify constraints.
1.4.3 Demonstrate knowledge of modeling and analyzing functional and data requirements.
1.5.1 Demonstrate knowledge of the use, structure and contents of a requirements specification document.
1.5.2 Define system and software requirements.
1.5.3 Define informal and formal specifications.
1.5.4 Resolve conflicting requirements.
1.5.5 Review and verify specifications with customer.
2.1.1 Identify resources and risks.
2.1.2 Demonstrate knowledge of cross-functional team structures and team members' roles.
2.2.1 Define scope of work to meet customer needs.
2.2.2 Demonstrate knowledge of the key functions and subsystems of the software product.
2.2.3 Demonstrate knowledge of software development process and issues.
2.2.4 Demonstrate knowledge of the system life-cycle approach.
2.3.1 Demonstrate knowledge of project budgeting, scheduling, and control issues related to software development.
2.3.2 Demonstrate knowledge of software development methodology.
2.3.3 Develop implementation plan.
3.1.1 Identify new technologies relevant to IT.
3.1.2 Assess the importance of new technologies to future developments.
3.1.3 Identify system processing requirements.
3.1.4 Identify data communication trends and major current issues.
3.2.1 Identify new and emerging classes of software and IT technologies.
3.2.2 Determine compatibility of hardware and software.
3.3.1 Identify the elements of the information processing cycle.
3.3.2 Identify required hardware.
3.4.1 Identify metrics for measurements.
3.4.2 Measure increases in productivity realized by the implementation of information systems.
3.4.3 Identify new and emerging drivers and inhibitors of information technology change.
4.1.1 Demonstrate knowledge of software development environment.
4.1.2 Use prototyping techniques.
4.1.3 Use appropriate configuration management tools.
4.1.4 Use appropriate issues tracking tools.
4.1.5 Demonstrate knowledge of reuse and components.
4.2.1 Use appropriate requirement analysis tools.
4.2.2 Use appropriate modeling and analysis tools.
4.2.3 Use requirement tracking tools.
4.2.4 Demonstrate knowledge of software reuse, design patterns, and components.
4.3.1 Develop programs using appropriate language.
4.3.2 Use appropriate development environment for the selected language.
4.3.3 Use user interface development tools.
5.1.1 Identify the use of program design tools in a software development process.
5.1.2 Identify roles of team members/customers in the software development process.
5.1.3 Identify current information life cycle models.
5.1.4 Create design specifications for a computer application.
5.1.5 Describe trade-offs involved in design choices.
5.1.6 Summarize the use of principles of effective information management, information organization, and information-retrieval skills when designing a software application.
5.1.7 Demonstrate knowledge of the information system life cycle.
5.1.8 Demonstrate knowledge of system analysis issues related to design, testing, implementation, and maintenance.
5.1.9 Record and analyze the process.
5.2.1 Explain the importance of performance, security, and resilience of networks.
5.2.2 Describe communication protocol for exchanging information via networks.
5.2.3 Describe properties of communication protocols.
5.2.4 Describe the choice of networks based on their physical or organizational purpose and how usage and security differ between these types of networks.
5.2.5 Identify the organizational scope of different types of networks.
5.2.6 Identify the hardware required for different types of networks.
6.1.1 Demonstrate knowledge of the hardware-software connections.
6.1.2 Demonstrate knowledge of the concepts of data and procedural representations.
6.1.3 Demonstrate knowledge of the basic principles for analyzing a programming language.
6.1.4 Demonstrate knowledge of the basics of structured, object-oriented language.
6.1.5 Demonstrate knowledge of how a programming language can support multitasking and exception-handling.
6.2.1 Demonstrate knowledge of how to resolve program implementation issues.
6.2.2 Demonstrate knowledge of software development issues.
6.2.3 Demonstrate knowledge of code analysis issues related to design, testing, implementation, and maintenance.
6.2.4 Demonstrate knowledge of how to design and implement programs in a top-down manner.
6.2.5 Demonstrate knowledge of how to translate algorithmic and modular designs to develop a program.
6.2.6 Demonstrate knowledge of structured/modular programming.
6.2.7 Demonstrate knowledge of how programming control structures are used to verify correctness.
6.2.8 Use code development tools (e.g., debugger, integrated development environments).
6.3.1 Describe the range of languages used in software development.
6.3.2 Demonstrate knowledge of current key programming languages and the environment in which they are used.
6.3.3 Translate data structure and program design into code in an appropriate language.
6.3.4 Demonstrate knowledge of key constructs and commands specific to a language.
6.4.1 Use appropriate programming language.
6.4.2 Analyze and prepare logic using program flowchart.
6.4.3 Analyze and prepare logic using at least one alternative to flowcharting, such as pseudo-coding.
6.4.4 Review design.
6.4.5 Compile and debug code.
6.4.6 Prepare code documentation.
6.4.7 Prepare unit testing plan.
6.4.8 Conduct unit testing and bug fixes.
6.5.1 Access needed information using company and manufacturers' references.
6.5.2 Divide design specifications into logical process blocks.
6.5.3 Identify parameters.
6.5.4 Follow specifications or drawings.
6.5.5 Record process utilizing flowcharts and/or step-by-step documentation.
6.5.6 Record data.
6.6.1 Identify unexpected results.
6.6.2 Review and revise code.
7.1.1 Access needed information using appropriate reference materials.
7.1.2 Define test procedures.
7.1.3 Analyze requirement and design specifications.
7.1.4 Develop test cases using requirements and design specification.
7.2.1 Perform integration testing.
7.2.2 Perform regression testing.
7.2.3 Help with user-acceptance test.
7.2.4 Validate user documentation.
7.2.5 Document test results.
7.2.6 Document errors discovered.
7.2.7 Perform defect tracking.
7.3.1 Record error correction procedures and actions.
7.3.2 Record results from error corrections and actions.
8.1.1 Demonstrate knowledge of Software QA process.
8.1.2 Demonstrate knowledge of the standards/requirements for Software QA.
8.1.3 Develop team relationships to support Software QA tasks.
8.2.1 Identify standards and issues related to I/O programming and design of I/O interfaces.
8.2.2 Use customer satisfaction in determining product characteristics.
8.2.3 Recognize the relationship between dependability, functionality, ease of use, etc.
8.2.4 Conduct code walkthrough and/or inspection.
8.2.5 Follow established procedures for testing, identifying problems and tracking resolutions.
9.1.1 Identify maintenance and support requirements.
9.1.2 Apply information and data analysis techniques.
9.1.3 Define scope of work to meet customer support needs.
9.2.1 Access needed information using appropriate reference materials.
9.2.2 Provide help to first line user-support personnel to answer user questions.
9.2.3 Provide troubleshooting for software.
9.2.4 Perform system-tuning functions.
9.2.5 Diagnose problems within system.
9.2.6 Perform technical functions required by customer/user.
9.2.7 Communicate and document technical support provided.
9.3.1 Utilize organizational procedures to communicate and document maintenance tasks.
9.3.2 Identify and analyze problem(s).
9.3.3 Analyze and propose solutions.
9.3.4 Implement solutions in code and documentation.
9.3.5 Release software and documentation updates according to procedures.
10.1.1 Identify appropriate database type based on customer requirements, availability of software and hardware resources, and distribution specifications, etc.
10.1.2 Apply information and data analysis specifications to create a database model using techniques such as Entity Relationship Diagramming.
10.1.3 Analyze and normalize the developed database model looking for and resolving potential problems.
10.1.4 Analyze the security needs for the database.
10.2.1 Create a database from model specifications using both program code and Graphic User Interface (GUI) processes when provided by the database software.
10.2.2 Verify that all possible security safeguards are in place.
10.2.3 Populate the database created with test data.
10.2.4 Perform database queries to analyze database functionality and diagnose problems.
10.2.5 Perform database troubleshooting and system-tuning functions.
10.2.6 Perform technical functions required by customer/user.
10.2.7 Communicate and document technical support provided.
10.2.8 Perform standard maintenance on the database.
10.2.9 Release software and documentation updates according to procedures.
10.3.1 Develop scripts and forms that permit access via websites to the database.
10.3.2 Identify and analyze potential security problems for web access to the database.
10.3.3 Propose security solutions to web-based security problems.
10.3.4 Implement solutions in code and documentation.