14. Review for Midterm

Last revision:  February 18 1998

Review for Midterm

There is no new material in this section; we simply list topics and functions with which you should be familiar in order to perform well on the midterm.  Experiment with functions with which you are unfamiliar, and ask your instructor nagging questions you forgot to ask weeks ago.

Topics

Arithmetic Operations (+, -, *, /, ^, etc.)
Boolean Operations (>, <, etc.)
Operator Precedence and Associativity
Exact Values, Approximate Values
Machine-Precision Integers, Machine-Precision Approximations, Bits
Data Types (Integer, Rational, Real, List, String, etc.)
Scientific Functions (Sin[], Cos[], etc.)
Plotting (functions, lists of points)
Source Code, Interpreted vs. Compiled Languages
Defining Functions, Substituting Values using Rules
Formal and Actual Parameters
Bottom-Up Analysis, Top-Down Analysis
List-based Programming; Programming Paradigms
Iterators
Programming as Grammar:  Nouns, Verbs, Adverbs
Strings, String Functions, Special Characters in Strings
Modules, Organization
Local Variables, Side Effects, Scope, Initialization of Constants
Programming Style, Comments, Readability
Anonymous Functions, Inline Functions
Data Type Checking, Pattern Matching in Arguments, Conditional Evaluation
Usage Lines
Structured Patterns for Conditional Evaluation

Functions

Sin[], Cos[], Tan[], Exp[], Sqrt[], Arcsin[], Arccos[], Arctan[], N[], Plot[]
Plus[], Times[], Subtract[], Log[], Clear[], NSolve[], FindRoot[]
Set[], SetDelayed[]
Greater[], Less[], GreaterEqual[], LessEqual[], Equal[], NotEqual[], Not[]
AddTo[], SubtractFrom[], MultiplyBy[], DivideBy[], Increment, Decrement, PreIncrement[]
PreDecrement[], SetDelayed[], Rule[], Part[], Random[], Table[], Union[], Length[], Sum[]
ListPlot[], Position[], Map[], Reverse[], Sort[], Transpose[], First[], Last[], Rest[]
Partition[], List[], Range[], Take[], Drop[], Inner[], Outer[], Apply[], MapThread[], Join[]
Nest[], NestList[], Fold[], FoldList[], Function[]
StringLength[], ToCharacterCode[], FromCharacterCode[], Characters[], StringJoin[], StringTake[], StringReverse[], StringDrop[]
ToUpperCase[], TableForm[], Module[], With[], Select[], Trace[], Count[], RotateLeft[]
RotateRight[], Dimensions[], Flatten[], ?, ??, Append[], Prepend[]
Intersection[], Complement[], 
<, >, <=, >=, ==, !=, !, +=, -=, *=, /=, ++, --, ->, /., [[]], ; , +, -, *,  / , ^, &&, ||, "", []
IntegerQ[], DigitQ[], Positive[], Insert[], UpperCaseQ[], LowerCaseQ[], NumberQ[]
OddQ[], EvenQ[], PrimeQ[], MatchQ[]

Summary by Lesson

1:  Arithmetic: Syntax, Data Types, Operators, and Expressions

2:  Course Goals and Themes

3:  Defining Variables and Functions
     Set  
     =
     SetDelayed  
     :=
     function[parameter_] :=

4: Mathematica operations introduced: 
     [[ ]]     (list extraction operator)
     Random[]
     Table[]
     Union[]
     Length[]
     Sum[]
     ListPlot[]

5: Mathematica operations/structures introduced: 
     Factoria[]
     Range[]
     Apply[]
     Do[]
     Module[]
     Part[]
     Position[]
     Sort[]
     Reverse[]
     Attributes[]
     Map[]
     Union[]
     Append[]
     Prepend[]
     First[]
     Last[]
     Transpose[]
     Table[]
     Take[]
     Partition[]

6: Mathematica operations/structures introduced: 
     FullForm[]
     Part[]
     Take[]
     Drop[]
     Outer[]
     TableForm[]
     MapThread[]
     . operator
     Dot[]

7: Mathematica operations/structures introduced: 
     Nest[]
     NestList[]
     Fold[]
     FoldList[]

8: Mathematica operations/structures introduced: 
     StringLength[]
     FromCharacterCode[]
     ToCharacterCode[]
     \"  \\  \n  \t  \b
     StringJoin[]
     StringReverse[]
     StringTake[]
     StringDrop[]
     $StringOrder
     DigitQ[]
     LetterQ[]
     UpperCaseQ[]
     LowerCaseQ[]
     ToUpperCase[]
     ToLowerCase[]
     Characters[]
     <>

9: Mathematica operations/structures introduced: 
     Module
     With[]
     variable scope

10: Mathematica operations/structures introduced: 
     anonymous functions; #  &
     First[]
     Last[]
     Select[]
     NumberQ[], IntegerQ[], EvenQ[], OddQ[], PrimeQ[]

11: Mathematica operations/structures introduced: 
     parameter_?testQ
     Print[]
     Trace[]
     ??name
     ::usage=
     Positive[]
     /;
     \;

12: Mathematica operations/structures introduced: 
     MatchQ[]
     parameter___
     Count[]
     RotateLeft[]
     :defaultValue

13: Mathematica operations/structures introduced: 
     IntegerDigits[number, base]
     $MinMachineNumber
     $MaxMachineNumber
     $MachinePrecision