CS160: Foundations in Programming
| CONCEPTS | DETAILS |
| Intro to programming | program, programming language, algorithm, object oriented programming, class versus object, method, instruction, compiler, types of errors |
| Data representation | bits, bytes, words, binary/decimal number representation, text representation |
| Program structure | import directive, class heading, main method, block structure, variables, statements, layout, identifiers, method invocations and arguments, input and output |
| Sets and Functions | set definitions, number sets, equality, infinite versus finite, subset, Venn diagram, tuples, Cartesian products, union. intersection, difference, complement, identities, function definition, one-to-one functions, increasing functions, domain, codomain, range |
| Data Types | primitive versus class, initializers, operation precedence, integers (printing, reading, operations, assignment, self-assignment, types of integers), constants, Math package, reals (reading, printing, operations, types), type conversion, typecasting, Strings (reading, printing, operations, methods), characters (literals, characters as integers), numeric relational operators, boolean expressions, operators), bit operations |
| Hardware number representation | unsigned integers, twos complement, addition/subtraction in twos complement |
| Flow of control | if, if-else, switch, compound statements |
| Propositional Logic | proposition, negation, conjuction, disjunction, XOR, truth tables, compound logic expressions, conditional (implication), biconditional, logic and bit operations |
| Propositional and Predicate Logic | tautology, contradiction, truth tables, equivalences, proof by inference, predicate, quantifiers, English to Logic and back |
| Loops | while, for, do-while, pre-test vs. post-test, loop cautions, nested loops, reading input, reading files, command line (args) input, be able to read code with loops and write simple loops |
| Arrays | 1D, 2D, array indexing, accessing arrays, arrays of strings |
| Proof Techniques | Direct proofs, contrapositive, contradiction, proof by cases, proof of equivalence, rules of inference, fallacies |
| Methods | method structure, calling methods, access qualifiers, return values, variable scope, parameter passing (primitive types vs. arrays), instance variables, method overloading |