CMSC 131: Object-Oriented Programming I (using Java)
NOTE: A student may take either the CMSC131 exam or the CMSC132 exam, but not both. Passing this exam places you out of CMSC 131. Students taking this exam should have credit for Calculus I (MATH140).
- General Computer Terminology:
- Hardware, Software, CPU, Virtual Machines
- Source code, compiler, byte code
- Different kinds of memory
The Java Language: - Naming conventions
- Expressions
- Constants, literals
- Operators: (new, +, -, *, /, %, ==, !=, <, <=, >, >=, &&, ||, !, =, ++, –)
- Statements (e.g., conditionals, switch, return, by code blocks ({ }), while, for, do-while, break, break to a label)
- Variable (scope, duration, types (instance (field), local, parameter, etc.), shadowing, reference variables, primitive variables)
- Strings (including conversion to/from primitive types), comparison with equals
- Arrays (of primitives and of references), passing as parameters and returning
- Methods (passing values to methods (pass by value), return types, return values, parameter, arguments)
- packages
- Exceptions
- Callbacks
- Classes - (Object instantiation (construction), objects with no references, garbage collection, constructors, methods, Inheritance (’extends’), Interfaces (’implements’), super, this (as a pointer, and as a method call to call an alternative constructor), overriding, overloading, shadowing, polymorphism, abstract classes, final keyword, static keyword, access specifiers (public, protected, private))
- Memory diagrams with reference variables and objects
- Java Library (JOptionPane, StringBuffer, ArrayList, Stack, Math, Object, Iterator, HashSet, TreeSet, NumberFormat, DecimalFormat. You should know how to use them but you don’t have to remember any specific methods. We will provide any specific method signatures you need to know.)
- General Programming Issues (Model View Controller, Design, Testing, Debugging, Documentation, Callstack and Heap)
