Please enable JavaScript to use CodeHS

Tennessee Computer Science Foundations Standards Framework

36 Standards in this Framework


Standard Description
1 Accurately read, interpret, and demonstrate adherence to safety rules, including (1) rules published by the National Science Teachers Association (NSTA), (2) rules pertaining to electrical safety, (3) Internet safety, (4) Occupational Safety and Health Administration (OSHA) guidelines, and (5) state and national code requirements. Be able to distinguish between rules and explain why certain rules apply.
2 Identify and explain the intended use of safety equipment available in the classroom. For example, demonstrate how to properly inspect, use, and maintain safe operating procedures with tools and equipment.
3 Demonstrate understanding of electrical circuits and devices, and relate to the physical laws (such as Ohm’s Law and power laws) that govern behaviors of electrical circuits and devices. Accurately apply these physical laws to solve problems. For example, calculate the resistance of a DC circuit with a given DC voltage and current.
4 Assemble the required connections of electronic test equipment to properly test the operation of basic electronic circuit behavior and performance, using equipment such as a digital multimeter. For example, demonstrate the proper use of a digital multimeter by measuring resistance of a circuit in a typical computer system; compare this finding by calculating the resistance given the voltage and current.
5 Distinguish between the binary and hexadecimal counting systems. Using appropriate units, provide examples of each system and identify specific instances when IT professionals rely on them.
6 Explain the functions of gates in logic circuits (e.g., AND, OR, NOT). For example, construct a truth table for the seatbelt warning light in an automobile.
7 Research various occupations in information technology industries, such as programmers, web designers, webmasters, networking administrators, computer systems administrators, telecommunications line installers, and informational security analysts. Compose an informative table or chart that includes the following: work activities typically performed, tools and technology used, nature of work environment, and the knowledge and skills needed for success.
8 Explore various professional societies related to information technology and identify the services and benefits provided by each member. Create a table that lists their purposes, benefits to membership, and any certifications affiliated with the organization. For example, investigate the Institute for Electrical and Electronics Engineers (IEEE), Computing Technology Industry Association (CompTIA), and the Association for Computing Machinery (ACM).
9 Drawing on multiple sources (i.e., internet, textbooks, videos, and journals), research the history of the Internet. Create a timeline or infographic, illustrating the Internet’s historical evolution from its inception to the present time. Discuss the needs that led to the creation of the Internet; discuss both the benefits and disadvantages of the Internet to society, as well as potential implications for the future. Provide examples drawn from the research to support claims.
10 Drawing on multiple sources (i.e., internet, textbooks, videos, and journals), research the history and development of operating systems (e.g., Microsoft Windows, Linux, UNIX). Create a presentation, illustrating their historical evolution, from their inceptions to the present, citing information found in research. Compare and contrast the general capabilities of a variety of operating systems, and explain how their designs and functionalities have improved over time.
11 Demonstrate an understanding of basic web terminology and concepts. Practice explaining these terminologies and concepts by creating methods to help students learn and remember the information. For example, students should be able to explain the purpose of terminology such as server, domain name system (DNS) , internet service provider (ISP), hardware and software connective devices, cloud computing, remote access protocols, map protocols, content management systems (CMS), cascading style sheets (CSS), and social networking terms.
12 Demonstrate a basic understanding of computer hardware components. Identify these components using pictures or actual models and briefly explain the function of each. Components should include, but are not limited to: a. Hardware used for input and output b. Hardware inside the computer case c. Motherboard d. Processor and the chipset e. Storage devices (e.g., primary, secondary) f. Expansion cards g. Electrical system
13 Demonstrate a basic understanding of computer networking. For example, explain the types of networks and what a client-server environment is.
14 Identify, explain, and demonstrate the use of common keyboard shortcuts. Create a quick reference guide that would be user-friendly for a novice web designer. For example, students may create a multiple column table showing keyboard shortcuts for navigation, text editing, and text formatting. The table would identify which shortcuts are applicable to using Windows versus Mac OS.
15 Synthesize research of historical and significant milestones that influenced the evolution of cloud computing. Create an annotated timeline or visual graphic illustrating significant time periods and major impacts of technology trends that influenced the development of cloud computing. Use academic research and news media citing specific textual evidence from research.
16 Identify, describe, and effectively summarize cloud technology roles including: cloud computing customer, cloud service provider and cloud service partner. Create a written report or visual depiction outlining the characteristics of each.
17 Research the features and requirements of the four main deployment models for cloud technology: public, private, community, and hybrid. Create a graphic illustration showing the roles of each and describe their differences.
18 Consult a variety of sources to describe how virtualization, storage, networking and databases in cloud technologies are used. Sources may include textbooks, manuals, websites, video tutorials, and more. Create a visual display with accompanying text comparing these methods.
19 Explore the onset of the Internet of Things (IoT) and explain how it is enabled by sensors, actuators, communication devices and computers that exchange and process data and can interface with users in a most instinctual way. Using a specific example, summarize in a graphic illustration or narrative how the IoT combines information, automation, computation, software, sensing, and networking to make traditional processes more efficient.
20 Consult internet forums, textbooks, industry journals and other instructional materials to research the importance of developing and implementing databases, data collection systems, data analytics and other strategies that optimize statistical efficiency and quality. Write a brief paper that discusses the importance of these services in business today. Provide specific examples to support the claims.
21 There are different versions of the web design and development process. For example, most versions of the web design and development process involve project definition, site structure, visual design, site development, testing, refining, and launch. Using various resources, research, identify, and explain the steps involved in the process. As a class, develop an agreed-upon framework for applying the logical thought process to web design projects in the form of a flowchart or logic model, justifying the reasoning behind each step. Explain why it is an iterative process and always involves refinement.
22 Research, identify, and describe the specific activities involved at each step of the troubleshooting process, including by not limited to:1) gather information from the user or operator and back up data, 2) verify the problem exists, 3) isolate the cause of the problem and generate alternative solutions, 4) plan a solution and resolve the problem, 5) verify that the problem was resolved and prevent a future occurrence, and 6) document findings, resolution, and preventative maintenance plan. Explain why it is important to document the process throughout.
23 Demonstrate an understanding of flowcharts and know what various symbols mean. Identify a problem that a programmer would solve using the logical thinking process, and create a flowchart that would guide the code development. For example, create a flowchart that incorporates at least three decisions, or paths, to solve a problem.
24 Explore how teams are formed to complete and manage web design and development projects. Using the information gained from research, identify and explain various roles and responsibilities for members of a web design and development team. Include why teams are more efficient than individuals in the web design and development process. Present the findings to classmates.
25 Synthesize common principles and templates for successful project management. Explain, using examples, why strong management skills are important in the web design and development process.
26 Research and identify the skills that are required to communicate effectively with a client. Develop a questionnaire that would be used to determine the needs of a client for a prospective web development project. Using the questionnaire, conduct mock client interviews with classmates and provide each other with constructive feedback to revise the questionnaire and process.
27 As a team, list primary rules to guide writing content that is appropriate for a web site publication. Apply these rules to a variety of web-based writing assignments throughout the course. For example, develop and maintain a blog throughout the course to practice appropriate writing techniques and style for web publication.
28 Given a specific client’s vision, create a simple web site using a content management system (CMS) such as WordPress. Follow the multistep process to download the software application of choice, and demonstrate how to upload and store files. Practice proofreading and critiquing other classmates’ sites, and provide constructive feedback on one another’s writing and layout design.
29 Drawing on multiple sources (i.e., internet, textbooks, videos, and journals), research the various social, legal, and ethical issues encountered by IT professionals. Using these findings, identify the roles and responsibilities one must consider while developing a prospective project or addressing an IT problem. For example, web developers and programmers must apply copyright laws and understand uses of open source software.
30 Using various sources (i.e., internet, textbooks, videos, and journals), research and identify reasons as to why data security should be a priority to technology professionals through demonstrating an understanding of information security fundamentals on Confidentiality, Availability, and Integrity.
31 Demonstrate an understanding of the various security breaches that can occur with the Internet. Prepare a text explaining enterprise-level security, the purpose of encryption, and the protocols that can be implemented to secure web sites. Evaluate personal privacy issues versus employers’ rights to regulate computing resources.
32 Identify various security practices for computer and network systems, such as how to control access to secured resources and computer resources. Give specific examples of methods that an administrator can use, like encryption techniques, basic input/output system (BIOS) features, and strategies for dealing with malware.
33 Understand and demonstrate the effective use of file and folder management techniques to maintain directory structure for a web site. Describe the most efficient methods for digital file management, including the use of site root and subfolders for assets (e.g., images, templates, CSS).
34 Explore and identify various languages, such as Python, HTML, PHP, C++, Visual Basic, Java, JavaScript, and C #. Explain how programmers use these languages to solve a variety of IT problems, furnishing examples of how they are applied.
35 Using various resources, research, identify, and explain the steps involved in the software development life cycle, including but not limited to: planning, designing, coding, testing, deployment, and maintenance. Explain why it is an iterative process and always involves refinement.
36 Demonstrate an understanding of how batch files function within a programming environment. Identify common commands to create code for batch files (e.g., title, echo, echo off, pause, CLS, ipconfig, and ping). For example, list various scenarios for using batch files to complete specific programming tasks. Create and execute batch file code to perform one of the tasks identified.