2. Software Development
Application Life-Cycle Management
Application Specifications
Computer Storage
Data Structures
Algorithms
Decision Making
Repetition
3. Application Life-Cycle Development
Envision I want a program that will do this and that
Requirements This is what the program must do and include; document it!
Design site architecture story boards dictate the flow - mockups
Development coders writes out technical specs what technologies will be used, etc.
Test unit testing test code snippets. Full testing does the program do what its supposed to
do? UAT User Acceptance Testing users play with software to test if it works for users. User
friendly?
Deploy move from development to production out to the public
Maintain fixing bugs found after launch. patches, enhancements, etc.
4. Computer Storage & Processing
Understanding computer storage helps you understand why we
use data types and why there are restrictions on those data
types.
Computers deal with BINARY concepts (off/on)
Bit 0 or 1 (off/on)
Bytes - groups of bits
Computer Memory we can only load a finite amount of data
into the computer at one time.
ASCII chart a way to represent special characters in binary
5. How the computer understands code
Programming Languages allow you to write your programs in an English style syntax to represent
data and instructions that is then compiled and exports that code into a binary version of
instructions that the computer understands.
Dont worry about how the compiler takes care of this translation.
Specific computer platforms have specific processing sets so inside the CPU the computer will know
how to process the instructions.
Instruction sets and compilers
6. Variables
Provides a temporary, named storage location in memory that
youll refer to in your code to access the data in storage
Name Storage locations that we refer to in our code that will be
mapped to these memory locations
You can change the values assigned to the variable
Variables are just holders of data you want to store in memory and
can access later when needed.
7. Constants
Constants like variables hold in memory data that you can retrieve later however you can not
change the value of them.
Example:
_______________ (list price) x 8.25% (sales tax) = ______________ (total price)
A programmer can put the tax rate into a program and do calculations based on the other variables in
the calculation but the tax rate is never changed while the program is running. It remains constant.
8. Data Types
Data Type Range Description
byte 0 to 255 A single byte (8 bits)
char Any Unicode character Characters used in most languages in the
world
short -32,768 to 32,767 Signed integer values
int -2,147,483,648 to 2,147,483,647 Larger signed integer values
long 9,223,372,036,854,775,808 to
9,223,372,036,854,775,807
Even larger signed integer values
float +/- 1.5 x 10-45 to +/- -3.4 x 1038 Floating point signed values
double +/- 5.0e-324 to +/- 1.7e308 Large floating point signed values
string String of characters Words, sentences, phrases, etc.
boolean True or False Represents true or false, 1 or 0
9. Data Structure Types
Arrays
Stacks
Queues
Dictionaries
- Data structures are represented by a variable
10. Arrays
An array is a group / collection of similar data types.
Arrays are designed to store the same data type
A collection of string values or a collection of number values
Random access data structure
Accessed thru indexes; Access any value in any order by using the index value.
Index numbers starts with Zero not One!
In the photo above you see a collection of brick toys.
Some bricks are the same color, some have the same number of pegs but they are all the same type of toy
so they can be placed in an array. (abstract)
Imagine each brick had its own serial number
You could pick out a specific individual brick by its serial number (ie. Index number assigned by a
programmer).
11. Stacks
A collection of objects, accessed by pop and push.
To the right you see a stack of books.
You push a book down on top of the stack of existing books.
To get a book, you must pop the books off of the stack one at a time starting with the one on top.
First in, Last out
12. Queue
A collection of objects, accessed by queuing and de-queuing.
Similar to people standing in line.
You add another person to the que (line) with en-queue and you
get a person out of line (the person in the first position) with de-
queue
Each object (person) in the collection (line) is processed in the order
in which they got into the collection (line).
First in, First out.
13. Dictionary
Key Value
Key1 First item
Key2 Second item
Key3 Third item
A collection of objects that are
accessed by using a key.
Looks similar to an array.
Key Value
firstName Susan
lastName Winters
eyeColor hazel
14. Algorithms
A set of instructions a solution to a problem
They can be recipes, mathematical calculations or
other formulas
Think logically of how to solve a problem / accomplish
a goal
Visualize your algorithms in a flow chart before you
start coding so that you can catch bugs in your code.
15. Decision Structures
Your code will always be asking questions
Is x > y? (mathematical yes or no)
Is eyColor = hazel? (exact match)
Which color is most desirable?
Red, Orange or Blue? (select one)
If, if-else, if-else-if
Switch or Select Case
You can change the flow of your program code based on
the outcome of a decision structure.
X
Red Blue
Color?
Y>
Orange
16. Repetition
Keep doing something until I tell you to stop.
For loops
While loops
Do-while loops
Recursion
Use a counter (i or other variable name) to represent the number of times your code has looped.)
An infinite loop is one that never ends. Dont do that! Youll eventually run out of memory and crash the
application and the computer will quit processing.
17. For Loops
for(int myCounter = 0; myCounter < 10; myCounter++)
{
//do something
}
For each value in this range that Im working with do something;
Check to see if the number of times Ive done something is less than 10;
Add 1 to the counter after each time something has been done.
(in this range is 10 in this scenario This is the condition you are checking).
18. While Loops
while (myCounter < 10)
{
//do something
console.write(Counter is at + myCounter);
// increment the counter here
myCounter++;
}
While my condition is true do something;
Then increment my counter.
(my condition in this scenario is the counter being less than 10).
19. Do-While Loops
myCounter = 1;
do
{
//something
console.write(hello);
// increment the counter here
myCounter++;
}
while (myCounter < 5);
Do this (at least once) and then increment myCounter.
Then keep doing it while myCounter < 5.
(my condition to continuing to do something after the first time - in this scenario - is the myCounter being
less than 5).
20. Recursive
long value = Factorial(5);
console.writeLine(value);
static long Factorial(int x)
{ if (z ==0) {return 1;}
return z * Factorial(z 1)
Factorial means Im going to take a range of values and multiply them together.
You tell the Factorial function what the highest number in the range is (in this scenario its 5).
So your answer would be 1 x 2 x 3 x 4 x 5 = 120
21. This information can be used to
help you pass the Microsoft Exam
98-361
Susan Winters