B.R.A. Bihar University, Muzaffarpur

SEMESTER-IV

BCA – 401: JAVA PROGRAMMING

Total Lectures = 50

Unit – I: Overview of Java Language

Decision Making and Branching

Unit – II: Classes, Objects and Methods

Unit – III: Arrays, String and Vectors

Unit – IV: Multithreaded Programming

Unit – V: Applet Programming

BCA – 402: COMPUTER GRAPHICS AND MULTIMEDIA

Text Books:

  1. Core Java, Nageshwar Rao, Dreamtech Press
  2. Core Java For Beginners, Rashmi Kanta Das, Vikas Publishing House
  3. Java – The Complete Reference, Herbert Schildt, TMH
  4. Programming With Java: A Primer, Balagurusamy, TMH
  5. Java – One Step Ahead, Anita Seth & B.L. Juneja, Oxford University Press

BCA – 402: COMPUTER GRAPHICS AND MULTIMEDIA

Total Lectures = 50

Unit – I:

Unit – II:

Unit – III:

Unit – IV:

Unit – V:

BCA – 403 & 404: Operating System & Linux, Software Engineering Principles

Unit – VI

BCA – 403: OPERATING SYSTEM & LINUX

Total Lectures = 50

Unit – I: Overview

Objectives and Functions, Evolution, Achievement.

Unit – II: Process Management

Process, State, Description, Control.

Unit – III: Process Synchronization

Mutual Exclusion, Semaphores, Monitors, Message Passing, Readers/Writers Problem.

Unit – IV: Deadlock

Deadlock Avoidance & Detection, Dining Philosophers Problem.

Unit – V: Memory Management

Requirements, Partitioning, Paging Segmentation.

Unit – VI: Scheduling

Uniprocessor Scheduling Algorithms, Multiprocessor Scheduling, Real-Time Scheduling.

Unit – VII: File Management

File Organization, Directories, Sharing, Record Blocking, Secondary Storage Management.

Unit – VIII: LINUX & SHELL PROGRAMMING

Linux: File/Folder Structure, User Management, Process Management, Commonly used commands.

Shell Programming: Defining variable, Expression, if, else if, case esac, while, until, for loop.

Text Books:

  1. Abraham Silberschatz and Peter Baer Galvin, “Operating System Concepts”, Pearson Education.
  2. H.M. Deitel, “Operating Systems”, Pearson Learning Solutions.
  3. William Stallings, “Operating Systems”, Pearson Education.
  4. Sumitabha Das, “Unix Concepts and Applications”, TMH.

BCA – 404: SOFTWARE ENGINEERING PRINCIPLES

Total Lectures = 50

Unit – I:

Introduction to Software Engineering, its emergence; Software characteristics, classification of software; software engineering principles, phases in software engineering. Software Process, Capability Maturity Model, Process Models: Waterfall, Prototype, Rapid Application Development (RAD), Incremental, Spiral, Component-based Assembly Model, V-Model.

BCA – 404 & 405: Software Engineering Principles, Lab on Java Programming

Unit – II:

Systems Analysis: Requirements and Specification: Analysis Model, The Requirement Engineering Process, The Software requirement document, Functional & Non-functional requirements, Fact Finding Techniques – Meeting (FAST), Interview, Direct Inspection, Documents, Questionnaire, System Requirements Specification (SRS), Data Flow Diagram (DFD), ERD, Cardinality and Modality.

Unit – III:

System Design: Design Process, Good Design, Design Principles, Design constraints, Design Quality, System Structuring control models, Modular decomposition, Coupling and Cohesion, Domain Specific architecture, User Interface Design. Object Oriented & function oriented design: Objects, object Classes and inheritance, Object identification.

Unit – IV:

Software Coding: Coding guidelines, code document, structured programming, code inspection. Metrics – Definition, objectives and types of metrics, Size-oriented (LOC-based) and Function-oriented (FP-based) metrics. Reliability and Software Quality: concepts, Factors of good quality software, McCall’s Quality Factors, Software Quality Assurance (SQA), FTR, Inspection and Walkthroughs.

Unit – V:

Software Testing: Testing basics, Guidelines of testing, characteristics of software test, Test Plan and Test case, software testing strategies, Levels of software testing: Unit testing, integration testing, system testing, acceptance testing. Testing techniques: White box, Black box and Gray box testing. Basis path testing, Flow graph notation, cyclomatic complexity, Equivalence Partitioning, verification & Validation (V & V), Debugging.

Unit – VI:

Maintenance and its types. Overview of Computer Aided Software Engineering (CASE) tools.

Text Books:

  1. Software Engineering: Principles and Practices, Rohit Khorana, Vikas Publ., 2010
  2. Software Engineering: Principles and Practices, W.S. Jawadekar, TMH
  3. Software Engineering – A Precise Approach, Pankaj Jalote, Wiley India, 2012
  4. Software Engineering – A Practitioner’s Approach, Roger S. Pressman, 7 th Ed., McGraw Hill
  5. Software Engineering, Ian Sommerville, 8Ed., Pearson Education
  6. Object Oriented Analysis and Design, John Deacon, Pearson Education
  7. Fundamentals of Software Engineering, Carlo Ghezzi, Jazayeri, Dino Mandrioli, 2 Ed., Pearson
  8. Software Engineering – Principles and Practices, Deepak Jain, Oxford University Press
  9. Software Engineering, Jibitesh Mishra and Ashok Mohanty, Pearson Publ.
  10. Fundamentals of Software Engineering, Rajib Mall, PHI

BCA – 405: LAB ON JAVA PROGRAMMING

Total Lab Class = 60

Exercise – 1 (Basics)

  1. Write a JAVA program to display default value of all primitive data type of JAVA.
  2. Write a java program that displays the roots of a quadratic equation ax 2 +bx=0. Calculate.
  3. Write a case study on public static void main (250 words).
BCA – 405: Lab on Java Programming (Exercises)

Exercise – 2 (Operations, Expressions, Control-flow, Strings)

  1. Write a JAVA program using String Buffer to delete, remove character.

Exercise – 3 (Class, Objects)

  1. Write a JAVA program to implement class mechanism. – Create a class, methods and invoke them inside main method.
  2. Write a JAVA program to implement constructor.

Exercise – 4 (Methods)

  1. Write a JAVA program to implement constructor overloading.
  2. Write a JAVA program to implement method overloading.

Exercise – 5 (Inheritance)

  1. Write a JAVA program to implement Single Inheritance.
  2. Write a JAVA program to implement multi level Inheritance.
  3. Write a JAVA program for abstract class implementation.

Exercise – 6 (Inheritance – Continued)

  1. Write a JAVA program give example for "super" keyword.
  2. Write a JAVA program to implement Interface. What kind of Inheritance can be achieved?

Exercise – 7 (Exception)

  1. Write a JAVA program that describes exception handling mechanism.
  2. Write a JAVA program illustrating multiple catch clauses.

Exercise – 8 (Runtime Polymorphism)

  1. Write a JAVA program that implements Runtime polymorphism.
  2. Write a case study on run time polymorphism, inheritance that implements in above problem.

Exercise – 9 (User Defined Exception)

  1. Write a JAVA program for creation of illustrating throw.

Exercise – 10 (Threads)

  1. Write a JAVA program that creates threads by extending Thread class.
  2. Write a program illustrating isAlive and join().

Exercise – 11 (Packages)

  1. Create package and call it in another class.
  2. Write a JAVA program that imports and uses the defined package in new package.

Exercise – 12 (Applet)

  1. Write a JAVA program to paint like paint brush in applet.
  2. Write a JAVA program to display analog clock using Applet.
  3. Write a Java program that takes input.
BCA – 406: LAB ON COMPUTER GRAPHICS & LINUX

BCA – 406: LAB ON COMPUTER GRAPHICS & LINUX

Total Lab Classes = 60

A) Computer Graphics & Multimedia

Unit I:

Unit II:

Write Programmes to draw different shapes:

  1. Rectangles
  2. Circles
  3. Square
  4. Arrow
  5. Zooming of Circles
  6. Zooming of Rectangles

Unit III:

Unit IV:

Unit V:

B) UNIX/LINUX

Use of following UNIX/LINUX commands:

cat, cal, ls, mkdir, rmdir, cd, rm, mv, cp, vi, chmod, chown, echo, bc, expr

Shell programs related to following:

A Mini Project