Syllabus

GUJARAT TECHNOLOGICAL UNIVERSITY
Bachelor of Engineering
Subject Code: 3140705
Semester – IV

Subject Name:Object Oriented Programming - I

Introduction to java and elementary programming:
Java  language  specification  API,  JDK  and  IDE,  Creating,  compiling  and  Executing  a simple  java  program,  Programming  style,  documentation  and  errors,  Reading  input  from console,  identifiers  and  variables,  Assignment  statements,  Named  constants  and  naming conventions,   Data   Types   (Numeric,   Boolean,   Character,   String)   its   Operations   and Literals, Evaluating Expressions and operator Precedence, Types of Operators (Augmented assignment,  Increment  and  Decrement,  Logical),  operator  precedence  and  associativity, numeric type conversions.

Selections , Mathematical functions and loops:
If  statements,  Two  way,  Nested  if  and  multi-way  if  statements,  Switch  statements, Conditional Expressions, Common mathematical functions ,While , do-while and for loop, nested loops, Keyword break and continue.

Methods and Arrays:
Defining and calling method, Passing argument by values, Overloading methods and scope of  variables,  Method  abstraction  and  stepwise  refinement,  Single  Dimensional  arrays, copying  arrays  ,Passing  and  returning  array    from  method,  Searching  and  sorting  arrays and the Array class, Two-Dimensional array and its processing, Passing Two-dimensional Array to methods, Multidimensional Arrays.

Objects and Classes:
Defining  classes  for  objects,  Constructors,  accessing  objects  via  reference  variable,  using classes  from  the  java  library,  static  variables,  constants  and  methods,  visibility  modifiers and  Data  field  encapsulation,  passing  objects  to  methods,  array  of  objects,  immutable objects and classes, scope of variable and the this reference

Object oriented thinking:
Class abstraction and Encapsulation, thinking in objects and class relationships, Primitive data type and wrapper class types, Big integer and Big decimal class,  string  class,  String Builder and String Buffer class, super class and subclass, using super keyword, overriding and overloading methods,  polymorphism and dynamic binding,  casting objects and instanceof operator, The ArrayList class and its methods, The protected data and methods.

Exception Handling, I/O, abstract classes and interfaces:
Exception types, finally clause,  rethrowing  Exceptions,  chained exceptions,  defining custom exception classes,  file class and its input and output, Reading  data from web, Abstract classes, interfaces, Comparable and Cloneable interface.

JAVAFX basics and Event-driven programming and animations:
Basic structure of JAVAFX program, Panes, UI control and shapes, Property binding, the Color  and  the  Font  class,  the  Image  and  Image-View  class,  layout  panes  and  shapes, Events  and  Events  sources,  Registering  Handlers  and  HandlingEvents,  Inner  classes, anonymous  inner  class  handlers,  mouse  and  key  events,  listeners  for  observable  objects, animation

JAVAFX UI controls and multimedia:
Labeled  and  Label, button,  Checkbox,  RadioButton,  Textfield,  TextArea,  Combo  Box, ListView, Scrollbar, Slider, Video and Audio.

Binary I/O ,Recursion and Generics:
Text I/O, binary I/O, Binary I/O classes, Object I/o, Random Access files, Problem solving using Recursion, Recursive Helper methods, Tail Recursion, Defining Generic classes and interfaces,  Generic methods,  Raw types  and backward compatibility,  wildcard  Generic types, Erasure and Restrictions on Generics.

List, Stacks, Queues and Priority Queues:
Collection,   Iterators,   Lists,   The   Comparator   interface,   static   methods   for   list and collections, Vector and Stack classes, Queues and priority Queues.

Sets and Maps:
Comparing the performance of Sets and Lists, singleton and unmodifiable collections and Maps.

Concurrency:
Thread  states  and  life  cycle,Creating  and  Executing  threads  with  the  Executor Framework, Thread synchronization

Reference Books:
1) Intro to Java Programming, 10thedition, Y.Daniel Liang, Pearson
2) Object oriented programming with Java , Rajkumar Buyya,S Thamarai Selvi, Xingchen Chu, McGrawHill
3) Programming in Java, Sachin Malhotra, Saurabh Choudhary, Oxford
4) Programming with JAVA , E Balagurusamy, McGrawHill5)CORE JAVA volume -I Cay Horstmann, Pearson

Course Outcomes:
CO-1 
Use various Java constructs, features and libraries for simple problems.

CO-2 
Demonstrate how to define and use classes, interfaces, create objects and methods, how to override and overload methods, compile and execute programs.

CO-3 
Write a program using exception handling, multithreading with synchronization.

CO-4 
Write a program using Files, binary I/O, collection Frameworks for a given problem.


CO-5 
Design and develop GUI based applications in a group using modern tools and frameworks.

No comments:

Post a Comment