C & C++ Programming and Java Programming Essentials
Track Software Development
Duration 120 hours
Skill Level Foundation
Language English

About this Course

Learn core programming logic and syntax using C, C++, and Java for application development.
Learning Mode: Learn at ALC or at Home

Detailed Course Curriculum

Hands-on module breakdown aligned with MKCL production standards and industry requirements.

  • Brief Introduction
  • Programming Language
  • About C Programming
  • C Character Set
  • Constants, Variables & Keywords
  • Constants in C
  • Variables in C
  • Writing a C Program
  • Instructions and Assignments
  • Basic Operators in C Programming
  • Decisions Control Structure & the If Statement
  • The if-else Statement
  • Use of Logical Operators
  • Different types of Operators
  • Points to remember
  • Loops and the While loop
  • While Loop
  • For Loop
  • Operators in Loop
  • The Odd Loop
  • Break Statement
  • Continue Statement
  • do-while loop
  • Tips to remember
  • Decisions using switch
  • The Tips and Traps
  • Switch versus if-else Ladder
  • The goto keyword
  • About Functions
  • Passing Values between Functions
  • Scope Rule of Functions
  • Calling Convention
  • One Dicey Issue
  • Advanced Features of Functions
  • Function Declaration and Prototypes
  • Call by Value or Call by Reference
  • An Introduction to Pointers
  • Pointer Notation
  • Function Calls
  • Basics of Call by value and call by reference
  • Conclusions
  • Recursion
  • Recursion and Stack
  • Adding Functions to the Library
  • Data type
  • Integer number variables
  • Integers, signed and unsigned
  • Chars, signed and unsigned
  • Floats and Doubles
  • Issues related to Data types
  • Storage Classes in C
  • Automatic Storage Class
  • Register Storage Class
  • Static Storage Class
  • External Storage Class
  • To study the Ground rules for the Storage Class
  • Features of C Preprocessor
  • Preprocessor and Macro Directives
  • Macros with Arguments and Macros versus Functions
  • Various Directives
  • About Array
  • Usage of Arras
  • Pointers and Arrays
  • Passing an Entire Array to a Function
  • Two Dimensional Arrays
  • Initializing a 2-Dimensional Array
  • Memory Map of a 2-Dimensional Array
  • Pointers and 2-Dimensional Arrays
  • Pointer to an Array 295
  • Passing 2-D array to a Function
  • Array of Pointers
  • Three-Dimensional Array
  • What are Strings?
  • Pointers and Strings
  • Standard Library String Functions
  • Two-Dimensional Array of Characters
  • Array of Pointers to Strings
  • Limitations of Array of Pointers to Strings
  • Why Use Structures?
  • Declaring a Structure
  • Accessing Structure Elements
  • Array of Structures
  • Additional Features of Structures
  • Uses of Structures
  • Types of I/O
  • Formatted Console I/O Functions
  • sprintf( ) and sscanf( ) Functions
  • Unformatted Console I/O Functions
  • Data Organization
  • File Operations
  • Opening a File
  • Reading from a File
  • Trouble in Opening a File
  • Closing the File
  • Counting Characters, Tabs, Spaces
  • A File-copy Program
  • Writing to a File
  • File Opening Modes
  • String (line) I/O in Files
  • The Awkward Newline
  • Record I/O inFiles
  • Text Files and Binary Files
  • Record I/O Revisited
  • Database Management
  • Low Level Disk I/O
  • A Low Level File-copy Program
  • I/O Under Windows
  • Using argc and argv
  • Detecting Errors in Reading/Writing
  • Explanation
  • Standard I/O Devices
  • I/O Redirection
  • Redirecting the Output
  • Redirecting the Input & Both Ways at Once
  • Binary System & Bitwise Operators
  • Bitwise AND Operator
  • Bitwise OR Operator
  • Bitwise XOR Operator
  • One’s Complement Operator
  • Shift Operator
  • The showbits( ) Function
  • Enumerated Data Type and its uses
  • Understanding with a Program
  • Renaming Data Types with typedef
  • Typecasting
  • Bit Fields
  • Pointers to Functions
  • Functions Returning Pointers
  • Functions with Variable Number of Arguments
  • Unions & Union of Structure
  • Uses of Windows
  • Integers
  • The Use of typedef
  • Pointers in the 32-bit World
  • Memory Management & Device Access
  • DOS Programming Model
  • Windows Programming Model
  • Event Driven Model & Windows programming
  • The First Windows Program
  • Hungarian Notation
  • The Role of a Message Box
  • Here Comes the windows
  • More Windows
  • A Real-World Window
  • Creation and Displaying of Window
  • Interaction with Window
  • Reacting to Messages
  • Program Instances
  • Graphics fundamentals
  • Device Independent Drawing
  • Hello Windows program
  • Drawing Shapes
  • Types of Pens
  • Types of Brushes
  • Code and Resources
  • Freehand Drawing, the Paintbrush Style
  • Capturing the Mouse
  • Device Context, a Closer Look
  • Displaying a Bitmap
  • Animation at Work
  • WM_CREATE and On Create( )
  • WM_TIMER and On Timer( )
  • Points to remember
  • Hardware Interaction
  • Hardware Interaction, DOS Perspective
  • Hardware Interaction, Windows Perspective
  • Communication with Storage Devices
  • The Read Sector( ) Function
  • Accessing Other Storage Devices
  • Communication with Keyboard
  • Dynamic Linking
  • Windows Hooks
  • Caps Locked, Permanently
  • Mangling Keys
  • Key Logger
  • What is Linux
  • C Programming Under Linux
  • The ‘Hello Linux’ Program
  • Processes
  • Parent and Child Processes
  • More Processes
  • Zombies and Orphans
  • Communication using Signals
  • Handling Multiple Signals
  • Registering a Common Handler
  • Blocking Signals
  • Event Driven Programming
  • Introduction to Memory Map
  • Memory Organization
  • Segmentation
  • Loading OS & Booting Process
  • The resident and transient memory area
  • Program memory area at run time
  • Memory representation of data & function objects
  • Introduction
  • Lexical pitfalls
  • Exceptions, String & characters
  • Understanding Declaration
  • Exceptions in Operators’ precedence
  • Use of Semicolons
  • The Switch statement
  • Calling functions
  • The Dangling else problem
  • Linkages
  • External Types
  • Expression evaluation sequence
  • Issues related to actual parameters
  • Eshew Synecdoche
  • Library Function
  • Preprocessor
  • Portability pitfalls
  • Signed & Unsigned characters
  • Random numbers
  • Portability problems
  • The Beginning
  • Structured Programming
  • Object Oriented Programing
  • Characteristics of Object-Oriented Programing
  • Comments
  • Flexible Declarations
  • Structure, union and enum Syntax
  • Anonymous unions and enums
  • Typecasting
  • Void Pointers
  • The: Operator
  • References
  • The const Qualifier
  • Constructors for Intrinsic Data Types
  • The bool Data Typecasting to C++
  • Function Prototypes
  • Function Overloading
  • Default Arguments in Functions
  • Operator Overloading
  • Inline Functions
  • Static, virtual and friend Functions
  • Classes and Constructors
  • Destructors
  • A Complex Class
  • Overloaded Operators Revisited
  • The this Pointer
  • Overloading Unary Operators
  • Function Definition Outside The Class
  • Function Definition outside The Class
  • New and delete Operators
  • Using new and delete
  • malloc ( )/free( ) versus new/ delete
  • The Matrix Class
  • Classes, Objects and Memory
  • Structures and Classes
  • Free Store Exhaustion
  • Custom new and delete Operators
  • Overloading new/delete in Classes
  • Understanding The sequence
  • Construction at Predetermined Location
  • One Last Issue
  • Static Class Data
  • Static Member Functions
  • const and Classes
  • Overloaded Assignment Operator, Copy Constructor
  • Data Conversion
  • Data Conversion between Object of Different Classes
  • Stacks and Queues
  • The Linked List
  • Stacks and Queues Revisited
  • Trees
  • Binary Trees
  • Traversal of a Binary Tree
  • Deletion from a Binary Tree
  • More Inheritance
  • Some More Inheritance
  • Multiple Levels of Inheritance
  • Multiple Inheritance
  • Constructors in Multiple Inheritance
  • A Word of Caution
  • Private Inheritance
  • Protected Inheritance
  • Functions That Are Not Inherited
  • Incremental Development
  • Pure Virtual Functions
  • Virtual Functions under the Hood
  • Why virtual Functions?
  • Virtual Functions in Derived Classes
  • Object Slicing
  • Virtual Functions and Constructors
  • Destructors and virtual Destructors
  • Virtual Base Classes
  • Putting it All Together
  • The iostream Library
  • The ios Class
  • Manipulators
  • Creating Our Own Manipulators
  • User-defined Manipulators with Arguments
  • Come GUI and…
  • The istream Class
  • The ostream Class
  • The iostream Class
  • The with assign Classes
  • Predefined Stream Objects
  • Outputting Strings
  • A Brief Review
  • File I/O with Streams
  • A Better way
  • A File copy Program
  • File Opening Modes
  • Binary I/O
  • Elementary Database Management
  • Class That Read/Write Themselves
  • Errors during I/O
  • File copy Program Revisited
  • Overloading «and»
  • Str streams
  • Automatic Storage Allocation
  • Sending Output to Printer
  • Classes Within Classes
  • friend Functions
  • Overloading « and »
  • One More Use Of friend Function
  • friend Classes
  • A Word of Caution
  • Smart Pointers
  • More Smart Pointers
  • Pointers to Members
  • The explicit Keyword
  • The mutable Keyword
  • Namespaces
  • Using A Namespace
  • RTTI
  • When to Use RTTI
  • Typecasting in C++
  • Function Templates
  • A Template Based Quick Sort
  • Class Templates
  • A Linked List Class Template
  • Tips about List Class Template
  • Checking Function Return Value
  • setjmp( ) and longjmp( )
  • Exception Handling in C++
  • Exception with Arguments
  • Tic Tac Toe Game
  • Student Management System
  • Student Attendance Management System
  • Event Management System
  • Hangman Game
  • Employee Leave Management System
  • Furniture Business System
  • Society Management System
  • Why should you learn Java?
  • Prerequisites for this course
  • What are you going to learn?
  • Introduction to programming languages
  • Installing Java Development Kit (JDK)
  • JDK, JRE and JVM
  • Importance of Java in the context of Internet
  • Features of Java
  • Object Oriented Programming Paradigm (OOP)
  • Relationship between classes and objects
  • Features of OOPs - Encapsulation and Inheritance
  • Features of OOPs - Abstraction and Polymorphism
  • Data types in Java - Integers, floating-point, characters, Boolean
  • Concept of variables, their declarations
  • Literals - Integer, floating-point, character, Boolean, strings
  • How to Write java code, compile and execute?
  • Explanation of System class and printing method
  • First Java Program using Notepad
  • Explanation of important terms like main(), public, void, static
  • Comments in Java
  • Understanding command line arguments
  • Sample program of command line arguments
  • Using parseInt() with command line arguments
  • Using parseFloat() with command line arguments
  • Introduction to IDEs
  • Components of Netbeans
  • Creating a project in Netbeans
  • Exporting & importing projects
  • Intro to Eclipse IDE
  • Intro to IntelliJ IDE
  • Online IDEs
  • First Java Program using NetBeans
  • Second Java program in NetBeans
  • Understanding concatenation
  • Coding examples of concatenation
  • Using Command Line arguments in Java program written in NetBeans
  • Reading values from keyboard using Scanner class object
  • Tricks to prevent the skipping of String input value
  • Implicit type casting
  • Explicit type casting
  • Sample programs
  • Formatting output using printf()
  • More about formatting output
  • Formatting dates
  • Operators in Java
  • Precedence and associativity of operators
  • Examples of precedence and associativity
  • Sample programs illustrating usage of arithmetic operators
  • Sample programs illustrating usage of relational operators
  • Sample programs illustrating usage of logical operators
  • Sample programs illustrating usage of unary operators
  • Sample programs illustrating usage of ternary operator
  • Compound assignment operators with sample programs
  • Programming Construct Sequence
  • Sample programs of sequence
  • if statement
  • Sample programs of if
  • if else if ladder
  • Sample programs of if else if ladder
  • Nested if
  • Sample programs of nested if
  • Overview of switch case construct
  • Sample programs of switch case
  • Difference between if and switch case
  • Practice program - Switch Case - To find out salary of employee
  • Basics of loops and while loop
  • sample programs of while loop
  • while loop pre-tested property
  • Basics of do…while loop
  • while loop post-tested property
  • Basics of for loop
  • Sample programs of for loop
  • for loop pre-tested property
  • More features of for loop
  • Infinite loops
  • Using break statement
  • Using continue statement
  • Practice program - Factorial
  • Practice program - Reverse a number
  • Practice program - Palindrome number
  • Practice program - Armstrong number
  • Practice program - Prime number
  • Practice program - Biggest among n numbers
  • Practice program - finding the square roots of a range of numbers
  • Practice program - finding the power of numbers
  • Practice program - generating Fibonacci series
  • Practice program - printing ASCII set
  • Practice program - Number guessing game
  • Introduction to nested loops
  • Second sample program of nested loops
  • Third sample program of nested loops
  • Fourth sample program of nested loops
  • Fifth sample program of nested loops
  • Practice program - Printing multiple tables
  • Practice program - Asking the user whether to continue printing factorials
  • Practice program - Asking the user whether to continue printing tables
  • Explanation of Integer methods - compareto, toString, valueOf
  • Programs of compareTo, toString, valueOf
  • Explanation of Integer methods - doubleValue, floatValue, equals
  • Programs of doubleValue, floatValue, equals
  • Explanation of Integer methods - Signum, Min, Max, parseInt
  • Programs of Signum,Min, Max, parseInt
  • Explanation of Integer methods - intValue, sum
  • Programs of intValue, sum
  • Explanation of float methods - compareTo, toString
  • Programs of compareTo, toString
  • Explanation of valueOf, doublevalue, equals, parseFloat
  • Programs of valueOf, doubleValue, equals, parseFloat
  • The basic concept of arrays
  • Declaring an array dynamically using two methods
  • Traversing array elements
  • Array name-reference to the array
  • Using for each format of the for loop
  • Merging two arrays
  • Getting the absolute values of array elements
  • Array of strings
  • Linear Search Logic and algorithm
  • Linear search program
  • Logic of Binary search
  • Algorithm of binary search
  • Program of binary search
  • Flow of Logic of Bubble sort
  • Algorithm of bubble sort
  • Bubble sort program
  • Flow of logic of selection sort
  • Algorithm of selection sort
  • Selection sort program
  • Using sort method of Array class
  • Basics of double dimensional arrays
  • First sample program of 2-D arrays
  • Second sample program of 2-D arrays
  • Third sample program of 2-D arrays
  • 2-D arrays with different number of columns
  • Matrix addition - logic and algo
  • Program of matrix addition
  • Logic of matrix multiplication
  • Algorithm of matrix multiplication
  • Program of matrix multiplication
  • Basics of functions
  • Components of a function
  • Understanding actual & formal parameters - explanation
  • Understanding actual & formal parameters - sample program
  • Second sample program
  • To return or not to return a value - sample programs
  • Scope of variables in functions
  • Facts about return statement
  • Passing an array to a function - Explanation
  • Passing an array to a function - example code
  • Getting average age in an array
  • Returning array reference
  • Basics of recursion
  • Basics of stacks
  • Algo to push into a stack
  • Algo to pop from a stack
  • Factorial program through recursive function
  • Practical coding of classes and objects
  • Area of rectangle
  • Area of circle
  • Hospital billing
  • Income tax calculation
  • Creating an object within the class itself
  • Array of references to objects - Company employees’ example
  • Array of references to objects - Exam result example
  • The concept of null reference
  • Assigning reference to another reference variable
  • Automatic Garbage Collection
  • Method Overloading (Compile-time polymorphism)
  • Method overloading - Rainfall recording data
  • Constructors in Java
  • Default constructors
  • Constructor overloading
  • Constructor overloading - contd.
  • Documentation comments
  • this keyword
  • Basics of getters and setters
  • Using getters and setters for Office_rooms class
  • Automatic creation of setter getter code
  • Generating setters and getters for Pet_dogs class
  • Generating setters and getters for Pet_dogs class
  • static members of a class
  • Counting number of objects - static members
  • Basics of Packages
  • Access specifiers (Visibility modes) in Java
  • Understanding default and private members practically
  • Same package classes in different programs
  • same package classes in different programs - contd.
  • Working in different packages
  • usage of import keyword of Java
  • usage of import keyword of Java - contd.
  • Method signatures
  • Creating abstract classes
  • Abstract class Trainers
  • The basics of interfaces
  • Practical coding of interfaces
  • Interface for areas and circumference
  • An interface extending another interface
  • Introduction to Inheritance
  • Syntax of applying inheritance and Method overriding
  • Writing the Java code for Inheritance
  • Multi-Level inheritance
  • Behaviour of constructors in inheritance
  • Practical example of constructors without arguments in inheritance
  • Practical example of constructors with arguments in inheritance
  • Final classes
  • Final methods
  • Assigning reference of sub-class object into super class reference variable
  • Abstract methods
  • Basics of Polymorphism
  • Practical implementation of Polymorphism
  • Basics of exception handling
  • Uncaught exceptions
  • Catching exceptions using try …. catch blocks
  • Printing Exception Class Reference Variable
  • Multiple catch blocks
  • calling a method from within try block
  • calling a method from within try block - Execution
  • Using super class Exception
  • Handling NullPointerException
  • Handling NumberFormatException
  • throw: throwing an exception manually
  • throws: handling checked exceptions
  • Nested try block
  • Introduction to data structures
  • Basics of Collections and ArrayList traversal using Iterator interface
  • Traversing ArrayList elements using for each loop
  • Storing user-defined objects and retrieving them using Iterators interface
  • Storing user-defined objects and retrieving them using foreach loop
  • Storing and retrieving objects of nations’ capitals
  • Using toArray() method of ArrayList class
  • Basics of linked lists
  • Explanation of logic of traversal of nodes using algorithm
  • Programs of LinkedList Collection
  • Programs of stacks
  • Basics of trees
  • Adding numeric elements in a TreeSet
  • Adding string elements in a tree TreeSet
  • Removing an element from a TreeSet
  • Searching an element from a TreeSet
  • Basics of queues
  • Explanation of insertion operation of a queue using algorithm
  • Explanation of deletion operation of a queue using algorithm
  • Programs of queues
  • ListIterator interface - Traversing collection elements in both directions
  • Using sort method of Collections class
  • Sorting user-defined objects
  • Hashset explanation and example
  • Hashset with numeric values
  • Applying size and contains methods of HashSet class
  • Applying remove() method of HashSet class
  • Applying clear() and isEmpty() methods of HashSet class
  • LinkedHashset class
Eligibility Criteria
• Basic knowledge of computers and keen desire to build skills in this field.
• Open to students, job seekers, and working professionals.
Official Certification
• Official MKCL KLiC Certificate upon successful completion of the course and evaluations.
Work-Centric Learning Approach
• Step 1: Learners are given an overview of the course and its connection to life and work
• Step 2: Learners are exposed to the specific tool(s) used in the course through the various real-life applications of the tool(s).
• Step 3: Learners are acquainted with the careers and the hierarchy of roles they can perform at workplaces after attaining increasing levels of mastery over the tool(s).
• Step 4: Learners are acquainted with the architecture of the tool or tool map so as to appreciate various parts of the tool, their functions, utility and inter-relations.
• Step 5: Learners are exposed to simple application development methodology by using the tool at the beginner’s level.
• Step 6: Learners perform the differential skills related to the use of the tool to improve the given ready-made industry-standard outputs.
• Step 7: Learners are engaged in appreciation of real-life case studies developed by the experts.
• Step 8: Learners are encouraged to proceed from appreciation to imitation of the experts.
• Step 9: After the imitation experience, they are required to improve the expert’s outputs so that they proceed from mere imitation to emulation.
• Step 10: Emulation is taken a level further from working with differential skills towards the visualization and creation of a complete output according to the requirements provided. (Long Assignments)
• Step 11: Understanding the requirements, communicating one’s own thoughts and presenting are important skills required in facing an interview for securing a work order/job. For instilling these skills, learners are presented with various subject-specific technical as well as HR-oriented questions and encouraged to answer them.
• Step 12: Finally, they develop the integral skills involving optimal methods and best practices to produce useful outputs right from scratch, publish them in their ePortfolio and thereby proceed from emulation to self-expression, from self-expression to self-confidence and from self-confidence to self-reliance and self-esteem!

Ready to start C & C++ Programming and Java Programming Essentials?

Join our upcoming batch at ZICA Kalyani center with certified instructors.