# May 5th 2016 Lesson Notes

## What are we going to learn today?

1. You are going to get back into the groove of thinking computationally

## What is your homework and when is it due ?

1. No homework today

## What is the actual plan?

1. We will check in with vacation
2. We will take another look at our chess program, reviewing line by line how it works
3. We will identify the tasks you need to complete

1. You will have one job this class. I need to see progress towards completing our move function. See below:
```def move(piece,destination):
# is piece valid?
# is destination valid (basic int 1 to 64)
# is the move valid for that piece?
# would the move place the king in check?
return
```

Your specific task is to write code that allows a human player to move a virtual chess piece.

## Standards we are covering today

• Identify the procedure appropriate to solving a problem. Level: 2
• Evaluate whether the order in which activities are undertaken will result in the required outcome. Level: 3
• Explain the role of sub-procedures in solving a problem. Level: 3
• Identify when decision-making is required in a specified situation. Level: 2
• Identify the decisions required for the solution to a specified problem. Level: 2
• Identify the condition associated with a given decision in a specified problem. Level: 2
• Explain the relationship between the decisions and conditions of a system. Level: 3
• Deduce logical rules for real-world situations. Level: 3
• Identify the inputs and outputs required in a solution. Level: 2
• Identify pre-planning in a suggested problem and solution. Level: 2
• Explain the need for pre-conditions when executing an algorithm. Level: 3
• Outline the pre- and post-conditions to a specified problem. Level: 2
• Identify exceptions that need to be considered in a specified problem solution. Level: 2
• Identify the parts of a solution that could be implemented concurrently. Level: 2
• Describe how concurrent processing can be used to solve a problem. Level: 2
• Evaluate the decision to use concurrent processing in solving a problem. Level: 3
• Identify examples of abstraction. Level: 2
• Explain why abstraction is required in the derivation of computational solutions for a specified situation. Level: 3
• Construct an abstraction from a specified situation. Level: 3
• Distinguish between a real-world entity and its abstraction. Level: 2
• Describe the characteristics of standard algorithms on linear arrays. Level: 2
• Outline the standard operations of collections. Level: 2
• Discuss an algorithm to solve a specific problem. Level: 3
• Analyse an algorithm presented as a flow chart. Level: 3
• Analyse an algorithm presented as pseudocode. Level: 3
• Construct pseudocode to represent an algorithm. Level: 3
• Suggest suitable algorithms to solve a specific problem. Level: 3

## As a computer scientist, you have

These are the characteristics every computer scientist works towards.

• Confidence in dealing with complexity
• Persistence in working with difficult problems
• Tolerance for ambiguity
• The ability to deal with open-ended problems
• The ability to communicate and work with others to achieve a common goal or solution

## Credits

Provide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature.

Provide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature.

Assess the implications and limitations; make judgments about the ideas, works, solutions or methods in relation to selected criteria.

Give a detailed account including reasons or causes.

Reach a conclusion from the information given.

Give a brief account.

anomalous or exceptional conditions requiring special processing – often changing the normal flow of program execution

Give a detailed account or picture of a situation, event, pattern or process.

Develop information in a diagrammatic or logical form.

Make clear the differences between two or more concepts or items.

Offer a considered and balanced review that includes a range of arguments, factors or hypotheses. Opinions or conclusions should be presented clearly and supported by appropriate evidence.

Break down in order to bring out the essential elements or structure. To identify parts and relationships, and to interpret information to reach conclusions.

Propose a solution, hypothesis or other possible answer.