We have covered Chapers 1, 2, 3.1-3.7, 4, 7.1-7.4, 7.6 in Lewis and chapters 1, 2, 3.4, and 3.6 in Rosen. For the final you need to know all the material in the course slides.
More specifically, we covered the following topics:
Intro to programming programming languages, program vs. algorithm, structure of a Java program (statements, methods), compiler, types of errors Data representation: binary/decimal representation, bits, bytes, text representation (ASCII)
Program structure import directive, class heading, main method, code block, statements, layout, identifiers, writing and calling methods, returning values from methods, comments
Data types expressions and operators, operator precedence, Java primitive types, declaring and initializing variables, using variables (assignment), integers (printing, reading, operations, assignment, types of integers), constants, the Java Math class, real numbers (reading, printing, operations, types), type conversion and casting, Strings (reading, printing, operations, methods), characters, boolean expressions, boolean operators, bit operations, object vs. primitive types (passing by reference/by value), constructing and using objects
I/O printing and formatting output, reading input using Scanner
Flow of control if and switch statements, if statements in methods, comparing Java primitives and objects
Loops while, for, do-while, nested loops, reading input
Arrays 1D, 2D, array indexing, accessing arrays, passing and returning arrays to/from methods
Sets and Functions what is a set, set equality, infinite versus finite, subset, Venn diagram, power-set, tuples, Cartesian products, set operations: union, intersection, difference, complement, set identities, functions: definition, domain, codomain, range, one-to-one and onto functions, bijections, inverse functions, function composition, increasing functions
Integers integer division, modular arithmetic, primes, prime factorization, composite numbers, gcd, lcm
Propositional logic proposition, negation, conjuction, disjunction, XOR, truth tables, compound statements, conditional, biconditional, logic and bit operations
Propositional and Predicate Logic tautology, contradiction, truth tables, equivalence, predicates, quantifiers, English to Logic and back
Proof Techniques Direct proofs, contrapositive, contradiction, proof by cases, proof of equivalence, rules of inference