Please enable JavaScript to use CodeHS

California Software and Systems Development Pathway Framework


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