| Software and Systems Development Pathway | ||||||||||||||||||||||
| C1.0 Identify and apply the systems development process. | ||||||||||||||||||||||
| 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.0 Define and analyze systems and software requirements. | ||||||||||||||||||||||
| 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.0 Create effective interfaces between humans and technology | ||||||||||||||||||||||
| 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.0 Develop software using programming languages. | ||||||||||||||||||||||
| 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.0 Test, debug, and improve software development work. | ||||||||||||||||||||||
| 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.0 Integrate a variety of media into development projects. | ||||||||||||||||||||||
| 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.0 Develop Web and online projects. | ||||||||||||||||||||||
| 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.0 Develop databases. | ||||||||||||||||||||||
| 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.0 Develop software for a variety of devices, including robotics. | ||||||||||||||||||||||
| 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.0 Develop intelligent computing. | ||||||||||||||||||||||
| 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. | ||||||||||||||||||||||