Object Oriented Programming in Java - Syllabus

Course Overview and Structure

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

    Overview of E-commerce and its significance in the digital age.

  • E-business vs E-commerce
    IN-2

    Understanding the differences between E-business and E-commerce.

  • Features of E-commerce
    IN-3

    Key characteristics and benefits of E-commerce.

  • Pure vs Partial E-commerce
    IN-4

    Types of E-commerce models and their applications.

  • History of E-commerce
    IN-5

    Evolution and development of E-commerce over time.

  • E-commerce Framework
    IN-6

    Understanding the components of E-commerce framework including People, Public Policy, Marketing and Advertisement, Support Services, and Business Partnerships.

  • Types of E-commerce
    IN-7

    Overview 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-8

    Common obstacles and difficulties faced in E-commerce.

Primitive Data Types: Integers, Floating-Point types, Characters, Booleans; User Defined Data Types, Declarations, Constants, Identifiers, Literals, Type Conversion and Casting, Variables: Variable Definition and Assignment, Default Variable Initializations;  Command-Line Arguments, Arrays of Primitive Data Types, Comment Syntax, Garbage Collection, Expressions, Using Operators: Arithmetic, Bitwise, Relational, Logical, Assignment, Conditional, Shift, Ternary, Auto-increment and Auto-decrement, Using Control Statements(Branching: if, switch; Looping: while, do-while, for; Jumping statements: break, continue and return)

Fundamentals of Classes: A  Simple Class, Creating Class Instances, Adding methods to  a class, Calling Functions/Methods, Abstraction, Encapsulation, Using 'this' Keyword, Constructors, Default constructors, More on methods: Passing by Value,by Reference, Access Control, Methods that Return Values, Polymorphism and Method Overloading, Recursion; Nested and Inner Classes

Key Topics

  • Introduction to E-commerce
    IN-1

    Overview of E-commerce and its significance in the digital age.

  • E-business vs E-commerce
    IN-2

    Understanding the differences between E-business and E-commerce.

  • Features of E-commerce
    IN-3

    Key characteristics and benefits of E-commerce.

  • Pure vs Partial E-commerce
    IN-4

    Types of E-commerce models and their applications.

  • History of E-commerce
    IN-5

    Evolution and development of E-commerce over time.

  • E-commerce Framework
    IN-6

    Understanding the components of E-commerce framework including People, Public Policy, Marketing and Advertisement, Support Services, and Business Partnerships.

  • Types of E-commerce
    IN-7

    Overview 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-1

    Understanding 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-2

    Best practices for using exceptions in Java programming, including when to use them and how to handle them effectively.

  • User defined Exceptions
    HA-3

    Creating custom exceptions in Java to handle specific error scenarios, and how to use them in programming.

  • Catching Exception: try, catch
    HA-4

    Using 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-5

    Understanding how to throw and re-throw exceptions in Java using the throw and throws keywords.

  • Cleaning up using the finally clause
    HA-6

    Using the finally clause to ensure that resources are cleaned up after an exception is thrown, and how to use it effectively in Java programming.

Creation, Concatenation and Conversion of a String, Changing Case, Character Extraction, String Comparision, Searching Strings, Modifying Strings, String Buffer.

Create/Instantiate/Start New Threads: Extending java.lang.Thread, Implementingbjava.lang.Runnable Interface; Understand Thread Execution, Thread Priorities, Synchronization, Inter-Thread Communication, Deadlock.

java.io package, Files and directories, Streams and Character Streams; Reading/Writing Console Input/Output, Reading and Writing files, The Serialization Interface, Serialization & Deserialization.

Using java.lang Package: java.lang.Math, Wrapper classes and associated methods (Number, Double, Float; Integer, Byte; Short, Long; Character, Boolean); Using java.util package: Core classes (Vector, Stack, Dictionary, Hashtable, Enumerations, Random Number Generation).

Arrays And Collection Classes/Interfaces, Map/List/Set Implementations: Map Interface, List Interface, Set Interface, Collection Classes: Array List, Linked List, Hash Set and Tree Set, Accessing Collections/Use of An Iterator, Comparator.

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.

Definition, Applet lifecycle methods, Build a simple applet, Using Applet Viewer, Adding Controls: Animation Concepts.

Using Connection, Statement & Result Set Interfaces for Manipulating Data with the Databases.

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.