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. |