TABFlux
HomeCoursesUniversitiesProgramsForum
Contact Us

© 2026 TABFlux. All rights reserved. Built for students, by students.

ForumPrivacy PolicyTerms of ServiceContact UsContributors

OOP in C++/Java

Object-Oriented Programming (OOPs) is a programming paradigm that organizes software around objects and classes. It focuses on core concepts such as encapsulation, inheritance, polymorphism, and abstraction, enabling modular, reusable, and maintainable software development.

Select University

TUPoUFWU

Select Program

BSC-CSITBCA-NEWBCA-OLDBITBCT-NEWBEI-NEW

TabFlux . Object Oriented Programming in Java . TU . BCA-OLD

Object Oriented Programming in Java

0%

Course Title: Object Oriented Programming in Java

Course No: CACS204

Nature of the Course: Theory + Lab

Semester: 3

Full Marks: 20 + 20 + 60

Pass Marks: 8 + 8 + 24

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Introduction to Java
2 hrs
1.1. Definition, History of Java
1.2. The Internet and Java's Place in IT
1.3. Applications and Applets
1.4. Java Virtual Machine
1.5. Byte Code- not an Executable code
1.6. Procedure-Oriented vs. Object-Oriented Programming
1.7. Compiling and Running a Simple Program
1.8. Setting up your Computer for Java Environment
1.9. Writing a Program
1.10. Compiling, Interpreting and Running the Program
1.11. Handling Common Errors
2. Tokens, Expressions and Control Structures
5 hrs
2.1. Primitive Data Types
  • Integers
  • Floating-Point types
  • Characters
  • Booleans
2.2. User-Defined Data Types
  • Declarations
  • Constants
  • Identifiers
  • Literals
  • Type Conversion and Casting
2.3. Variables
  • Variable Definition and Assignment
  • Default Variable Initializations
2.4. Command-Line Arguments
2.5. Arrays of Primitive Data Types
2.6. Comment Syntax
2.7. Garbage Collection
2.8. Expressions
2.9. Using Operators
  • Arithmetic
  • Bitwise
  • Relational
  • Logical
  • Assignment
  • Conditional
  • Shift
  • Ternary
  • Auto-increment and Auto-decrement
2.10. Using Control Statements
  • Branching: if, switch
  • Looping: while, do-while, for
  • Jumping statements: break, continue and return
3. Object Oriented Programming Concepts
9 hrs
3.1. Fundamentals of Classes: A Simple Class
3.2. Creating Class Instances
3.3. Adding methods to a class
3.4. Calling Functions/Methods
3.5. Abstraction
3.6. Encapsulation
3.7. Using 'this' keyword
3.8. Constructors
  • Default constructors
  • Parameterized constructors
3.9. More on methods
  • Passing by Value
  • Passing by Reference
  • Access Control
  • Methods that Return Values
3.10. Polymorphism and Method Overloading
3.11. Recursion
3.12. Nested and Inner Classes
4. Inheritance & Packaging
3 hrs
4.1. Inheritance
  • Using 'extends' keyword
  • Subclasses and Superclasses
  • 'super' keyword usage
  • Overriding Methods
  • Dynamic Method Dispatch
  • The Object class
  • Abstract and Final Classes
4.2. Packages
  • Defining a Package
  • Importing a Package
  • Access Control
4.3. Interfaces
  • Defining an Interface
  • Implementing and applying interfaces
5. Handling Error/Exceptions
2 hrs
5.1. Basic Exceptions
5.2. Proper use of exceptions
5.3. User defined Exceptions
5.4. Catching Exception: try, catch
5.5. Throwing and re-throwing: throw, throws
5.6. Cleaning up using the finally clause
6. Handling Strings
2 hrs
6.1. Creation, Concatenation and Conversion of a String
6.2. Changing Case
6.3. Character Extraction
6.4. String Comparison
6.5. Searching Strings
6.6. Modifying Strings
6.7. String Buffer
7. Threads
3 hrs
7.1. Create/Instantiate/Start New Threads
  • Extending java.lang.Thread
  • Implementing java.lang.Runnable Interface
7.2. Understand Thread Execution
7.3. Thread Priorities
7.4. Synchronization
7.5. Inter-Thread Communication
7.6. Deadlock
8. I/O and Streams
2 hrs
8.1. java.io package
8.2. Files and directories
8.3. Streams
  • Byte Streams
  • Character Streams
8.4. Reading/Writing Console Input/Output
8.5. Reading and Writing files
8.6. The Serialization Interface
8.7. Serialization & Deserialization
9. Understanding Core Packages
3 hrs
9.1. Using java.lang Package
  • java.lang.Math
  • Wrapper classes and associated methods
9.2. Using java.util package
  • Core classes: Vector, Stack, Dictionary, Hashtable, Enumerations, Random Number Generation
10. Holding Collection of Data
3 hrs
10.1. Arrays And Collection Classes/Interfaces
10.2. Map/List/Set Implementations
  • Map Interface
  • List Interface
  • Set Interface
10.3. Collection Classes
  • Array List
  • Linked List
  • Hash Set
  • Tree Set
10.4. Accessing Collections/Use of An Iterator
10.5. Comparator
11. Java Applications
8 hrs
11.1. About AWT & Swing
11.2. About JFrame (a top level window in Swing)
11.3. Swing components: JLabel, About text component like JTextField, JButton
11.4. Event Handling in Swing Applications
11.5. Layout Management
  • Flow Layout
  • Border Layout
  • Grid Layout
11.6. Using JPanel
11.7. Choice components: JCheck Box, JRadio Button
11.8. Borders components
11.9. JCombo Box & its events
11.10. JList & its events with MVC patterns
11.11. Key & Mouse Event Handling
11.12. Menus in swing
11.13. JText Area
11.14. Dialog boxes in swing
11.15. JTable for Displaying Data in Tabular form
11.16. MDI using JDesktop Pane & JInternal Frame
11.17. Using IDE like Netbeans, JBuilder for building java applications using Drag & Drop
11.18. Adapter classes
12. Introduction to Java Applets
1 hrs
12.1. Definition
12.2. Applet lifecycle methods
12.3. Build a simple applet
12.4. Using Applet Viewer
12.5. Adding Controls: Animation Concepts
13. Database Programming using JDBC
2 hrs
13.1. Using Connection, Statement & Result Set Interfaces for Manipulating Data with the Databases

Laboratory Works

  1. 1.Laboratory Work covering all course topics

Text Books

  1. 1.Deitel & Dietel, "Java: How to program", 9th Edition, Pearson Education, 2011, ISBN: 9780273759768
  2. 2.Herbert Schildt, "Java: The Complete Reference", Seventh Edition, McGraw-Hill 2006, ISBN: 0072263857

Reference Books

  1. 1.Bruce Eckel, "Thinking in Java", 4th Edition, Prentice Hall, 2006, ISBN: 0-13-187248-6
  2. 2.Cay Horstmann and Grazy Cornell, "Core Java Volume I-Fundamentals", Ninth Edition, Prentice Hall, 2012, ISBN: 978-0137081899
  3. 3.E. Balagurusamy, "Programming with Java: A Primer", 4th Edition, Tata McGraw Hill Publication, India

Notes:

Source:

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.

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.

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.
This syllabus follows the official BCA curriculum of Tribhuvan University. In case of any doubt or revision, the university's published syllabus shall be considered authoritative.