Upcoming SlideShare
×

# DIG1108 Lesson 4

208 views
163 views

Published on

Published in: Technology, Spiritual
0 Likes
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
• Be the first to comment

• Be the first to like this

Views
Total views
208
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
1
0
Likes
0
Embeds 0
No embeds

No notes for slide

### DIG1108 Lesson 4

1. 1. INTRO TO SERVER SIDE PROGRAMMING Week Four Friday, September 20, 13
2. 2. 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) Friday, September 20, 13
3. 3. CONDITIONAL LOGIC If This, Then That Friday, September 20, 13
4. 4. Friday, September 20, 13
5. 5. 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-speciﬁed boolean condition evaluates to true or false. Apart from the case of branch predication, this is always achieved by selectively altering the control ﬂow 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." Friday, September 20, 13
6. 6. 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 ﬁt this deﬁnition 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'); Friday, September 20, 13
7. 7. 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 ); Friday, September 20, 13
8. 8. Workflow Diagrams & Truth Tables Friday, September 20, 13
9. 9. 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; Friday, September 20, 13
10. 10. 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; Friday, September 20, 13
11. 11. ASSIGNMENT 4.1 Diagramming Conditional Logic Friday, September 20, 13
12. 12. Diagramming Logic Partner up and ﬁnd a project with some if-then-else logic to examine, particularly nested logic Individually, sketch a simple workﬂow diagram of the logic and assemble a truth table. Discuss any differences that you may have together when done Collaborate to make one workﬂow diagram and truth table to show and explain to the class Friday, September 20, 13
13. 13. Log in to Cloud9 and pull up homework-5.1.md in your workspace (you should have this already) Find the WordPress project on Github, fork it to your account, then clone it into a Cloud9 Workspace Look for some branching if-then-else logic in the code. Look for good conditionals and guarding statements Copy and paste some examples that you ﬁnd into your homework and attempt to identify the conditionals with comments ("If mom says yes", "if right handed") Save your ﬁle locally after review, add and commit it, then push your changes to Github Friday, September 20, 13
14. 14. ASSIGNMENT 4.2 Branching Logic in WordPress Friday, September 20, 13