[Home]

CSI 211: Object Oriented Programming, Summer 2017


Course Teacher
Arif Arman
Lecturer
Department of CSE, United International University
Room: 1601 Email: arman@cse.uiu.ac.bd

Class Time
Section NA Sunday Tuesday, 9:55 AM - 11:15 AM Room#1305

[Course Outline]

Counseling Hours
Sunday, Tuesday, 11:15 AM - 2:10 PM

Books
Java The Complete Reference, Seventh/Eighth/Ninth Edition
Herber Schildt

Grading
1. Class Attendance - 5%
2. Assignment - 5%
3. Class Tests (best 3 of 4) - 20%
4. Mid Exam - 30%
5. Final Exam - 40%

Course Schedule

Week 01:
Lecture 01 [May 28]: Introduction [Motivation], Java Basics - I [Review Of Programming, What is Programming, Different types of programming, Programming vs. Programming Language, Compiler] [Ref: lecture01.pdf]
Lecture 02 [May 30]: Java Basics - II [Introduction to OOP - Definition, Benifits; Introduction to Java - Basics, Why Java; Application class, Main method] [Ref: lecture01.pdf]

Week 02:
Lecture 03 [Jun 04]: Assignment - I , Java Basics - III [Java Identifiers, Data Types, Operators, Array, Control Statements] [Ref: lecture01.pdf, lecture02.pdf]
Lecture 04 [Jun 06]: Java Basics - IV [Arrays, String] [Ref. lecture02.pdf]

Week 03:
Lecture 05 [Jun 11]: Java Basics - V [Reference Variable, Pass by Value, Garbage Collection, Package, Library and Import, Static, Final], Class and Object - I [What is Class, Members of the class, Instance variables, Methods] [Ref: lecture03.pdf]
Lecture 06 [Jun 13]: Class and Object - II [Constructor, Overloading, Initialization Block, Default value, How to create object, How to access members of the class, Setter getter]

Week 04:
Lecture 07 [Jun 18]: Class Test - I [Syllabus: Lecture 01-06], Class and Object - III [Access modifier, Package, Pass by reference, Object instances] [Ref. lecture04.pdf]

Week 05:
Lecture 08 [Jul 02]: Inheritance [What is inheritance, What do we inherit, When to use inheritance, What is Object class, equals() and toString() method, Can assign a child object to parent type reference, method overrriding and subclass polymorphism] [Ref. lecture06.pdf]
Lecture 09 [Jul 04]: Inheritance (contd.) [Static vs. Dynamic binding, benefits of polymorphism], Abstraction [What is abstraction, How do we achieve abstraction, abstract method, abstract class] [Ref. lecture07.pdf]

Week 06:
Lecture 10 [Jul 09]: Class Test - II [Syllabus: Lecture 07-08]
Lecture 11 [Jul 11]: Review

Week 07:
Lecture 12 [Jul 23]: Interface [static and final keyword, What is interface, variables(Static and final), methods(public and abstract), Why do we need interface, Abstract class vs. Interface, Where should we use interface vs. abstract class] [Ref. lecture07.pdf]

Week 08:
Lecture 13 [Jul 30]: Exception - I [What is Exception, How user can throw exception, How to handle Exception, Handle Exception in Method stack, throw vs. throws, Checked vs. UnChecked Exception, Nested try/catch] [Ref. lecture08.pdf]
Lecture 14 [Aug 01]: Exception - II, Nested Class [Inner class, What is inner class, accessing variable method from inner to outer and vice versa] [Ref. lecture08.pdf]

Week 09:
Lecture 15 [Aug 10]: Local class, Anonymous class, Introduction to GUI [Ref. lecture09.pdf]

Week 10:
Lecture 16 [Aug 13]: Introduction to GUI - II [Event Handling, Source, Listener, Event Object, Steps to Handle Event]

Week 11:
Lecture 17 [Aug 20]: Introduction to GUI - III [Layout: FlowLaout, Border Layout, Grid Layout, No Layout(null), Some 'JComponents']
Lecture 18 [Aug 22]: Concurrency - I [What is Thread, How to create and start Thread, Runnable vs. Thread, Thread life cycle and different state of a Thread]

Week 12:
Lecture 19 [Aug 26]: Class Test - III [Syllabus: Lecture 12-15], Concurrency - II [What is synchronization, Why do we need synchronization, Different types of synchronization, Inter thread communication], Collections - I [Components of Collections Framework, Some basic Collections e.g. list, set]
Lecture 20 [Aug 27]: Class Test - IV, V [Syllabus: Lecture 18-19], Collections - II [Collections class and some of it's methods, Comparable, Comparator interface for comparing 2 objects]
Lecture 21 [Aug 29]: Generic [What is Generic, Generic method, class, inteface], I/O [Basic types of IO- byte stream and character stream, Buffered IO, read/write from file, parsing]