TABFlux
HomeCoursesUniversitiesProgramsForum
Contact Us

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

ForumPrivacy PolicyTerms of ServiceContact UsContributors

Java Programming I

Java Programming I introduces the fundamentals of object-oriented programming, focusing on syntax, data types, and control structures. It builds the essential skills needed to write clean, modular code and develop robust applications using the Java platform.

Select University

TUFWU

Select Program

BSc. CSIT

TabFlux . Java Programming I . FWU . BSc. CSIT

Java Programming I

0%

Course Title: Java Programming I

Course No: CSIT.322

Nature of the Course: Theory + Lab

Semester: 6

Full Marks: 60 + 20 + 20

Pass Marks: 24 + 10 + 10

Credit Hours: 3

Course Description

Course Objectives

Course Contents

1. Java Programming Basics
4 hrs
1.1. Introduction to Java
  • History of java
  • Characteristics of java
  • Architecture of java
1.2. Java Environment and Program Structure
  • PATH and CLASSPATH Variables
  • Structure of Java Programs
  • Compiling & Running Java Programs
1.3. Data Types and Variables
  • Review of Data Types
  • Comments
  • Operators
  • Variables
  • Converting between Data Types (Type Casting)
  • Strings
  • Arrays
  • Constants
1.4. Utility Classes and Input
  • Command Line Arguments
  • StringBuffer Class
  • Reading form Keyboard using Scanner Class
  • Using Math Class
2. Control Flow
4 hrs
2.1. Selection Statements
  • if statements
  • if....else statements
  • else if ladders
  • switch statements
2.2. Looping
  • While Loop
  • Do While Loop
  • For Loop
  • Enhanced For Loop
2.3. Jump Statements
  • Break Statement
  • Continue Statement
  • Return Statement
3. Class and Objects
6 hrs
3.1. Defining and Using Classes
  • Creating Classes
  • Defining member variables and methods
  • Creating Reference Variables
  • Creating Objects
  • Using member variables and methods
3.2. Access Specifiers
  • Public
  • Protected
  • Default
  • Private
3.3. Class Members and Special Classes
  • Static and Non-static members
  • Constructors
  • This Keyword
  • Garbage Collection
  • Inner Classes
  • Local Classes
3.4. Parameters and Return Values
  • Passing Parameters to Methods and Constructors
  • Passing Arrays to Methods and Constructors
  • Passing Objects to Methods and Constructors
  • Returning Values from Methods and Constructors
  • Returning Arrays from Methods and Constructors
  • Returning Objects from Methods and Constructors
4. Inheritance and Polymorphism
6 hrs
4.1. Overloading and Inheritance
  • Method Overloading
  • Constructor Overloading
  • Creating Subclass
  • Different Types of Inheritance
4.2. Method Overriding and Super
  • Method Overriding
  • Dynamic Method Dispatch
  • Using Constructors and Inheritance
  • Super Keyword
4.3. Access and Final Modifiers
  • Access Specifiers and Inheritance
  • Final Methods
  • Final Classes
4.4. Relationships and Abstract Classes
  • Has-a Relationship (Containership)
  • Object Class
  • Abstract Classes
5. Interfaces and Packages
4 hrs
5.1. Interfaces
  • Defining Interfaces
  • Interfaces vs. Classes
  • Extending Interfaces
  • Implementing Interfaces
  • Multiple Inheritance by using interfaces
  • Abstract Classes vs. Interfaces
5.2. Packages
  • Importance of Packages
  • Using Packages
  • Creating Packages
6. File and IO Handling
5 hrs
6.1. Byte Streams
  • Concept of IO Streams
  • File Class
  • InputStream and OutputStream Class
  • FileInputStream and FileOutputStream Class
  • BufferedInputStream and BufferedOutputStream Class
6.2. Character Streams
  • Reader and Writer Classes
  • FileReader and FileWriter Class
  • InputStreamReader and OutputStreamWriter Class
  • BufferedReader and BufferedWriter Class
6.3. Advanced File Access
  • Random File Access
  • StreamTokenizer Class
  • Using PrintWriter Class
  • Using Scanner Class
7. Exception Handling
5 hrs
7.1. Exception Concepts
  • Concept of Exception and Exception Handling
  • Categories of Exceptions
  • Hierarchy of Exception Classes
7.2. Handling Exceptions
  • Using Try....Catch
  • Multiple Catch Blocks
  • Finally Keyword
7.3. Throwing and Custom Exceptions
  • Using Throws and Throw Keywords
  • Nested Try....Catch
  • Creating Exception Classes
8. Multithreading
5 hrs
8.1. Thread Fundamentals
  • Concept of Thread and Multithreading
  • Main Thread
  • Naming a Thread
  • Pausing a Thread
  • Thread Life Cycle
8.2. Creating and Managing Threads
  • Multithreading by Using Runnable Interface
  • Multithreading by using Thread Class
  • Creating multiple threads
  • Joining Threads
  • Setting Thread Priority
  • Stopping Threads
8.3. Thread Synchronization and Communication
  • Thread Synchronization
  • Communication between Threads
  • Suspending and Resuming Threads
9. Generics and Collection Classes
5 hrs
9.1. Generics
  • Concept of Generics
  • Generic Methods
  • Bounded Type Parameters
  • Generic Classes
9.2. Collections Framework
  • Collections and Collection Framework
  • Stack
  • Linked List
  • Hash Table
  • Iterator
  • Comparator

Laboratory Works

  1. 1.Java Programming Exercises

Text Books

  1. 1.Cay S. Horstmann, Core Java Volume I--Fundamentals Ninth Edition, Prentice Hall, 2012

Reference Books

  1. 1.Hebert Schildt Java: The Complete Reference, McGraw-Hill Education, Ninth Edition, 2014
  2. 2.Steven Holzner, Java 7 Programming, Black Book, Dreamtech Press, 2013

Notes:

Source:

This course introduces the fundamental programming concepts and techniques in Java. All elements of object-oriented programming are introduced. Topics covered include control structures, classes and objects, dynamic memory allocation, Inheritance and Polymorphism, File Handling, Multithreading, Exception Handling, and Generic Programming.
Understand the basic concepts and principles of object oriented programming. Be able to design, write and test a Java program to implement a working solution to a given problem specification. Be able to deal with exceptions effectively and write multithreaded programs.
Student should write programs and prepare lab sheet for most of the units in the syllabus. They should practice design and implementation of java programs that demonstrates different concepts discussed is class. The lab work should be practiced for minimum of 3 lab hours per week.
This syllabus follows the official CSIT curriculum of Far Western University. In case of any doubt or revision, the university's published syllabus shall be considered authoritative. https://cdc.fwu.edu.np/faculties.html