COMP 101 Problem Solving with Computing


Things you should be able to explain

A list of items you should be able to explain or provide examples for. Not an exhaustive list - check for updates regularly.

You should always look through the whole list, not just the last few lines. Aside from being a great strategy for reviewing material, please note that not all changes happen in the last few lines.

Please stop by during office hours with questions, I'll be glad to try answer any questions you may have.


FAQ
GUI
CLI command line
directory/folder/file/extension/type
zip file
bit/byte/kb/Mega-byte/Giga-byte
hardware 
peripherals
USB
CPU
Cores
motherboard
volatile vs persistent memory
RAM
Diskdrive/Harddrive
Optical Storage
software
application software
system software
OS, Operating System
source code
machine language/executable/binary
design
program
source code
executable
binary
interpreter
compiler
editor
edit/compile/run-cycle
Programming languages
IDE
algorithm
positional notation
binary - base 2
decimal - base 10
bug
logic/semantic bug
syntax bug 
run time bug
identifiers, variables, CONSTANTs
key- or reserved words
data types, string, float, integer (truncation)
character, string
subprogram/function/procedure/method
functions (calling, defining)
arguments/parameters for functions
variables (scope:local and global, lifetime)
short-circuit evaluation
Conditional execution, decision structures
Boolean expression
and, or, not
==, !=, <=, >=, <, >
Boolean comparison vs assignment
relational expression
compound expression
if, if-else, if-elif-else
nested if statements
while-loop
for-loop
range + lists
sentinel
infinite loops
'off-by-one' error
stack trace
lists (indexing/index values)
function that return values
modules
files (input file, output file, end-of-file)
buffering/buffer
exception/execption handler/"thowing/catching" exceptions
Know what causes these exceptions: IndexError, NameError, IOError and how to handle them.
API
pixel
RGB
slices
mutable vs immutable
lists vs strings
basic list/string methods (see notes on slides)
Object/Class/Attributes/Methods/Constructor



Please e-mail your instructor with comments and/or questions.