|
Introduction to Computer
Programming with Java
Structure of Java Programs
-
Introduction to classes
-
Methods
-
Variables & Objects
-
Data Types (classes)
Program Designing
-
Flow of the program
-
Flow charts
-
UML (notations)
-
Class Diagrams & Sequence Diagrams
-
Requirement gathering & use cases
-
Naming Conventions
-
Design Patterns
Flow control
-
if/else, switch statments
-
loops for, while, dowhile
-
transfer of flow by method invocation
Optimization
-
Memory usage
-
Programming efficiency & reusability
-
Performance
-
Reducing redundancy
-
Code Readibility & Maintenance
|
Designing methods
-
Identifying & defining input
& output
-
Visibility
-
Pass by value, Pass by reference
-
Returning values
-
Scope of the variables
-
Static methods
-
Final methods
-
Synchronized methods
Object Oriented Programming
-
Designing Classes
-
Attributes, fields, constants, globals
-
Getters/Setters
-
Constructors
-
Non-static methods
-
Objects
-
Encapsulation
-
Polymorphism
-
Inheritence
-
Abstract Classes
-
Interfaces
-
Method over-loading
-
Method over-riding
-
Wrapper classes
Data Structures
-
Arrays
-
Variables & Constants
-
Stacks and Queues
-
Others
Multithreading
-
Resource sharing
-
Efficiency
-
Pros & Cons
-
Atomicity & Syncrhonization
|
Java Collection framework
-
Lists & ArrayLists
-
HashMaps
-
HashTables
-
Vectors
-
Sets
-
LinkedLists
-
Others
Troubleshooting
-
Debugging
-
Problem diagnosis (Exception
identification)
-
Implementing solutions
Exception Handling
-
Checked & Unchecked Exceptions
-
try/catch
-
Throwing exceptions
-
Custom exceptions
-
Exception wrapping
File Handling
-
File Input/Output Streams
-
Streams
-
Buffers
-
Text files
-
Binary files
-
Reading, displaying and 'modifying'
images
Miscellaneous & Other Topics
|