0% found this document useful (0 votes)
2 views17 pages

005 C & C++ Programming and Java Programming Essentials_120hr

Uploaded by

Shubham Joshi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views17 pages

005 C & C++ Programming and Java Programming Essentials_120hr

Uploaded by

Shubham Joshi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Course Title: C & C++ Programming and Java Programming

Essentials

Duration: 120 hours


Marks: 100

(Final Exam: 30 Marks, Comprehensive Continuous Evaluation (CCE):


70 Marks)

Objectives of the Course:

1. Introduce the Fundamentals of C Programming: Learners will learn the


basic concepts of C programming including variables, data types, and
operators to understand how simple programs are constructed.
2. Understand Control Structures: Explore decision-making, looping, and case
control structures to manage the flow of a C program.
3. Master Functions and Pointers: Gain proficiency in using functions and
pointers for modular programming and effective memory management.
4. Deep Dive into Data Structures: Understand the implementation and
application of essential data structures like arrays, structures, and
pointers.
5. Explore Advanced Features of C: Cover advanced topics such as storage
classes, preprocessors, bit manipulation, and C under Windows to enhance
program functionality and efficiency.
6. Develop Proficiency in File Handling: Learn how to handle files for
input/output operations and understand file manipulation at a deeper
level.
7. Implement Object-Oriented Concepts in C++: Transition from C to C++
programming to embrace object-oriented programming paradigms.
8. Leverage C++ for GUI Development and Graphics: Utilize C++ for
graphical user interface development and graphical applications in
Windows.
9. Understand Exception Handling and Templates in C++: Master advanced
C++ features including templates and exception handling to write robust
and high-performance software.
10.Prepare for Real-world Programming: Through practical case studies and
projects, prepare Learners for actual programming scenarios in business
and gaming.
11.Understand the introduction and features of Java and its significance in the
programming world.
12.Identify and use data types, variables, and literals in Java, and write basic
Java code.
13.Develop Java programs using various IDEs, including NetBeans, Eclipse,
and IntelliJ.
14.Read and process input values of various data types using Java's Scanner
class and other methods.
15.Apply different operators in Java to perform arithmetic, logical, relational,
and other operations.
16.Implement control structures using if statements and switch case
constructs.

Proprietary
17.Utilize iteration statements (loops) such as while, do-while, and for loops
in Java programs.
18.Implement advanced iteration techniques using break and continue
statements.
19.Enhance programming skills through practice programs that use loops.
20.Understand and use nested loops for solving complex programming tasks.

Outcomes of the Course:

1. Write Efficient C Programs: Learners will be able to develop C programs


using basic and advanced concepts effectively.
2. Utilize Control Structures: Learners will demonstrate the ability to use
various control structures in C for building logical parts of the program.
3. Implement Functions and Pointers: Learners will understand the use of
functions and pointers to reduce complexity and increase the efficiency of
programs.
4. Operate with Data Structures: Learners will be skilled in implementing and
manipulating data structures to solve real-world problems.
5. Apply Advanced C Concepts: Learners will integrate advanced
programming techniques and storage classes in their software solutions.
6. Manage Files Effectively: Learners will acquire the ability to perform critical
file operations, enhancing their capability to handle data persistently.
7. Develop Object-Oriented Applications: Learners will transition to object-
oriented programming using C++ to build scalable and maintainable
software.
8. Create GUI and Graphics with C++: Learners will learn to develop
graphical user interfaces and simple graphics programs, preparing them
for applications in various domains.
9. Handle Exceptions and Use Templates: Learners will utilize templates for
generic programming and manage exceptions to build reliable
applications.
10.Complete Real-world Projects: Learners will demonstrate the ability to
apply their knowledge to complete substantial projects that simulate real-
world tasks.
11.Explain why Java is important, install the JDK, and understand OOP
principles like encapsulation, inheritance, abstraction, and polymorphism.
12.Declare and use variables, data types, and literals, write Java code, and
use command line arguments effectively.
13.Create and manage projects in various IDEs, write and execute Java
programs, and apply concatenation and command line arguments.
14.Read input values using the Scanner class, perform implicit and explicit
type casting, and format output using printf() and other methods.
15.Use arithmetic, relational, logical, unary, ternary, and compound
assignment operators in Java programs with correct precedence and
associativity.
16.Implement if statements, if-else if ladders, nested if statements, and
switch case constructs, and understand their differences.
17.Write and understand while, do-while, and for loops, including their
properties and sample programs.

Proprietary
18.Apply break and continue statements within loops and understand their
impact on loop execution.
19.Solve various programming problems using loops, such as finding prime
numbers, generating Fibonacci series, and more.
20.Implement nested loops in Java programs and solve complex problems like
printing tables and factorials.

Course Syllabus:

1. Getting Started with C Programming


1. Brief Introduction
2. Programming Language
3. About C Programming
4. C Character Set
5. Constants, Variables & Keywords
6. Constants in C
7. Variables in C
8. Writing a C Program
9. Instructions and Assignments
10. Basic Operators in C Programming

2. The Decision Control Structure


1. Decisions Control Structure & the If Statement
2. The if-else Statement
3. Use of Logical Operators
4. Different types of Operators
5. Points to remember

3. Loop Control Structure


1. Loops and the While loop
2. While Loop
3. For Loop
4. Operators in Loop
5. The Odd Loop
6. Break Statement
7. Continue Statement
8. do-while loop
9. Tips to remember

4. Case Control Structure


1. Decisions using switch
2. The Tips and Traps
3. Switch versus if-else Ladder
4. The goto keyword

5. Functions and Pointers


About Functions
Passing Values between Functions

Proprietary
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

6. Data Types Revisited


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

7. The C Preprocessor
1. Features of C Preprocessor
2. Preprocessor and Macro Directives
3. Macros with Arguments and Macros versus Functions
4. Various Directives

8. Arrays
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

Proprietary
9. Pupating on Strings
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

10. Structures
Why Use Structures?
Declaring a Structure
Accessing Structure Elements
Array of Structures
Additional Features of Structures
Uses of Structures

11. Console Input/output


Types of I/O
Formatted Console I/O Functions
sprintf( ) and sscanf( ) Functions
Unformatted Console I/O Functions

12. File Input/Output


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

13. More Issues in Input/output


Using argc and argv
Detecting Errors in Reading/Writing
Explanation
Standard I/O Devices
I/O Redirection

Proprietary
Redirecting the Output
Redirecting the Input & Both Ways at Once

14. Operations on Bits


Binary System & Bitwise Operators
Bitwise AND Operator
Bitwise OR Operator
Bitwise XOR Operator
One's Complement Operator
Shift Operator
The showbits( ) Function

15. Miscellaneous Features


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

16. C Under Windows


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

17. Windows Programming


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

18. Graphics under Windows


Graphics fundamentals
Device Independent Drawing
Hello Windows program

Proprietary
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

19. Interaction with Hardware


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

20. Under Linux


What is Linux
C Programming Under Linux
The ‘Hello Linux’ Program
Processes
Parent and Child Processes
More Processes
Zombies and Orphans

21. More Linux Programming


Communication using Signals
Handling Multiple Signals
Registering a Common Handler
Blocking Signals
Event Driven Programming

22. Memory Mapping


Introduction to Memory Map
Memory Organization
Segmentation
Loading OS & Booting Process
The resident and transient memory area

Proprietary
Program memory area at run time
Memory representation of data & function objects

23. C Traps & Pitfall


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
24. Intro to OOP
1. The Beginning
2. Structured Programming
3. Object Oriented Programing
4. Characteristics of Object-Oriented Programing

25. Grad Function Prototypes


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++

26. Functions
Function Prototypes
Function Overloading
Default Arguments in Functions
Operator Overloading
Inline Functions

Proprietary
Static, virtual and friend Functions

27. Classes in C++


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

28. The C++ Free Store


Free Store Exhaustion
Custom new and delete Operators
Overloading new/delete in Classes
Understanding The sequence
Construction at Predetermined Location
One Last Issue

29. Miscellaneous Class Issue


Static Class Data
Static Member Functions
const and Classes
Overloaded Assignment Operator, Copy Constructor
Data Conversion
Data Conversion between Object of Different Classes

30. Data Structures through C++


Stacks and Queues
The Linked List
Stacks and Queues Revisited
Trees
Binary Trees
Traversal of a Binary Tree
Deletion from a Binary Tree

31. Inheritance
More Inheritance
Some More Inheritance
Multiple Levels of Inheritance
Multiple Inheritance
Constructors in Multiple Inheritance

Proprietary
A Word of Caution
Private Inheritance
Protected Inheritance
Functions That Are Not Inherited
Incremental Development

32. Virtual Functions


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

33. Input / Output in C++


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

34. Advanced Features


Classes Within Classes
friend Functions
Overloading << and >>

Proprietary
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++

35. Templates
Function Templates
A Template Based Quick Sort
Class Templates
A Linked List Class Template
Tips about List Class Template

36. Exception Handling


Checking Function Return Value
setjmp( ) and longjmp( )
Exception Handling in C++
Exception with Arguments

37. Case Studies


1. Tic Tac Toe Game
2. Student Management System
3. Student Attendance Management System
4. Event Management System
5. Hangman Game
6. Employee Leave Management System
7. Furniture Business System
8. Society Management System
2. Introduction and Features of Java
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

Proprietary
Features of OOPs - Abstraction and Polymorphism
3. Data Types, Variables, Literals and Coding
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
4. Writing programs in Netbeans & its options
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
5. Reading the Values of Various Data Types
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
6. Operators
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

Proprietary
7. Control Structures - If and Switch Case
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
8. Iteration (Looping)
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
9. More about Iteration, break and continue
1. More features of for loop
2. Infinite loops
3. Using break statement
4. Using continue statement
5. Practice program - Factorial
6. Practice program - Reverse a number
7. Practice program - Palindrome number
8. Practice program - Armstrong number
10. Honing the Programming Skills using Loops
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
11. Honing the Programming Skills using Nested Loops
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

Proprietary
Practice program - Asking the user whether to continue printing factorials
Practice program - Asking the user whether to continue printing tables
12. Methods of Integer and Float classes
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
13. Concept of Arrays
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
14. Searching & Sorting Techniques
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
15. Double Dimensional Arrays
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

Proprietary
Algorithm of matrix multiplication
Program of matrix multiplication
16. Functions (Methods)
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
17. Array Passing and Recursion
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
18. Java Coding for Classes and Objects
Practical coding of classes and objects
Area of rectangle
Area of circle
Hospital billing
Income tax calculation
Creating an object within the class itself
19. References, Garbage collection & Method Overloading
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
20. Constructors, Documentation Comments, This Keyword
Constructors in Java
Default constructors
Constructor overloading
Constructor overloading - contd.
Documentation comments
this keyword
21. Getters and Setters, Static Members
Basics of getters and setters
Using getters and setters for Office_rooms class

Proprietary
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
22. Packages in Java
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.
23. Method Signatures, Abstract Classes, Interfaces
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
24. Inheritance
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
25. Using Final Keyword, Abstract Methods, Polymorphism
Final classes
Final methods
Assigning reference of sub-class object into super class reference variable
Abstract methods
Basics of Polymorphism
Practical implementation of Polymorphism
26. Exception Handling
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

Proprietary
27. Exception Handling (continued)
Handling NullPointerException
Handling NumberFormatException
throw: throwing an exception manually
throws: handling checked exceptions
Nested try block
28. Java Collection Framework (JCF)
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

Proprietary

You might also like