Please enable JavaScript to use CodeHS

Tennessee Coding I Framework

Standards

Standard Description
C10H14.1 Using news articles and instructional materials, investigate key milestones in the development of computers and logical devises. Create and present a document and/or illustration depicting the timeline of development that led to modern-day operating systems, programmable controllers, and widespread digital communications via the Internet and wireless networks, citing specific textual evidence. Lessons
C10H14.2 Compare and contrast the benefits, features, and typical applications of common modern programming languages and environments. Craft an argument to defend the choice of a certain language to solve a particular problem, developing claim(s) and counterclaim(s) with specific textual evidence and reasoning. Lessons
C10H14.3 Using news articles and text of legislation, analyze ethical programming practices, including but not limited to the issues of confidentiality, privacy, piracy, fraud and misuse, liability, copyright, open source software, trade secrets, and sabotage. For example, research and report on the effects of unethical programming practices on a business. Lessons
C10H14.4 Differentiate between system-level and application solutions, and identify an appropriate code-based strategy to solve a given problem. For example, given a file management problem, determine when a command-line script will be more efficient than a high-level program solution. Lessons
C10H14.5 Apply the system management tools present in a programming development environment to: Page 3 a. Select the most appropriate programming language for the task at hand b. Develop syntactically correct program code using current best practices and emerging classes of development techniques c. Use a compiler to interpret the source code and produce executable program code Lessons
C10H14.6 In the process of developing and implementing programming solutions, develop strategies that work within the constraints of major operating system fundamentals, such as: a. Security protocols and procedures for accessing files and folders b. File management syntax requirements, including but not limited to creating, naming, organizing, copying, moving, and deleting files c. File naming conventions, as they apply across multiple software applications and file types Lessons
C10H14.7 Write pseudocode and construct a flowchart for a process before starting to develop the program code. For example, code and flowchart a simple process that takes an integer and report whether it is odd or even. Lessons
C10H14.8 Organize and develop a plan to acquire and manage the data values for a process, including the following: a. Data types, such as string, numeric, character, integer, and date b. Program variable names c. Variables and constants d. Arrays (at least one- and two-dimensional), subscripts e. Input from files and user responses f. Output to files and reports Lessons
C10H14.9 Using a programming language specified by the instructor, convert the pseudocode for a selected process to program code, incorporating at least three of the following structures, the need for which will be dictated by the assigned problem(s) and process(es). The resulting code design can be event-driven, object-oriented, or procedural. a. Operations and functions (user-defined and/or library) b. Repetition (loops) c. Decision (if…else, case) d. Recursion Lessons
C10H14.10 Verify the correct operation of the resulting program code with several test cases: a. All valid values b. Error trapping of invalid values c. Error trapping of invalid program operation d. Troubleshooting/remedying program problems Lessons
C10H14.11 Compile the necessary documentation to understand the nature of a computer programming problem and the customer/client specifications for the request and summarize in an informational text. This will include evidence of the scope of the problem, Page 4 its attendant input and output information, the required system processing, and the software specifications involved. Lessons
C10H14.12 Analyze a given problem and develop a coherent strategy in the form of a project plan to meet the customer/client’s need. The plan will include, but will not be limited to, defining the project scope as addressed by the problem documentation, identifying software development and implementation issues, timeline and benchmarks for design, and addressing issues associated with software maintenance and life cycle. Lessons
C10H14.13 In the software development process, articulate the nature of the program designs by creating documentation that addresses topics including but not limited to: a. The procedural, object-oriented, event-driven, or other nature of the various portions of the resulting application b. The data structures used for inputs, outputs, and internal manipulations c. The algorithms and guiding formulas used d. Constraints on accurate operation and results e. Modular designs that enable portability f. Interface details that permit ready maintenance and upkeep Lessons
C10H14.14 Apply principles of quality assurance during application development to certify bug tracking, audit trails, testing results, and other quality considerations. Annotate each quality assurance task with evidence from best practices endorsed by industry or research. Lessons
C10H14.15 Document the security risks associated with new applications and evaluate the severity of the risk involved in each, including but not limited to: a. Identifying threats to information systems facilities, data communications systems, and other applications b. Adhering to federal and state legislation pertaining to computer crime, fraud, and abuse c. Providing means for preserving confidentiality and encryption of sensitive data d. Detailing steps to recover from routine errors or catastrophic failures, such as might be caused by a malicious computer virus Lessons