Standards - Digital Literacy & Computer Science

DLCS18.1.2

Order events into a logical sequence or algorithm.

COS Examples

Examples: Unplugged coding activities, sequence of instruction.

DLCS18.2.2

Create an algorithm for other learners to follow.

COS Examples

Examples: Unplugged coding activities, illustrate sequence of a process such as baking a cake.

Unpacked Content

Knowledge

Students know:
  • the sequence of events for a tasks are important.
  • sequence of events may be read and interpreted by other people or machines.

Skills

Students are able to:
  • develop a sequence of events for a task that others can follow.

Understanding

Students understand that:
  • a task can be broken down into a sequence of smaller events or steps.

Vocabulary

  • sequence

DLCS18.3.3

Explain that different solutions exist for the same problem or sub-problem.

COS Examples

Example: Multiple paths exist to get home from school; one may be a shorter distance while one may encounter less traffic.

Unpacked Content

Knowledge

Students know:
  • different solutions exist for the same problem or sub-problem.
  • techniques to explain that different solutions exist for the same problem or sub-problem.

Skills

Students are able to:
  • identify different solutions for the same problem or sub-problem.
  • explain that these solutions exist.

Understanding

Students understand that:
  • multiple solutions exist for the same problem or sub-problem.

Vocabulary

  • solution
  • sub-problem
  • problem

DLCS18.3.4

Examine logical reasoning to predict outcomes of an algorithm.

Unpacked Content

Knowledge

Students know:
  • to apply logical reasoning when predicting outcomes of algorithms.
  • strategies to examine logical reasoning to predict outcomes of an algorithm.

Skills

Students are able to:
  • determine possible outcomes of an algortihm.
  • recognize that an algorithm can have multiple outcomes.

Understanding

Students understand that:
  • logical reasoning is necessary when predicting outcomes of an algorithm.
  • algorithms can have multiple outcomes.

Vocabulary

  • logical reasoning
  • outcome
  • algorithm

DLCS18.3.6

Describe the function of a flowchart.

Unpacked Content

Knowledge

Students know:
  • the purpose of a flowchart.
  • how flowcharts function.

Skills

Students are able to:
  • discuss the purpose and function of a flowchart.

Understanding

Students understand that:
  • a flowchart is a visual representation of an alogrithm, program, or process.

Vocabulary

  • flowchart
  • function

DLCS18.4.3

Show that different solutions exist for the same problem or sub-problem.

Unpacked Content

Knowledge

Students know:
  • strategies for developing different solutions for the same problem or sub-problem.
  • that different solutions exist for the same problem or sub-problem.

Skills

Students are able to:
  • show that different solutions exist for the same problem or sub-problem.

Understanding

Students understand that:
  • different solutions exist for the same problem or sub-problem.

Vocabulary

  • solution

DLCS18.4.4

Detect and debug logical errors in various basic algorithms.

COS Examples

Example: Trace the path of a set of directions to determine success or failure.

Unpacked Content

Knowledge

Students know:
  • strategies to detect logical errors in various basic algorithms.
  • strategies to debug or repair logical errors in various basic algorithms.

Skills

Students are able to:
  • detect and debug logical errors in various basic algorithms.

Understanding

Students understand:
  • how to detect and debug logical errors in various basic algorithms.
  • strategies to detect and debug logical errors in various basic algorithms.
  • Vocabulary

    • detect
    • debug
    • logical
    • errors
    • algorithms

    DLCS18.4.5

    Use flowcharts to create a plan or algorithm.

    Unpacked Content

    Knowledge

    Students know:
    • flowcharts are used in creating plan or algorithm.
    • strategies to use flowcharts to create a plan or algorithm.

    Skills

    Students are able to:
    • use flowcharts to create a plan or algorithm.
    • explain how flowcharts help in creating a plan or algorithm.

    Understanding

    Students understand that:
    • flowcharts are used in creating plan or algorithm.
    • flowcharts help to visualize a plan or algorithm.

    Vocabulary

    • flowchart
    • plan
    • algorithm

    DLCS18.4.6

    Define a simple pseudocode.

    Unpacked Content

    Knowledge

    Students know:
    • the characteristics of a simple pseudocode.
    • the purpose of pseudocode.

    Skills

    Students are able to:
    • define a simple psuedocode.
    • identify simple psuedocode.

    Understanding

    Students understand that:
    • a simple pseudocode is code for programs before it is actually converted into a specific programming language or simply a set of steps.

    Vocabulary

    • psuedocode

    DLCS18.5.2

    Create an algorithm to solve a problem while detecting and debugging logical errors within the algorithm.

    COS Examples

    Examples: Program the movement of a character, robot, or person through a maze. Define a variable that can be changed or updated.

    Unpacked Content

    Knowledge

    Students know:
    • an algorithm is a logical set of steps to solve a problem.
    • detecting and debugging logical errors within an algorithm will ensure the algorithm serves to solve a problem successfully.

    Skills

    Students are able to:
    • create an algorithm to solve a problem while detecting and debugging logical errors within the algorithm.

    Understanding

    Students understand that:
    • debugging an algorithm is searching for logical errors within the algorithm.
    • an algorithm is a set of steps to solve a problem.
    • how to create an algorithm to solve a problem while detecting and debugging logical errors within the algorithm.

    Vocabulary

    • algorithm
    • debug
    • detect
    • logical errors

    DLCS18.5.3

    Create an algorithm that is defined by simple pseudocode.

    Unpacked Content

    Knowledge

    Students know:
    • simple pseudocode resembles language used to communicate with computers.

    Skills

    Students are able to:
    • create an algorithm that is written in simple pseudocode.

    Understanding

    Students understand that:
    • an algorithm that is written in simple pseudocode is similar to an algorithm written using a programming language.

    Vocabulary

    • algorithm
    • pseudocode

    DLCS18.5.5

    Develop and recommend solutions to a given problem and explain the process to an audience.

    Unpacked Content

    Knowledge

    Students know:
    • steps of the problem-solving process.
    • many solutions exist to solve a problem.

    Skills

    Students are able to:
    • develop and recommend solutions to a given problem.
    • share their process with others.

    Understanding

    Students understand that:
    • problems can have multiple solutions.

    Vocabulary

    • process

    DLCS18.6.3

    Create pseudocode that uses conditionals.

    COS Examples

    Examples: Using if/then/else (If it is raining then bring an umbrella else get wet).

    DLCS18.6.4

    Differentiate between flowcharts and pseudocode.

    COS Examples

    Example: Flowcharts use shapes to indicate what to do at each step while pseudocode uses text.

    Unpacked Content

    Knowledge

    Students know:
    • flowcharts use symbols to express what is happening while in pseudocode is in basic text.

    Skills

    Students are able to:
    • explain the differences and similarities of flowcharts and pseudocode.

    Understanding

    Students understand that:
    • using flowcharts or pseudocode each has their own advantage when planning a program or process.

    Vocabulary

    • flowchart
    • pseudocode

    DLCS18.6.5

    Identify algorithms that make use of sequencing, selection or iteration.

    COS Examples

    Examples: Sequencing is doing steps in order (put on socks, put on shoes, tie laces); selection uses a Boolean condition to determine which of two parts of an algorithm are used (hair is dirty? True, wash hair; false, do not); iteration is the repetition of part of an algorithm until a condition is met (if you’re happy and you know it clap your hands, when you’re no longer happy you stop clapping).

    Unpacked Content

    Knowledge

    Students know:
    • differences between the three basic programming structures.

    Skills

    Students are able to:
    • explain the differences in sequencing, selection, and iteration.

    Understanding

    Students understand that:
    • differences exist in sequencing, selection, and iteration.

    Vocabulary

    algorithm sequence selection iteration

    DLCS18.7.2

    Create complex pseudocode using conditionals and Boolean statements.

    COS Examples

    Example: Automated vacuum pseudocode - drive forward until the unit encounters an obstacle; reverse 2 in.; rotate 30 degrees to the left, repeat.

    DLCS18.7.3

    Create algorithms that demonstrate sequencing, selection or iteration.

    COS Examples

    Examples: Debit card transactions are approved until the account balance is insufficient to fund the transaction = iteration, do until.

    DLCS18.7.4

    Design a complex algorithm that contains sequencing, selection or iteration.

    COS Examples

    Examples: Lunch line algorithm that contains parameters for bringing your lunch and multiple options available in the lunch line.

    DLCS18.8.2

    Explain how abstraction is used in a given function.

    COS Examples

    Example: Examine a set of block-based code and explain how abstraction was used.

    Unpacked Content

    Knowledge

    Students know:
    • abstraction is the process of removing unessential details (color, size, etc.
    • ).

    Skills

    Students are able to:
    • recognize when abstraction has been employed in a program or function.

    Understanding

    Students understand that:
    • because code can be so complex, it is often in a programmer's best interest to simplify tasks to include only essential elements.

    Vocabulary

    • function
    • abstraction

    DLCS18.8.3

    Create an algorithm using a programming language that includes the use of sequencing, selections, or iterations.

    COS Examples

    Example: Use a block-based or script programming language

    Step 1: Start

    Step 2: Declare variables a, b and c.

    Step 3: Read variables a, b and c.

    Step 4: If a>b

            If a>c

                Display a is the largest number.

            Else

                Display c is the largest number.

      Else

            If b>c

                Display b is the largest number.

            Else

                Display c is the greatest number.

    Step 5: Stop

    DLCS18.8.4

    Create a function to simplify a task.

    COS Examples

    Example: $3^8 = 3333333*3;$ =(Average) used in a spreadsheet to average a given list of grades.

    Unpacked Content

    Knowledge

    Students know:
    • that a function can be used to simplify a task.

    Skills

    Students are able to:
    • create and use functions to simplify tasks.

    Understanding

    Students understand that:
    • functions are useful tools used abundantly in algorithms.

    Vocabulary

    • function

    DLCS18.HS.3

    Differentiate between a generalized expression of an algorithm in pseudocode and its concrete implementation in a programming language.

    Unpacked Content

    Knowledge

    Students know:
    • that differences exist in pseudocode and a programming language.
    • that programming languages have certain requirements for language and syntax.
    a.
    • that some programs cannot return a result in a reasonable time frame, therefore approximations must be allowed in those cases.
    b.
    • how to identify sequential statements, conditional statements, and/or iterations in code.
    • the differences between sequential statements, conditional statements, and/or iterations.
    • trade-offs exist with using one control structure over another.
    c.
    • some decisions in a program will require the use of iterative loops, selection constructs, or recursion.
    d.
    • programs can be written to satisfy a number of needs such as performance, reusability, and ease of implementation.
    • that most times, algorithms will differ based on the need of the program; performance, reusability, or ease of implementation.
    e.
    • that programs can be written with specific priorities in mind.
    • that there are multiple correct ways to write a program.
    • that solutions are often chosen to meet the priority need of the program.

    Skills

    Students are able to:
    • distinguish between a generalized expression of an algorithm in pseudocode and its concrete implementation in a programming language.
    • point out similarities in vocabulary and syntax between pseudocode and an algorithm.
    • point out differences in vocabulary and syntax between pseudocode and an algorithm.
    a.
    • explain that some algorithms do not lead to exact solutions in a reasonable amount of time and thus approximations are acceptable.
    b.
    • identify sequential statements, conditional statements, and/or iterations in code.
    • identify tradeoffs associated with using one control structure over another.
    c.
    • distinguish when a problem solution requires decisions to be made among alternatives or when a solution needs to be iteratively processed to arrive at a result.
    d.
    • evaluate and select algorithms based on performance, reusability, and ease of implementation.
    e.
    • explain how more than one algorithm may solve the same problem and yet be characterized with different priorities.

    Understanding

    Students understand that:
    • similarities and differences exist in pseudocode and programming code.
    • some programming languages more closely resemble pseudocode than do other programming languages.
    a.
    • due to time or financial constraints, some programs may return an approximation of a solution.
    b.
    • both benefits and drawbacks exist when selecting one control structure over another in a code.
    c.
    • programs can use multiple methods to arrive at a solution.
    d.
    • there are times when a program needs to be selected for a specific purpose, such as performance, reusability, and/or ease of implementation.
    e.
    • multiple algorithms can solve the same problem.
    • algorithms can operate with a specific priority in mind, such as speed, simplicity, and/or safety.

    Vocabulary

    • pseudocode
    • programming language
    a.
    • approximated
    b.
    • iteration
    • conditional statements
    • control structures
    c.
    • iterative loop
    • selection constructs
    • recursion

    Aligned Learning Resources

    DLCS18.HS.3b

    Compare and contrast the difference between specific control structures such as sequential statements, conditional, iteration, and explain the benefits and drawbacks of choices made.

    COS Examples

    Examples: Tradeoffs involving implementation, readability, and program performance.

    DLCS18.HS.3c

    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.

    DLCS18.HS.3e

    Explain how more than one algorithm may solve the same problem and yet be characterized with different priorities.

    COS Examples

    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.

    DLCS18.HS.4

    Use and adapt classic algorithms to solve computational problems.

    COS Examples

    Examples: Sorting, searching, shortest path, and data compression.

    ALSDE LOGO