In this episode, you will walk through how to express the solution in steps. Remember that the computer requires the exact steps and conditions in order to execute the code. You’ll do various exercises to identify the exact steps. Expressions must be explicit, step-by-step, repeatable, and absolute. Oh, and you get to learn about algorithms too. Your key takeaways are: Software tells the calculator (computer) how to solve the problem The solution is expressed in a language The expression attributes are: Explicit Step-by-step Repeatable Absolute An algorithm is a recipe. It is a set of explicit, step-by-step, repeatable, and absolute […]
Labs
Labs are hands-on coding projects that you build along with Tonya as she explains the code, concepts, and thought processes behind it. You can use the labs to further your code knowledge or to use right in your projects. Each lab ties into the Docx to ensure you have the information you need.
Each lab is designed to further your understanding and mastery of code. You learn more about how to think about its construction, quality, maintainability, programmatic and logical thought, and problem-solving. While you may be building a specific thing, Tonya presents the why of it to make it adaptable far beyond that specific implementation, thereby giving you the means to make it your own, in any context.
Lab Introduction
Let’s introduce this lab to you. You are going to learn about how to express and visualize problems. Fact Computers are very fast, but they are stupid. Why? Because you have to explicitly tell them what to do. Step-by-step. Never forget this. How does a computer do complex things? Software! Computers do not think and they do not reason. That’s your job. Computers are 1s and 0s – circuitry. You have to learn how to get the computer to do what you need. Software explicitly tells the computer how to solve a problem. The computer runs the program exactly the […]
Scoping – Who Can Communicate With Whom
Let’s talk about scoping, i.e. who can communicate with whom in your program. It defines the rules to define what code can talk with other code. This is a technical discussion which includes how memory is used and allocated.
Abstraction
You need to embrace abstraction in your programming techniques. Abstraction is one of those big scary words. It removes and hides complexity, allows you to build code in a modular, purposeful fashion, and code to only what is needed. Your key takeaways are: Abstraction promotes quality code Skinny, purposeful code Promotes reuse and modularity Hides complexity Improves maintainability Study Notes What is abstraction? Purposeful methodology – everything in your code should have a specific purpose and function. Everything in that code should support only that task. Being purposeful is an earmark of quality coding. Remove or hide complexity – you only […]
Order of Execution
Software has an order of execution. This is the program sequence, meaning the order in which your lines of code will be executed. Your key takeaways are: Software executes synchronously unless asynchronous features are used Execution is in order until it encounters a control statement Order of Precedence follows rules from math Study Notes There is an order or sequence to program execution. Lines of Code Execution Types of code execution: Synchronous – current line of code is executed before moving on to the next line Asynchronous – parallel processing Languages execute code in sequential order Branching and iterators can […]
Iteration in Practice
Let’s put iteration into practice. In this episode, you will learn about the different iterator constructs in each language. Then you’ll see them in action. Your key takeaways are: for, each, foreach instructions provide iterations through arrays, collections, or objects while, do/while, until instructions provide looping until the conditional expression is false Study Notes Types of Iterators There are several types of iterators: for loop foreach do/while while each Iterators for each language: Language for foreach, each do/while, while, until PHP Yes Yes Yes JavaScript Yes Yes Yes Ruby Yes Yes Yes Python Yes Yes C Yes Yes C# Yes […]
Basics of Iteration
Let’s talk about the basics of iteration. In this episode, you will learn about iteration as it is a key process in programming. Your key takeaways are: Iteration is repeating a sequence It’s a loop Separate the iteration functionality from the container Study Notes Here’s the primary question: How do you iterate through a container? How do you “say or do a thing again or again and again” (Merriam-Webster.) What is Iteration? Per Merriam-Webster: the action or a process of iterating or repeating: as a procedure in which repetition of a sequence of operations yields results successively closer to a […]
Decision Branching – switch/case
There are times when you need to make multiple decisions. In these cases, the level of branches grows. Programming languages give you an alternative with the switch/case construct. Your key takeaways are: Switch/case more concise representation of an if/else if/else conditional control statement Don’t have to repeat the conditional comparison in each branch Easier to read Gives you control to determine what code to run (execute) Study Notes Below is some pseudocode to show a multistate decision tree: Convert the multi-state decision tree into a less verbose format with a switch/case statement: Anatomy of the Switch Statement Switch Statements in […]
Decision Branching – if/then/else
Let’s talk about decision branching and more specifically about the “if/then/else” constructs. Decisions control the flow of your program. The branch only runs when the conditional control statements is true.
Fundamentals of Syntax
Let’s talk about the fundamentals of syntax. Language has structure and set of rules. We call this syntax. You’ll learn what it is and why language needs it.