JAVA Programming – I Syllabus - BIM (TU)
View and download full syllabus of JAVA Programming – I
Course Description
Course Objective
This course aims to develop students' skill in JAVA programming. Students are expected to have the basic knowledge of programming with 'C' language. This course should be associated with laboratory experiments to augment the concepts taught in the class.
Course Description:
Java’s Lineage, An overview of Java, Data types, Variables and Arrays, Operators, Control Statements, Introducing Classes, A Closer Look at Methods and classes, Inheritance, Packages and Interface, Exception handling, Multithreaded programming, Enumerations, autoboxing, and annotations, String handling, Input/output
Unit Contents
Course Details
Unit 1 : Java’s Lineage 2hrs
- The Creation of Java
- How Java Changed the Internet
- The Bytecode
- Servlets: Java on the Server Side
- Simple
- Object-oriented
- Robust
- Multithreaded
- Architecture Neutra
- Interpreted and High Performance
- Distributed
- Dynamic
Unit 2 : An overview of Java 2hrs
- Object-Oriented Programming
- Two Paradigms
- Abstraction
- The Three OOP Principles
- Lexical Issues
- Whitespace
- Identifiers
- Literals
- Comments
- Separators
- The Java Keywords
Unit 3 : Data types, Variables and Arrays LH4
- Java is a strongly Typed Language
- The Primitive Types
- Integers
- Bye, short, int, long
- Floating point Types
- Float, double
- Characters
- Booleans
- A closer Look at Literals
- Integer Literals, Floating-Point literals, Boolean Literals, Character Literals, String Literals
- Variables:
- Declaring a Variable, Dynamic Initialization, The Scope and Lifetime of Variables
- Type conversions and Casting, Casting Incompatible types
- Automatic Type promotion Rules
- Arrays
- One Dimensional Arrays, Multidimensional arrays, Alternative Array Declaration syntax
- Scanner Object
Unit 4 : Operators LH4
- Arithmetic Operators: +,-,/,*,%,++,--
- The Bitwise operators:
- The bitwise logical operators
- The left shift, right shift, Unsigned Right shift, bitwise operator compound assignments
- Relational operators
- Boolean logical operators
- Short-circuit logical operators
- The ? operator
- Operator precedence
- Using parenthesis
Unit 5 : Control Statements LH5
- Java’ Selection statements
- If…., switch….,
- Iteration statements: while, do-while, for, the for-each version of the for loop, nested loops
- Jump statements: using break, using continue
After the completion of above five units, programs like following should be developed:
- Multiple choice problems
- Working on sequence of values (calculating average, mean, mode )
Unit 6 : Introducing Classes LH4
- Class fundamentals
- The general form of a class, a simple class
- Declaring objects
- Assigning Object Reference variables
- Introducing methods
- Adding a method to the box class, returning a value, adding a method that takes parameters
- Constructors: Parameterized Constructors
- The this keyword: instance variable hiding
- Garbage collection
- The finalized() method
- A Stack class
Unit 7 : A Closer Look at Methods and classes LH4
- Overloading methods; overloading constructors
- Using objects as parameters
- A closer look at arguments passing, returning objects, recursion, introducing access control, understanding static, introducing final, arrays revisited, introducing nested and inner classes, exploring the string class, using command-line arguments
- Varargs: variable-length arguments; overloading vararg methods, varargs and ambiguity
Unit 8 : Inheritance LH3
- Inheritance Basics: Member access and inheritance,
- Using super: using super to call superclass constructors, a second use for super
- Creating a multilevel hierarchy
- When constructors are called
- Method overriding
- Dynamic method dispatch: why overridden method?
- Using abstract classes, using final with inheritance
- The object class
After completion of above three units following programs should be developed:
- Program that work on group of similar objects like, generating average age of employees, displaying maximum salary of employees, displaying names of persons with same address
Unit 9 : Packages and Interface 3hrs
- Packages: defining a package, finding packages and CLASSPATH
- Access Protection
- Interfaces: defining an interface, implementing interfaces, nested interfaces, applying interfaces, variables in interfaces, interfaces can be extended
Unit 10 : Exception handling LH3
- Exception-handling fundamentals, exception types, uncaught exceptions, using .catch
- Multiple catch clauses
- Nested try statements
- Throw, throws, finally, Java’s built –in exception
- Creating your own exception subclasses
Unit 11 : Multithreaded programming LH4
- The Java Thread Model
- Thread priorities, synchronization, messaging, the thread class and the runnable interface
- The main thread
- Creating a thread: implementing runnable, extending thread
- Creating multiple threads: using isAlive() and join()
- Thread priorities
- Synchronization: using synchronized methods, the synchronized statement
Unit 12 : Enumerations, autoboxing, and annotations LH 3
- Enumerations
- Fundamentals, the values() and valueOf() methods, Java Enumerations Are class types, enumerations inherit Enum
- Type Wrappers: character, Boolean, the numeric type wrappers
- Autoboxing
- Autoboxing and methods, autoboxing/unboxing occurs in expressions, autoboxing/unboxing Boolean and character values, autoboxing/unboxing helps prevent errors
- Annotations
- Annotation basics, specifying a retention policy, obtaining annotations at run time by use of reflection
Unit 13 : String handling LH3
- The String constructors, string length,
- Special string operators: string literals, concatenation, conversion and toString()
- Character Extraction
- charAt(), getChars(), getBytes(), toCharArray()
- String comparison: equals() and equalsIgnoreCase(), regionMatches(), startsWith() and endsWith(), equals() versus ==, compareTo
- Modifying a String
- Substring(), concat(), replace(), trim()
After completion of above two units programs like following should be developed:
- Efficient codes with minimum code redundancy
- Program capable of handling errors on own instead of terminating programs abnormally
Unit 14 : Input/output: LH4
- File: directories, using filenameFilter, the listFiles(), creating directories
- The Autocloseable, Closeable, and Flushable Interfaces
- I/O Exceptions
- The stream classes
- The byte Streams: InputStream, OutputStream, FileInputStream, FileOutputStream,
PrintStream, DataOutputStream and DataInputStream, RandomAccessFile
- The Character Streams:
- Reader, Writer, FileReader, FileWriter, PrintWriter
- The Console Class
- Serialization: Serializable, Externalizable, ObjectOutput, ObjectOutputStream ObjectInput, ObjectInputStream
After completion of this unit, program which record keeping capability with searching, manipulating features should be developed.
Text and Reference Books
- Short Name N/A
- Course code IT 216
- Semester Third Semester
- Full Marks 100
- Pass Marks 45
- Credit 3 hrs
- Elective/Compulsary Compulsary