Topics

Required Topics
General computer science topics: Software:
 * 1) Introduction to Computer systems
 * 2) Analog and binary signals
 * 3) Computer memory
 * 4) The processor
 * 5) Input devices
 * 6) Output devices
 * 7) Storage devices
 * 1) Machine language and high-level languages
 * 2) Language translation and interpretation
 * 3) Test and analysis (computer basics)
 * 4) Using an IDE
 * 5) How to edit, compile and run example Java programs
 * 6) Navigating the Java directories
 * 7) Functions of an operating system
 * 8) Linker
 * 9) Loader
 * 10) Library manager


 * 1) Primitive data types
 * 2) Variables
 * 3) Assignment statements
 * 4) Type casting
 * 5) Arithmetic operators and precedence rules
 * 6) Simple input and output
 * 7) String constants and variables
 * 8) Concatenation of strings
 * 9) String methods
 * 10) Reading input
 * 11) Formatting output
 * 12) Test and analysis (tracing and constructing simple sequence programs)
 * 13) Boolean expressions
 * 14) Relational operators
 * 15) The single-branch **if** statement
 * 16) Nested statements
 * 17) Multi-branch **if-else** statements
 * 18) The **switch** statement
 * 19) Loops
 * 20) The **while** statement
 * 21) Counting loops
 * 22) Sentinel controlled loops
 * 23) File input and output
 * 24) Reading data from the file
 * 25) Software life cycle
 * 26) Designing a program following the major stages of the software life cycle
 * 27) Class and method definition
 * 28) Variables in class definition
 * 29) Using methods
 * 30) Methods that return a value
 * 31) Parameters--how argument values are passed to a method
 * 32) Defining class methods
 * 33) Accessing data members in a method
 * 34) The variable **this**
 * 35) Initializing data members
 * 36) Programming exercises
 * 37) Constructors
 * 38) The default constructor
 * 39) Creating objects of a class
 * 40) Passing objects to a method
 * 41) The lifetime of an object
 * 42) Class design example
 * 43) Statement of the problem
 * 44) Analysis of the problem
 * 45) Software design
 * 46) Program construction
 * 47) Testing and debugging
 * 48) Installation and operation
 * 49) Maintenance
 * 50) Recursion
 * 51) Features of an object
 * 52) Encapsulation
 * 53) Data hiding
 * 54) Polymorphism
 * 55) Inheritance
 * 56) The **for** statement
 * 57) The **do** statement
 * 58) Nested statements
 * 59) Programming exercises
 * 60) One-dimensional array
 * 61) Array variables
 * 62) Defining an arrays
 * 63) Accessing array elements
 * 64) Initializing arrays
 * 65) Array length
 * 66) Common array algorithms
 * 67) Linear search
 * 68) Insertion
 * 69) Deletion
 * 70) Merging two sorted arrays into the third array
 * 71) Selection sort
 * 72) Efficiency of selection sort
 * 73) Bubble sort
 * 74) Efficiency of bubble sort
 * 75) Programming exercises
 * 76) Two-dimensional (2-D) arrays
 * 77) Storing objects
 * 78) Sorting objects
 * 79) Ordered and unordered arrays
 * 80) Binary search
 * 81) Efficiency of binary search
 * 82) Recursive binary search
 * 83) Recursion versus iteration
 * 84) Quicksort
 * 85) Comparing the simple sorts
 * 86) Comparing the searching algorithms
 * 87) BigO notation
 * 88) Stack definition
 * 89) Implementation of a stack in an array
 * 90) Infix, prefix, postfix notation
 * 91) Usage of stacks
 * 92) Queue definition
 * 93) Implementation of a queue in an array
 * 94) Usage of queues
 * 95) Hash tables