Object Oriented Programming in Java - Syllabus
Embark on a profound academic exploration as you delve into the Object Oriented Programming in Java course (OOP) within the distinguished Tribhuvan university's BCA department. Aligned with the BCA Curriculum, this course (CACS204) seamlessly merges theoretical frameworks with practical sessions, ensuring a comprehensive understanding of the subject. Rigorous assessment based on a 60 + 20 + 20 marks system, coupled with a challenging passing threshold of , propels students to strive for excellence, fostering a deeper grasp of the course content.
This 3 credit-hour journey unfolds as a holistic learning experience, bridging theory and application. Beyond theoretical comprehension, students actively engage in practical sessions, acquiring valuable skills for real-world scenarios. Immerse yourself in this well-structured course, where each element, from the course description to interactive sessions, is meticulously crafted to shape a well-rounded and insightful academic experience.
Course Description
This course covers preliminary concepts of object-oriented approach in programming with basic skills using Java. Control structures, Classes, methods and argument passing and iteration; graphical user interface basics Programming and documentation style.
Course Objectives
The general objectives of this course are to provide fundamental concepts of Object Oriented Programming and make students familiar with Java environment and its applications.
Units
Key Topics
-
Introduction to E-commerce
IN-1Overview of E-commerce and its significance in the digital age.
-
E-business vs E-commerce
IN-2Understanding the differences between E-business and E-commerce.
-
Features of E-commerce
IN-3Key characteristics and benefits of E-commerce.
-
Pure vs Partial E-commerce
IN-4Types of E-commerce models and their applications.
-
History of E-commerce
IN-5Evolution and development of E-commerce over time.
-
E-commerce Framework
IN-6Understanding the components of E-commerce framework including People, Public Policy, Marketing and Advertisement, Support Services, and Business Partnerships.
-
Types of E-commerce
IN-7Overview of different types of E-commerce including B2C, B2B, C2B, C2C, M-Commerce, U-commerce, Social-Ecommerce, and Local E-commerce.
-
Challenges in E-commerce
IN-8Common obstacles and difficulties faced in E-commerce.
Key Topics
-
Functions and Graphs
TO-1Study of functions and their graphical representations, including domain, range, and composition of functions.
-
Extreme Values of Functions
TO-2Analysis of extreme values of functions, including maxima and minima, and graphing of derivatives.
-
Mean Value Theorem
TO-3Introduction to the Mean Value Theorem, a fundamental concept in differential calculus.
-
Definite Integrals
TO-4Study of definite integrals, including properties, applications, and the Mean Value Theorem for definite integrals.
-
Fundamental Theorem of Integral Calculus
TO-5Exploration of the Fundamental Theorem of Integral Calculus, including its application and improper integrals.
-
Arrays of Primitive Data Types
TO-6This topic covers arrays of primitive data types in Java, including declaration and manipulation.
-
Comment Syntax
TO-7This topic discusses comment syntax in Java, including single-line and multi-line comments.
-
Garbage Collection
TO-8This topic explains garbage collection in Java, including how it works and its importance.
-
Expressions
TO-9This topic covers expressions in Java, including using operators and evaluating expressions.
-
Arithmetic Operators
TO-10This topic discusses arithmetic operators in Java, including addition, subtraction, multiplication, and division.
-
Bitwise Operators
TO-11This topic covers bitwise operators in Java, including AND, OR, and XOR.
-
Relational Operators
TO-12This topic explains relational operators in Java, including equality, inequality, and comparison operators.
-
Logical Operators
TO-13This topic discusses logical operators in Java, including AND, OR, and NOT.
-
Assignment Operators
TO-14This topic covers assignment operators in Java, including basic assignment and compound assignment.
-
Conditional Operators
TO-15This topic explains conditional operators in Java, including if-else statements and ternary operators.
-
Shift Operators
TO-16This topic discusses shift operators in Java, including left shift, right shift, and unsigned right shift.
-
Auto-increment and Auto-decrement
TO-17This topic covers auto-increment and auto-decrement operators in Java, including pre-increment, post-increment, pre-decrement, and post-decrement.
-
Control Statements
TO-18This topic explains control statements in Java, including branching, looping, and jumping statements.
-
Branching Statements
TO-19This topic covers branching statements in Java, including if-else statements and switch statements.
-
Looping Statements
TO-20This topic discusses looping statements in Java, including while loops, do-while loops, and for loops.
-
Jumping Statements
TO-21This topic explains jumping statements in Java, including break, continue, and return statements.
Key Topics
-
Object Database Concepts
OB-01Introduction to object database concepts, including the basics of object-oriented databases and their differences from traditional relational databases.
-
Object Database Extensions to SQL
OB-02Extensions to SQL for object databases, including support for complex data types and object-oriented features.
-
The ODMG Object Model and ODL
OB-03The Object Data Management Group (ODMG) object model and the Object Definition Language (ODL), including their role in defining object databases.
-
Object Database Conceptual Design
OB-04Conceptual design principles for object databases, including data modeling and schema design.
-
Object Query Language OQL
OB-05The Object Query Language (OQL), including its syntax, features, and use cases for querying object databases.
-
Language Binding in the ODMG Standard
OB-06Language binding in the ODMG standard, including the integration of object databases with programming languages.
-
Using 'this' Keyword
OB-07Understanding the use of the 'this' keyword in Java, including referencing the current object and distinguishing between instance and local variables.
-
Constructors
OB-08Special methods in a class that are used to initialize objects when they are created.
-
Default Constructors
OB-09Understanding default constructors in Java, including their role in initializing objects when no explicit constructor is defined.
-
Passing by Value and by Reference
OB-10Understanding the difference between passing method parameters by value and by reference in Java.
-
Access Control
OB-11Understanding access control in Java, including public, private, and protected access modifiers.
-
Methods that Return Values
OB-12Defining and using methods that return values in Java, including understanding the concept of method return types.
-
Polymorphism and Method Overloading
OB-13Understanding polymorphism and method overloading in Java, including defining multiple methods with the same name but different parameters.
-
Recursion
OB-14Understanding recursive methods in Java, including defining and calling methods that call themselves.
-
Nested and Inner Classes
OB-15Understanding nested and inner classes in Java, including defining classes within other classes and their use cases.
Key Topics
-
Introduction to E-commerce
IN-1Overview of E-commerce and its significance in the digital age.
-
E-business vs E-commerce
IN-2Understanding the differences between E-business and E-commerce.
-
Features of E-commerce
IN-3Key characteristics and benefits of E-commerce.
-
Pure vs Partial E-commerce
IN-4Types of E-commerce models and their applications.
-
History of E-commerce
IN-5Evolution and development of E-commerce over time.
-
E-commerce Framework
IN-6Understanding the components of E-commerce framework including People, Public Policy, Marketing and Advertisement, Support Services, and Business Partnerships.
-
Types of E-commerce
IN-7Overview of different types of E-commerce including B2C, B2B, C2B, C2C, M-Commerce, U-commerce, Social-Ecommerce, and Local E-commerce.
Key Topics
-
Basic Exceptions
HA-1Understanding the concept of exceptions and how they are used in Java programming. This topic covers the basics of exceptions and their importance in error handling.
-
Proper use of exceptions
HA-2Best practices for using exceptions in Java programming, including when to use them and how to handle them effectively.
-
User defined Exceptions
HA-3Creating custom exceptions in Java to handle specific error scenarios, and how to use them in programming.
-
Catching Exception: try, catch
HA-4Using the try-catch block to catch and handle exceptions in Java, including how to write effective catch blocks.
-
Throwing and re-throwing: throw, throws
HA-5Understanding how to throw and re-throw exceptions in Java using the throw and throws keywords.
-
Cleaning up using the finally clause
HA-6Using the finally clause to ensure that resources are cleaned up after an exception is thrown, and how to use it effectively in Java programming.
Key Topics
-
Basic Exceptions
HA-1Understanding the concept of exceptions and how they are used in Java programming. This topic covers the basics of exceptions and their importance in error handling.
-
Proper use of exceptions
HA-2Best practices for using exceptions in Java programming, including when to use them and how to handle them effectively.
-
User defined Exceptions
HA-3Creating custom exceptions in Java to handle specific error scenarios, and how to use them in programming.
-
Catching Exception: try, catch
HA-4Using the try-catch block to catch and handle exceptions in Java, including how to write effective catch blocks.
-
Throwing and re-throwing: throw, throws
HA-5Understanding how to throw and re-throw exceptions in Java using the throw and throws keywords.
-
Cleaning up using the finally clause
HA-6Using the finally clause to ensure that resources are cleaned up after an exception is thrown, and how to use it effectively in Java programming.
-
Searching Strings
HA-7Discover how to search for substrings in Java using the
indexOf()
andcontains()
methods. -
Modifying Strings
HA-8Understand how to modify strings in Java using the
replace()
,trim()
, and other methods. -
String Buffer
HA-9Learn how to use the
StringBuffer
class in Java to efficiently modify strings.
Create/Instantiate/Start New Threads: Extending java.lang.Thread, Implementingbjava.lang.Runnable Interface; Understand Thread Execution, Thread Priorities, Synchronization, Inter-Thread Communication, Deadlock.
Key Topics
-
Java I/O Package
I-1Introduction to the java.io package, which provides classes for input/output operations. This package is the foundation for working with files, streams, and other I/O operations in Java.
-
Files and Directories
I-2Working with files and directories in Java, including creating, reading, and writing files, as well as navigating and manipulating directory structures.
-
Streams and Character Streams
I-3Understanding the concept of streams and character streams in Java, including byte streams and character streams, and how to use them for input/output operations.
-
Console Input/Output
I-4Reading and writing console input/output in Java, including using the System.in and System.out streams for console I/O operations.
-
File Input/Output
I-5Reading and writing files in Java, including using streams and character streams for file I/O operations.
-
Serialization Interface
I-6Understanding the Serialization interface in Java, which allows objects to be converted into a byte stream and reconstructed later.
-
Serialization and Deserialization
I-7The process of serializing and deserializing objects in Java, including the use of the Serializable interface and the ObjectOutputStream and ObjectInputStream classes.
Key Topics
-
Behavior as an Input-Output System
UN-101Understanding behavior as a system that takes in inputs and produces outputs, and how this process affects individual behavior in an organizational setting.
-
Mental Processes
UN-102Exploring the mental processes that influence behavior, including beliefs, attitudes, values, needs, and motives.
-
Sensation and Perception
UN-103The role of sensation and perception in shaping individual behavior, including how we process and interpret sensory information.
-
Emotions
UN-104The impact of emotions on individual behavior, including how emotions are triggered and managed in an organizational context.
-
Cognitive Dissonance
UN-105The concept of cognitive dissonance and how it affects individual behavior, including the tension that arises from conflicting attitudes, beliefs, or values.
Key Topics
-
App Servers
HO-1Overview of application servers including IIS, Nginx, and Apache. Understanding the role of app servers in hosting ASP.NET Core applications.
-
Hosting Models
HO-2Exploring different hosting models for ASP.NET Core applications, including in-process and out-of-process hosting.
-
ASP.NET Core Module
HO-3Understanding the ASP.NET Core Module and its role in hosting ASP.NET Core applications on IIS.
-
Kestrel
HO-4Introduction to Kestrel, a cross-platform web server for hosting ASP.NET Core applications.
-
Docker and Containerization
HO-5Understanding Docker and containerization, and how they can be used to host and deploy ASP.NET Core applications.
-
Publishing to Azure Cloud
HO-6Deploying ASP.NET Core applications to Azure cloud, including publishing and configuration options.
-
HashSet
HO-7Learning about the HashSet class in Java, its methods, and how to use it to store unique data in a hash table.
-
TreeSet
HO-8Understanding the TreeSet class in Java, its methods, and how to use it to store unique data in a sorted tree.
-
Accessing Collections/Use of An Iterator
HO-9Learning how to access and iterate over collections in Java using iterators and loops.
-
Comparator
HO-10Understanding how to use comparators in Java to compare and sort objects in a collection.
About AWT & Swing, About JFrame (a top level window in Swing), Swing components (JLabel, About text component like JTextField, JButton, Event Handling in Swing Applications, Layout Management using FlowLayout, Border Layout, Grid Layout, Using JPanel, Choice components like JCheck Box, JRadio Button, Borders components, JCombo Box & its events, JList & its events with MVC patterns, Key & Mouse Event Handling, Menus in swing, JText Area, Dialog boxes in swing, JTable for Displaying Data in Tabular form, MDI using JDesktop Pane & JInternal Frame, Using IDE like Netbeans, JBuilder for building java applications using Drag & Drop), Adapter classes.
Key Topics
-
Introduction to Computers
IN-01An overview of computers and their significance in today's world. This topic sets the stage for understanding the basics of computers.
-
Digital and Analog Computers
IN-02Understanding the difference between digital and analog computers, their characteristics, and applications.
-
Characteristics of Computers
IN-03Exploring the key characteristics of computers, including input, processing, storage, and output.
-
History of Computers
IN-04A brief history of computers, from their inception to the present day, highlighting key milestones and developments.
-
Generations of Computers
IN-05Understanding the different generations of computers, including their features, advantages, and limitations.
Key Topics
-
Introduction to Databases
DA-1Introduction to databases, including examples and basic concepts.
-
Database Management System
DA-2Introduction to Database Management Systems (DBMS), including advantages and examples.
-
Database Users
DA-3Types of database users, including actors on the scene and workers behind the scene.
Lab works
Laboratory Works
Laboratory works should be done covering all the topics listed above and a small project work should be carried out using the concept learnt in this course. Project should be assigned on Individual Basis.