Course Title: Object Oriented Programming in Java (3 Cr.)
Course Code: CACS204
Year/Semester: I/II
Class Load: 6 Hrs. / Week (Theory: 3 Hrs, Tutorial: 1, Practical: 2 Hrs.)
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
2 Hrs,
fnition, 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 SHrs.
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, Anays of
Primitive Data Types, Comment Syntax, Garbage Collection, Expressions,
Using Operators: Arithmetic, Bitwise, Relational, Logical, Assignment,
Conditional, Shif, Termary, Auto-inerement and Auto-decrement; Using
Control Statements(Branching: if, switch; Looping: while, do-while, for
Jumping statements: break, continue and return)
Unit 3 Object Oriented Programming Concepts 9 Hrs,
Fundamentals of Classes: A Simple Class, Class Instances, Adding
methods to a class, Calling Funetions/Methods; Abstraction, Encapsul
Using ‘this’ Keyword, Constructors;fDefault constructors, Parameterized
constructors, More on methods: Passing By Value, by Reference, Access Contra
Methods that Retum Values, Polymorphism’ and Method Ovérloadi
Recursion; Nested and Inner Classe
retininit 4 Inheritance & Packaging 3 Hrs.
Inheritance: Using ‘extends’ keyword, Subclasses and Superclasses, ‘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 S Handling Error/Exceptions 2 Hrs.
Basie Exceptions, Proper use of exceptions, User defined Exceptions, Catching
Exception: try, catch; Throwing and re-throwing: throw, throws; Cleaning up
using the finally clause.
Unit 6 Handling Strings 2 Hrs,
Creation, Coneatenation and Conversion of a String, Changing Case, Character
Extraction, String Comparison, Searching Suings, Modifying Strings, String
Unit7 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 VO and Streams 2 Hrs.
java.io package, Files and directories, Streams: Byte Streams and Character
reams; Reading/Writing Console Input/Output, Reading and Writing files, The
ialization Interface, Serialization & Deserialization.
Unit 9 Understanding Core Packages 3 Hrs.
sing javalang Package: javalang.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).
Unit 10Holding Collection of Data 3 Hrs.
Arrays And Collection Classes/Interfaces, Map/List/Sct Implementations: Map
Interface, “List Interface, Set Interface, Collection Classes: Array List, Linked
List, Hash Set and Tree Set; Accessing Collections/Use of An Ite
Comparator.
Unit 11Java Applications Ste
About AWT & Swing, About JFrame (4 top level x
components (JLabel, About text component Jike JTextField JButto, Event
Handling in Swing Applications, Layout Management using Flow Layout; Border
Layout, Grid Layout, Using JPanel, Choice components like JCheck Box: JRadio
@ a Xe Page | 48S components, JCombo Box & its events, JList & i
MVC patterns, Key & Mouse Event Handling, Menus in swing, JText Area,
Dialog boxes in swing, JTable for Displaying Data in Tabular form, MDI using
AWDesktop Pane & JInternal Frame, Using IDE like Netbeans, JBuilder for
building java applications using Drag & Drop), Adapter elasses
events with
Unit 12Introduction to Java Applets 1H.
Definition, Applet lifecycle methods, Build a simple applet, Using Applet
Viewer, Adding Controls: Animation Concepts.
atabase Programming using JDBC 2 Hrs.
Using Conncetion, Statement & Result Sct Interfaces for Manipulating Data with
the Databases
Laboratory Works
Laboratory works should be done covering all the topies 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.
‘Teaching Methods
The general teaching pedagogy includes class lectures, group discussions, case
studies, guest lectures, research work, project work, assignments (theoretical and
practical), and examinations (written and verhal), depending upon the nature of
the topics. The teaching faculty will determine the choice of teaching pedagogy
as per the need of the topies.
Examination Scheme
Intemal Assessment | External Assessment
Theory | Practical Theory | Practical | Total
20 00 100
3 Hrs.) hrs.)
Text Books Pp
1. Deitel & Dietel, “Java: How to program”, 9® Editi
2011, ISBN: 9780273759768 /
2. Herbert Schildt, “Java: The Compléle Referénce”, Sevemt? Edition,
McGraw-Hill 2006, ISBY.
on Page |49Bruce Bekel, “Thi
13-187248-6
Cay Horstmann and Grazy Comell, “Core Java Volume I-Fundame)
Ninth Edition, Prentice Hall, 2012, ISBN: 978-0137081899
E, Balaguiusamy, "Programming with Java: A Primer”, 4* Edition, Tata
McGraw Hill Publication, India,
cing in Java", 4" Edition, Prentice Hall, 2006, ISBN: 0-
Page | 50