1. Is a standard indentation and layout format used consistently?
2. Are the Java class libraries used where and when appropriate?
3. Utilized the use of comments consistently for readability purposes
4. The codes are easy to debug, read and understand.
5. Follows naming convention in defining classes and methods in the program
6. Are descriptive variable and constant names used following naming conventions?
7. Are all variables properly defined with meaningful, consistent, and clear names?
8. Are parentheses used to avoid ambiguity in the expressions, calculations, and evaluations?
9. Are there any blocks of repeated code that could be condensed into a single method?
10. Are all loop control structures terminated properly to avoid infinite executions?
11. Are arrays large enough to store as much data or information needed in the program?
12. Are object and array references set to null once the object or array is no longer needed?
13. Have all files been opened before use and closed after use?
14. Are there spelling or grammatical errors in any text printed or displayed?
15. Does the program provide correct prompts/messages for validation and error notifications?
BASIC JAVA PROGRAMMING STRUCTURE NYC CMP
1. Has basic knowledge of the relationships of a Java package, class, object, and method
2. Has a clear understanding of what jdk, jre, and jvm means to the Java language
3. Able to distinguish the difference between .java and .class extensions
4. Can name a few of the Java keywords, special characters, and their importance.
5. Able to explain the importance of Syntax and Semantics in a Java program
6. Can enumerate different Java comments and able to expound their significance
7. Has a clear understanding of the difference between local and global variables
8. Able to explain how the main method works in every Java program
DATATYPES NYC CMP
9. Knows the importance of datatypes in Programming
10. Can name/enumerate three different primitive datatypes in Java
11. Able to discriminate different primitive datatypes and give an example of each data type
12. Has a basic idea of how to reference datatypes work in Java
13. Explain the difference between primitive datatypes and Reference datatypes
VARIABLES NYC CMP
14. Able to expound on the idea and importance of identifiers in Java programming
15. Knows and explains the rules in naming identifiers (class, variable, methods, etc.)
16. Able to describe the significance of variables in Java programming
17. Knows how to declare a variable and initialize it
18. Can explain the idea of constant variables (using the final keyword)
BASIC INPUT/OUTPUT NYC CMP
19. Able to explain input/output statements (System.in and System.out)
20. Describe how print(), println(), and printf() methods work in the program
21. Able to explain the purpose of Scanner Class in the program
22. Explain the difference between .nextInt(), nextDouble(), next(), nextLine(), and so on..
23. Able to write a simple program using input/output statements and Scanner class.
24. Explain and describe how JOptionPane Class works in the program
25. Differentiate .showInputDialog() from .showMessageDialog()
26. Able to write a simple program using the JOptionPane class
27. Knows the idea of typecasting and parsing a value and its importance to Java programming
CONTROL STRUCTURES (SELECTION) NYC CMP
28. Can name relational/equality operators and able to evaluate their expressions
29. Can name the three logical operators and evaluate their expressions
30. Explain the importance of control structures (selection) in the program
31. Write sample codes to perform conditional statement (? : )
32. Explain the four selection structures: one-way, two-way, compound, and multiple
33. Able to write a sample code using a one-way selection structure (Single-If
Able to write a sample code using a two-way selection structure (If-else)
35. Write a sample code using a compound selection structure (If-else with multiple statements)
36. Able to write a sample code using multiple selection structure (Nested-if)
37. Describe the idea of switch structure and write a sample code of it
CONTROL STRUCTURES(ITERATION) NYC CMP
38. Able to clearly explain what an iteration is and its importance in every program
39. Enumerate the four different looping mechanisms
40. Describe and write a sample application of a counter-controlled loop
41. Describe and write a sample application of a sentinel-controlled loop
42. Describe and write a sample application of a flag-controlled loop
43. Explain and write a sample code using a while loop
44. Explain and write a sample code using a do-while loop
45. Explain and write a sample code using for loop
46. Know the difference between break and continue
METHODS NYC CMP
47. Has a deep understanding of what method is and how important it is in software development
48. Can explain the relationship between a class and a method in a program
49. Able to define what is a predefined method and name a few of them
50. Explain clearly what a user-defined method is and what its significance is in software development.
51. Able to explain the difference between formal and actual parameters
52. Explain how the non-value returning(void), the non-parameterized method works and be able to write sample codes
53. Explain how the non-value returning(void), the parameterized method works and be able to write sample codes
54. Explain how value returning, the non-parameterized method works and be able to write sample codes
55. Explain how value returning parameterized method works and be able to write sample codes
ARRAYS and DYNAMIC ARRAYS NYC CMP
56. Explain the importance of Arrays and Dynamic Arrays
57. Utilized arrays in the program to manage and maintain the data properly
58. Knows how to manipulate records in an array
59. Able to differentiate arrays and dynamic arrays
60. Use arrays properly in the program
FILE HANDLING TECHNIQUES NYC CMP
61. The use of the file is fully implemented in maintaining the data
62. Able to create multiple text files for data organization and record-keeping
63. Has exceptional knowledge regarding how to properly handle files to keep all the records secure, stable, consistent,
and well-managed
64. Knows when to use File, FileReader, and FileWriter classes in the program
65. Create multiple file structures that are logically related to enforcing data integrity and security of the data
ENCAPSULATION NYC CMP
66. Can define and explain the importance of Encapsulation
67. Able to describe each component of a class Encapsulated (property and behavior)
68. Evaluate the difference between private, public, and protected modifiers of a class
69. Able to recommend the use of static and non-static field members of a class
70. Has sufficient understanding of the importance of a constructor
71. Able to name different types of constructors and explain each
72. Explain the idea of mutators(setters) and accessors (getters) of a certain class
73. Able to create single or multiple instances of an encapsulated class
74. Knows how to call or access the property and behavior of a class using an Object and a Class itself
75. Has a deeper understanding of how instance variables and class variables are created
INHERITANCE NYC CMP
76. Has an explicit understanding of the concept of code-reuse and code-recycle through derivation
77. Able to describe how an is-A relationship works and the purpose of the extends keyword in such a concept
78. Has sufficient knowledge of the underlying terms, which are superclass and subclass {Parent and child, based and
derived class}
79. Able to describe each Inheritance type and its hierarchy (i.e. single, hierarchical, multiple, etc.)
80. Knowledgeable in extending other user-defined and built-in classes
POLYMORPHISM NYC CMP
81. Has explicit knowledge of Polymorphism as an OOP concept
82. Can explain the difference between method overriding and method overloading
83. Able to expound the ideas of the essential terms as follows: Static Binding versus Dynamic Binding, Compile time versus
Runtime Polymorphism
84. Able to explain the key terms extends super, and instanceOf
85. Knows the idea of typecasting: upcasting and downcasting an instance of a class
WINDOWS PROGRAMMING AND EVENT HANDLING NYC CMP
86. Can name different components containing Java swing components
87. Able to apply swing components lay-outing in designing the application properly
88. Knowledgeable in applying how OOP underlying concepts are successfully used to each of these swing components
89. Able to create and implement an event to a specific swing component
90. Has sufficient knowledge in designing GUI through wide and healthy collections of Objects in Java