Please enable JavaScript to use CodeHS

Standards Mapping

for Tennessee Coding I


Standards in this Framework


Standards Mapped


Mapped to Course

Standard Lessons
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.
  1. 2.1 History of Computers
  2. 7.1 Intro to the Internet
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.
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.
  1. 9.4 Privacy & Security
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.
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
  1. 1.4 Functions in Karel
  2. 1.9 For Loops
  3. 1.10 If Statements
  4. 1.11 If/Else Statements
  5. 1.12 While Loops in Karel
  6. 1.13 Control Structures Example
  7. 1.16 Karel Challenges
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
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.
  1. 1.6 Top Down Design and Decomposition in Karel
  2. 1.16 Karel Challenges
  3. 13.10 Top Down Design
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
  1. 13.7 Naming Guidelines
  2. 13.11 Variables
  3. 13.12 User Input
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
  1. 1.6 Top Down Design and Decomposition in Karel
  2. 1.13 Control Structures Example
  3. 1.16 Karel Challenges
  4. 13.10 Top Down Design
  5. 13.19 Putting Together Control Structures
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
  1. 1.11 If/Else Statements
  2. 1.12 While Loops in Karel
  3. 1.13 Control Structures Example
  4. 1.16 Karel Challenges
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.
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.
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
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.
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