Please enable JavaScript to use CodeHS

Standards Framework

for California Software and Systems Development Pathway


Standards in this Framework

Standard Description
C1.1 Identify the phases of the systems development life cycle, including analysis, design, programming, testing, implementation, maintenance, and improvement.
C1.2 Identify and describe models of systems development, systems development life cycle (SDLC), and agile computing.
C1.3 Identify and describe how specifications and requirements are developed for new and existing software applications.
C1.4 Work as a member of, and within the scope and boundaries of, a development project team.
C1.5 Track development project milestones using the concept of versions
C1.6 Diagram processes using flowcharts and the Unified Modeling Language.
C2.1 Describe the major purposes and benefits of development, including automation, improving productivity, modeling and analysis, and entertainment.
C2.2 Recognize and prevent unintended consequences of development work: programming errors, security issues, health and environmental risks, and privacy concerns.
C2.3 Develop strategies that target the specific needs and desires of the customer.
C2.4 Analyze customers’ needs for development.
C2.5 Determine and document the requirements and alternative solutions to fulfill the customers’ needs.
C3.1 Describe and apply the basic process of input, processing, and output.
C3.2 Design effective and intuitive interfaces using knowledge of cognitive, physical, and social interactions
C3.3 Support methods of accessibility for all potential users, including users with disabilities and non-English-speaking users.
C4.1 Identify and describe the abstraction level of programming languages from low-level, hardware-based languages to high-level, interpreted, Web-based languages.
C4.2 Describe the interaction and integration of programming languages and protocols such as how client-side programming can work with server-side programming to use a query language to access a database.
C4.3 Identify and use different authoring tools and integrated development environments (IDEs).
C4.4 Identify and apply data types and encoding.
C4.5 Demonstrate awareness of various programming paradigms, including procedural, object oriented, event-driven, and multithreaded programing.
C4.6 Use proper programming language syntax.
C4.7 Use various data structures, arrays, objects, files, and databases.
C4.8 Use object oriented programming concepts, properties, methods, and inheritance.
C4.9 Create programs using control structures, procedures, functions, parameters, variables, error recovery, and recursion.
C4.10 Create and know the comparative advantages of various queue, sorting, and searching algorithms.
C4.11 Document development work for various audiences, such as comments for other programmers, and manuals for users.
C5.1 Identify the characteristics of reliable, effective, and efficient products.
C5.2 Describe the ways in which specification changes and technological advances can require the modification of programs.
C5.3 Use strategies to optimize code for improved performance.
C5.4 Test software and projects.
C5.5 Evaluate results against initial requirements.
C5.6 Debug software as part of the quality assurance process.
C6.1 Identify the basic design elements necessary to produce effective print, video, audio, and interactive media.
C6.2 Describe the various encoding methods of media and trade-offs: vector graphics vs. bitmaps, and bit depth.
C6.3 Use media design and editing software: keyframe animation, drawing software, image editors, and three-dimensional design.
C6.4 Develop a presentation or other multimedia project: video, game, or interactive Web sites, from storyboard to production.
C6.5 Analyze the use of media to determine the appropriate file format and level of compression.
C6.6 Integrate media into a full project using appropriate tools.
C6.7 Create and/or capture professional-quality media, images, documents, audio, and video clips.
C7.1 Identify the hardware (server) and software required for Web hosting and other services.
C7.2 Describe the full process of online content delivery, registering domain names, setting up hosting, and setting up e-mail addresses.
C7.3 Attract Web-site visitors through search engine optimization using various strategies like keywords and meta-tags.
C7.4 Enable e-commerce capabilities to sell products, create a shopping cart, and handle credit card transactions.
C7.5 Create an online project, Web-based business, and e-portfolio.
C7.6 Optimize fast delivery and retrieval of online content such as Web pages.
C8.1 Describe the critical function of databases in modern organizations.
C8.2 Identify and use the basic structures of databases, fields, records, tables, and views.
C8.3 Identify and explain the types of relationships between tables (one-to-one, one-to-many, many-to-many) and use methods to establish these relationships, including primary keys, foreign keys, and indexes.
C8.4 Use data modeling techniques to create databases based upon business needs.
C8.5 Use queries to extract and manipulate data (select queries, action queries).
C8.6 Develop databases that are properly normalized using appropriate schemas.
C8.7 Export and import data to and from other applications and a database recognizing the limitations and challenges inherent in the process.
C8.8 Analyze and display data to assist with decision making using methods like cross tabulations, graphs, and charts.
C9.1 Demonstrate awareness of the applications of device development work, including personalized computing, robotics, and smart appliances.
C9.2 Install equipment, assemble hardware, and perform tests using appropriate tools and technology.
C9.3 Use hardware to gain input, process information, and take action.
C9.4 Apply the concepts of embedded programming, including digital logic, machine-level representation of data, and memory-system organization.
C9.5 Program a micro-controller for a device or robot.
C10.1 Describe models of intelligent behavior and what distinguishes humans from machines.
C10.2 Describe the major areas of intelligent computing, including perception, proximity, processing, and control.
C10.3 Know artificial intelligence methods such as neural networks, Bayesian inferences, fuzzy logic, and finite state machines.
C10.4 Implement artificial intelligent behavior through various methods: mathematical modeling, reinforcement learning, and probabilistic analysis.