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.
0 Comments