DLCS18.HS.RS.E
Collaborative Research
Collaborative Research
Collaborative Research
Locate and curate information from digital sources to answer research questions.
Digital Tools
Produce, review, and revise authentic artifacts that include multimedia using appropriate digital tools.
Computational Thinker
Abstraction
Decompose problems into component parts, extract key information, and develop descriptive models to understand the levels of abstractions in complex systems.
Explain how computing systems are often integrated with other systems and embedded in ways that may not be apparent to the user.
Examples: Millions of lines of code control the subsystems within an automobile (e.g., antilock braking systems, lane detection, and self-parking).
Algorithms
Differentiate between a generalized expression of an algorithm in pseudocode and its concrete implementation in a programming language.
Explain that some algorithms do not lead to exact solutions in a reasonable amount of time and thus approximations are acceptable.
Compare and contrast the difference between specific control structures such as sequential statements, conditional, iteration, and explain the benefits and drawbacks of choices made.
Examples: Tradeoffs involving implementation, readability, and program performance.
Distinguish when a problem solution requires decisions to be made among alternatives, such as selection constructs, or when a solution needs to be iteratively processed to arrive at a result, such as iterative ‘loop’ constructs or recursion.
Evaluate and select algorithms based on performance, reusability, and ease of implementation.
Explain how more than one algorithm may solve the same problem and yet be characterized with different priorities.
Examples: All self-driving cars have a common goal of taking a passenger to a designation but may have different priorities such as safety, speed, or conservation; web search engines have their own algorithms for search with their own priorities.
Use and adapt classic algorithms to solve computational problems.
Examples: Sorting, searching, shortest path, and data compression.
Programming and Development
Design and iteratively develop computational artifacts for practical intent, personal expression, or to address a societal issue by using current events.
Decompose problems into smaller components through systematic analysis, using constructs such as procedures, modules, and/or objects, with parameters, and which return a result.
Compare and contrast fundamental data structures and their uses.
Examples: Strings, lists, arrays, stacks, queues.
Demonstrate code reuse by creating programming solutions using libraries and Application Programming Interfaces.
Demonstrate the ability to verify the correctness of a program.
Develop and use a series of test cases to verify that a program performs according to its design specifications.
Collaborate in a code review process to identify correctness, efficiency, scalability and readability of program code.
Resolve or debug errors encountered during testing using iterative design process.
Examples: Test for infinite loops, check for bad input, check edge-cases.
Citizen of a Digital Culture
Safety, Privacy, and Security
Model and demonstrate behaviors that are safe, legal, and ethical while living, learning, and working in an interconnected digital world.
Recognize user tracking methods and hazards.
Examples: Cookies, WiFi packet sniffing.
Understand how to apply techniques to mitigate effects of user tracking methods.
Understand the ramifications of end-user license agreements and terms of service associated with granting rights to personal data and media to other entities.
Explain the relationship between online privacy and personal security.
Examples: Convenience and accessibility, data mining, digital marketing, online wallets, theft of personal information.
Identify physical, legal, and ethical consequences of inappropriate digital behaviors.
Examples: Cyberbullying/harassment, inappropriate sexual communications.
Explain strategies to lessen the impact of negative digital behaviors and assess when to apply them.
Describe how sensitive data can be affected by malware and other attacks.