CS99 Fall 2000: Topics for Prelim 1 Definition and concepts of programming - computers as tools - programming as problem solving - top-down philosophy - algorithms Computer Rudiments - software - hardware - files - I/O Languages - semantics - syntax Maple language - language elements - tokens Tokens - know the kinds - building expressions Operators - arithmetic - predence - associativity - using parentheses Names - uses - rules for creating - variables - backquotes - differences with Reserved Words and protected names Statements - definition - analogy with sentences - punctuations - overall syntax of expression and assignment Worksheets - kernel modes - file management - finding help Evaluation - expression trees - automatic simplification - full evaluation (understand this thoroughly!) - how evaluation works with assignments - unevaluation for removing assignments Expressions - definition of type - trees - surface type - structured type - Real Numbers integers = whole numbers fractions = ratio of two integers rationals numbers = integers + fractions floats, decimals arithmetic: rounding irrational numbers - Complex Numbers - Extended Numerics - Boolean Expressions Logic: + operators: and, or, not + values: true, false Relations: + for comparisons + <,>,<>,= + expr rel expr Boolean + logical or relational expr + evalb(expr) -> evaluate truth of expr - Multiple expressions + ranges + sequences + lists + sets + selection - Names Indexing: resembles selection, no assignment in name Symbolic Constants: constants yields false, true, infinity,... Protected Names: predefined names Greek Letters: not really a type, but something built-in - Miscellaneous Strings Functions Functions - basics of syntax - simulating with assignment Some functions covered/seen so far: type, whattype, evalb, evalf, sqrt, plot, exp, restart, Float, Complex