Object Oriented Programming in Java(OOP) Syllabus
This page contains Syllabus of Object Oriented Programming in Java of BCA.
Title | Object Oriented Programming in Java |
Short Name | OOP |
Course code | CACS204 |
Nature of course | Theory + Practical |
Third Semester | |
Full marks | 60 + 20 + 20 |
Pass marks | 24 + 8 + 8 |
Credit Hrs | 3 |
Elective/Compulsary | Compulsary |
Course Description
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 and Unit Content
- 1. Introduction to Java
- teaching hours: 2 hrs
Definition, History of Java, The Internet and Java's Place of 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.
- 2. Tokens, Expressions and Control Structures
- teaching hours: 5 hrs
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)
- 3. Object Oriented Programming Concepts
- teaching hours: 9 hrs
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
- 4. Inheritance & Packaging
- teaching hours: 3 hrs
Inheritance: Using 'extends' keyword, Subclasses and Superclasses, 'super' keyword usage. Overriding Methods, Dynamic Method Dispatch; The Object class, Abstract and Final Classes, Package: Access Control; Interfaces: Defining an Interface, Implementing and applying interfaces.
- 5. Handling Error / Exceptions
- teaching hours: 2 hrs
Basic Exceptions, Proper use of exceptions, User defined Exceptions, Catching Exception: try, catch; Throwing and re-throwing: throw, throws; Cleaning up using the finally clause.
- 6. Handling Strings
- teaching hours: 2 hrs
Creation, Concatenation and Conversion of a String, Changing Case, Character Extraction, String Comparision, Searching Strings, Modifying Strings, String Buffer.
- 7. Threads
- teaching hours: 7 hrs
Create/Instantiate/Start New Threads: Extending java.lang.Thread, Implementingbjava.lang.Runnable Interface; Understand Thread Execution, Thread Priorities, Synchronization, Inter-Thread Communication, Deadlock.
- 8. I/O and Streams
- teaching hours: 2 hrs
java.io package, Files and directories, Streams and Character Streams; Reading/Writing Console Input/Output, Reading and Writing files, The Serialization Interface, Serialization & Deserialization.
- 9. Understanding Core Packages
- teaching hours: 3 hrs
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).
- 10. Holding Collection of Data
- teaching hours: 3 hrs
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.
- 11. Java Applications
- teaching hours: 8 hrs
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.
- 12. Introduction to Java Applets
- teaching hours: 1 hrs
Definition, Applet lifecycle methods, Build a simple applet, Using Applet Viewer, Adding Controls: Animation Concepts.
- 13. Database Programming using JDBC
- teaching hours: 2 hrs
Using Connection, Statement & Result Set Interfaces for Manipulating Data with the Databases.
Lab and Practical 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.