BCA OOP in Java Syllabus - 3rd Semester

BCA OOP in Java Syllabus - 3rd Semester 

BCA OOP in Java Syllabus - 3rd Semester



Course Title: Object Oriented Programming in Java  

Course Code: CACS 204  

Year/Semester: II/III  

Class Load: 6 hrs./Week  

(Theory: 3 Hrs. Practical: 3 Hrs.)  



Course Description:  

This course covers preliminary concepts of object-oriented approach in programming with basic skills using Java. It encompasses control structures, classes, methods and argument passing, 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.



Course Contents:


Unit 1: Introduction to Java  

2 Hrs  

- Definition

- History of Java

- The internet and Java's place in IT

- Applications and Applets

- Java Virtual Machine

- Byte Code - not an Executable code

- Procedure Oriented vs. Object-oriented programming

- Compiling and running a simple program

- Setting up your computer for Java environment

- Writing a program, compiling, interpreting, and running the program

- Handling common errors


Unit 2: Tokens, Expressions, and Control Structures  

5 Hrs  

- Primitive data types

- 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

- Control statements: Branching (if, switch), Looping (while, do-while, for), Jumping statements (break, continue, return)


Unit 3: Object-Oriented Programming Concepts  

9 Hrs  

- Fundamentals of classes

- Abstraction, encapsulation

- Using 'this' keyword

- Constructors: default constructors, Parameterized constructors

- Methods: Passing by value, passing by reference, access control, Methods that return values

- Polymorphism and method overloading

- Recursion

- Nested and inner classes


Unit 4: Inheritance and Packaging  

3 Hrs  

- Inheritance: using 'extends' keyword, subclasses and super classes, 'super' keyword usage, overriding methods, Dynamic method dispatch

- The object class, abstract and final classes

- Packages: Defining a package, importing a Package, Access control

- Interfaces: Defining an interface, implementing and applying interfaces


Unit 5: Handling Errors/Exceptions  

2 Hrs  

- Basic Exceptions

- Proper use of exceptions

- User-defined Exceptions

- Catching Exceptions: try, catch

- Throwing and re-throwing: throw, throws

- Cleaning up using the finally clause


Unit 6: Handling Strings  

2 Hrs  

- Creation, concatenation, and conversion of a string

- Changing case

- Character extraction

- String comparison

- Searching strings

- Modifying Strings

- String Buffer


Unit 7: Threads  

3 Hrs  

- Create/Instantiate/Start New Threads

- Extending java.lang. Thread, implementing java.lang. Runnable Interface

- Understand Thread Execution, thread priorities

- Synchronization

- Inter-Thread Communication

- Deadlock


Unit 8: I/O and Streams  

2 Hrs  

- Java.io package

- File and directories

- Streams: Byte streams and character streams

- Reading/writing console Input/output

- Reading and writing files

- The serialization interface, serialization and de-serialization


Unit 9: Understanding Core Packages  

3 Hrs  

- Using java.lang Package: java.lang.Math, Wrapper classes and associated methods

- Using java.util package: Core classes (Vector, Stack, Dictionary, Hash table, Enumerations, Random Number Generator)


Unit 10: Holding Collection of Data  

3 Hrs  

- Array 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 Collection/Use of an Iterator, comparator


Unit 11: Java Applications  

8 Hrs  

- About AWT and Swing

- About JFrame

- Swing components: JLabel, JTextField, JButton

- Event Handling in Swing applications

- Layout Management using Flow Layout, Border Layout, Grid Layout

- Using JPanel, Choice components like JCheck Box, JRadio Button

- Borders components, JCombo Box and its events, JList and its events with MVC patterns

- Key and Mouse Events Handling

- Menu in swing

- JText Area, Dialog boxes in swing

- JTable for Displaying Data in Tabular form

- MDI using JDesktop Pane and JInternal Frame

- Using IDE like NEtbeans, JBuilder for building java applications using Drag and Drop

- Adapter classes


Unit 12: Introduction to Java Applets  

1 Hrs  

- Definition

- Applet life cycle methods

- Building a simple applet

- Using Applet viewer

- Adding controls: Animation concepts


Unit 13: Database Programming using JDBC  

2 Hrs  

- Using Connection, statement and result set interfaces for manipulating data with the database




Laboratory Works:  

Laboratory works should be done covering all the topics listed above, and a small project work should be carried out using the concepts learned in this course. The project should be assigned on an individual Basis.




Note: The laboratory works should be conducted using Java.

Post a Comment

0 Comments