Let’s Get You Ready For Challenging Future
Meet Our Expert Coaching Staff
Munawar Ali
Programming CoachMunawar Ali is a seasoned technology professional with over 10+ years of industry experience. He holds both a bachelor's and a master's degree in computer science and is currently working as a Tech Lead at a leading bank.
Course Details
Duration: 26 weeks
Class Length: 3 hours per week
Price: $75 / week
- Overview of programming languages
- Introduction to Java and its use cases
- Setting up the Java development environment (JDK & IDE setup)
- Writing the first Java program (“Hello, World!”)
- Structure of a Java program
- Data types and variables
- Operators (arithmetic, relational, logical)
- Basic input/output (using
Scanner
andSystem.out
)
- Conditional statements (
if
,else
,switch
) - Loops (
for
,while
,do-while
) - Nested loops and conditional control statements
- Defining methods in Java
- Method parameters and return types
- Method overloading
- Scope of variables
- Introduction to arrays (single-dimensional and multi-dimensional)
- String class and string manipulation
- String methods (length, substring, equals, etc.)
- Common string operations
- Classes and objects
- Constructors and ‘this’ keyword
- Instance and class variables (static)
- Inheritance and method overriding
- Polymorphism (compile-time and runtime)
- Encapsulation and abstraction
- Try, catch, throw, throws, and finally
- Checked and unchecked exceptions
- Custom exceptions
- Reading from and writing to files
- File input/output streams
- Working with directories and file paths
- Introduction to collections (List, Set, Map)
- ArrayList, LinkedList, HashSet
- Iterating over collections
- HashMap, TreeMap, and LinkedHashMap
- Comparator and Comparable interfaces
- Sorting collections
- Generic classes and methods
- Wildcards in generics
- Introduction to lambda expressions
- Understanding threads and concurrency
- Creating and managing threads
- Synchronization and thread safety
- Overview of JavaFX for GUI development
- Creating a basic JavaFX application
- JavaFX layout managers
- Using JavaFX components (buttons, text fields, etc.)
- Event handling in JavaFX
- Developing interactive applications
- Nested/inner classes
- Static inner classes
- Local and anonymous inner classes
- Introduction to lambda expressions
- Functional interfaces in Java
- Stream API basics
- Bubble Sort
- Merge Sort
- Quick Sort
- Insertion Sort
- Importance of testing in software development
- Writing unit tests using JUnit
- Test-driven development (TDD) basics
- Understanding problem-solving strategies in Java
- Working with algorithms and logic building
- Example problems:
- Palindrome check: Write a program to check if a given string or number is a palindrome.
- Fibonacci sequence: Generate the Fibonacci series up to a specified number of terms.
- Factorial calculation: Write a program to calculate the factorial of a given number.
- Solving more complex problems
- Optimization techniques for algorithms
- Example problems:
- Prime number check: Write a program to check if a number is prime.
- Array sorting: Implement a sorting algorithm (e.g., bubble sort or quicksort) to sort an array of integers.
- Anagram check: Write a program to check if two strings are anagrams of each other.
- Overview of build tools (Maven)
- Creating and managing a Maven project
- Dependency management with Maven
- Understanding APIs and RESTful services
- Introduction to Java libraries for REST (JAX-RS, Spring Boot)
- Creating a simple REST API
- Common debugging techniques
- Using a debugger in IDEs (IntelliJ, Eclipse)
- Profiling Java applications for performance optimization
- Designing a project using concepts learned in class
- Planning and outlining the project requirements
- Initial project setup and implementation
- Completing and presenting the final project
- Code review and improvements
- Wrap-up and next steps for learning