1/21
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
Decomposition
-breaking down a larger program into smaller, more manageable sub programs
Abstraction
removing unnecessary information to focus on important details
Algorithmic thinking
creating step by step process to produce a solution to a problem
Flow chart symbols
line- movement
rectangle-process
rectangle with 2 vertical lines-subroutine
parallelogram-input/output
diamond-decision
oval-terminal(start and stop)
bubble sort
compare first 2 values
if in wrong order swap
compare next 2 continue until end of data set
when swaps are made repeat from start
when no swaps are made stop
-simple algorithm to program, time consuming to execute
merge sort
Split in half continuously until they are split into individual values
combine split data sets which order once merged
repeat until in one large dataset
-efficient
-may not work well for small lists
Insertion sort
take 1st value of data set,now sorted list
next value compare to previous values if,smaller put to left else stay same
repeat until all has been compared
-difficult to implement in high level/amateur programmers
-faster than bubble
linear search
looks one by one comparing to desired value
stops when value is found/or reports not found
-inefficient
-works regardless of order
binary search
picks middle value
determine whether desired is higher or lower
discards middle value and section of list value i not in
repeat until value found/reported not found
-efficient,fewer comparisons
only works when ordered
Authentication
Checking users identity
biometrics
username and password
Input validation
checks whether data matches certain rules
ensures input is sensible
can prevent SQl injection
Maintainability,easier to understand
sub-routines,easier to follow
suitable variable names, can identify purpose
comments,explain what parts of the program do
Testing
ensures program function as expected
iterative-at each stage of development
final-near end of development
test data
normal-typically expected
boundary-very edge of being valid
invalid-correct data type, outside boundaries
erroneous-incorrect data type
low level languages
binary to represent instructions
can only run on certain hardware
refer directly to hardware,programmer must understand how it works
run directly by processer
High level
English word
run on many types of hardware
abstract processor details, focus on what program needs to do
must be translated into machine code to run
compiler
translates every line of code in a program and runs after
produces executable file
run again without recompiling
executable file source code doesn’t have to be seen
ran quickly
interpreter
translates one line and reads line
no executable file
when rerun every line is retranslated
no executable file
slow
editor(ide)
modify code
auto-suggestion of key words
pretty printing(colour-coding)
auto indent
error diagnostics
find/fix errors
breakpoints stop at certain points
stepping, run code from break point one at a time
variable contents checked
runtime nvironment
run code within ide
output seen without external program
VM may be used
Translator
convert high level into machine code to be executed
compilers, interpreters