Basic Git Workflow Review
• Save and test your work often.
• If it tests ok, add then commit your work (git add & git commit
respectively)
• Need to work alone? Work on a branch (git branch & git checkout or git
checkout -b for short)
• Done or need to share your work? Send your work to remote (git push)
• Back to work? Get the latest code (git fetch), then include it (git merge or
git rebase)
• Need to make a whole project your own? Copy it (git clone), then add it
as remote and (git pull)
• Conditional Logic - In computer science, conditional statements,
conditional expressions and conditional constructs are
features of a programming language which perform different
computations or actions depending on whether a
programmer-specified boolean condition evaluates to true or
false. Apart from the case of branch predication, this is always
achieved by selectively altering the control flow based on some
condition.
• Computer Science depends heavily on Boolean Algebra for
conditional logic.
• "If this thing is true, then do this. If not, do that."
Guarding Expressions
• Guarding - In computer programming, a guard is a boolean expression that must
evaluate to true if the program execution is to continue in the branch in
question.Boolean expressions in conditional statements usually also fit this definition of
a guard although they are called conditions.
if( ! isset($something) ) $something = 'some value';
do_something_with($something);
$something = ( isset($something) ? $something : 'default' );
$something = do_something_important() or die('error message');
use_the_variable($something);
$something = do_something_important();
if ( $something == false ) die('error message');
Can I go to the Park?
• Boolean values can be combined with logical operators
• The order in which conditionals are evaluated matters
$permission_from_mom = $mom->request('go_to_park');$permission_from_dad =
$dad->request('go_to_park');
$permisson_from_both = (
$permission_from_mom and $permission_from_dad
);
$permisson_from_either = (
$permission_from_mom or $permission_from_dad
);
$permisson_from_one = (
$permission_from_mom xor $permission_from_dad
);
Nested Conditionals
• Conditionals can also be nested:
if ( empty($handedness) ) {
if ( test_lefty() and test_righty() )
$handedness = 'Ambidextrous';
else if ( test_lefty() )
$handedness = 'Left Handed';
else if ( test_righty() )
$handedness = 'Right Handed';
else $handedness = 'You Have No Hands!';
}
echo $handedness;
Nested More!
• Nested conditionals can be written multiple ways:
if ( empty($handedness) ) {
if ( test_lefty() ) {
if( test_righty() )
$handedness = 'Ambidextrous';
else $handedness = ' Left Handed';
}
else if ( test_righty() )
$handedness = 'Right Handed';
else $handedness = 'You Have No Hands!';
}
echo $handedness;
Diagramming Logic
• Partner up and find a project with some if-then-else logic to examine,
particularly nested logic
• Individually, sketch a simple workflow diagram of the logic and assemble a truth
table. Discuss any differences that you may have together when done
• Collaborate to make one workflow diagram and truth table to show and explain
to the class