Java Course Outline
Java Course Outline
DEPARTMENT OF COMPUTING
COURSE OUTLINE: BBC 2105/BCS 2104 OBJECT ORIENTED
PROGRAMMING II (JAVA)
REGULAR AND WEEKEND PROGRAMME 2024/2025 ACADEMIC YEAR
JANUARY-MAY 2024 SEM I
Lecturer’s Name & Qualification: Onyango Laban Oliver Owino. PhD
candidate, MBA, MscIT, BIT
Contact: [email protected]
Tel: 0782472180/0702472180.
Contact Hours: Three (3) hours per week
COURSE DESCRIPTION:
This course unit introduces the student to object oriented programming, java server pages
the student is required to cover key features of java, data types and variables, control
structures, inheritance graphic user interfaces etc.
Course Objectives
1. Learn the Java programming language: its syntax, idioms, patterns, and styles.
1
2. Become comfortable with object oriented programming: Learn to think in objects
3. Learn the essentials of the Java class library, and learn how to learn about other
parts of the library when you need them.
Learning outcome:
On completion of this course the student should be
Course outline
2
First program in java
Memory concept
Arithmetic operators
Syntax and semantics
Errors
Introduction to classes and objects
introduction
Method development: algorithms
Using pseudocode
Control structures (if, if..else, while etc)
Three Compound assignment. 3
Increment and decrement operators
Primitive types.
Counter controlled repetition. (for, do
while, switch, break and continue)
Logical operators
Methods
introduction
program modules in java
Four Method types eg static, static fields etc. 4
Java declaration and scope
Java API packages.
Method overloading.
Mid semester test Test one
Arrays and exception handling
Introduction.
Declaring and creating arrays.
Multidimensional arrays.
Five 4
Exception handling overview.
When to use exception.
Java exception hierarchy
Finally block
Inheritance and polymorphism.
Introduction.
Superclasses and subclasses
Protected members.
Six
Relationship between superclass and 4
subclass.
Constructors in subclasses
Introduction to polymorphism.
Abstract classes and methods.
Final methods and classes.
Seven Graphical user interface (GUI) components 3
Introduction
3
Simple GUI-based input/output with
JOptionPane
Swing components.
Text fields and introduction to event
based programming.
Common GUI event types and listener
interfaces.
JButton
Buttons that maintain state
JList
Mouse event handling.
Adapter classes.
Key event handling.
Layout managers eg flowlayout,
borderlayout, gridlayout etc.
Using panel to manage complex layouts.
JTextArea
Learning outcome:
Assessment method
End of semester examination 40%
Continuous assessment which include 60%
Take home course works
Attendance and participation
practicum
Tests
Reference:
4
Arnold, K., Gosling, J., & Holmes, D. (2005). The Java Programming Language (4th
ed.). Addison-Wesley.
Bloch, J. (2018). Effective Java (3rd ed.). Addison-Wesley.
Cornell, G., & Horstmann, C. S. (2001). Core Java 2: Volume II--Advanced Features
(6th ed.). Prentice Hall.
Deitel P. J. & Deitel H.M. (2007) Java how to program, Pearson education Upper saddle
river seventh edition.
Deitel, P., & Deitel, H. (2017). Java: How to Program, Early Objects (11th ed.). Pearson.
Eckel, B. (2006). Thinking in Java (4th ed.). Prentice Hall.
Fowler, M. (2003). Patterns of Enterprise Application Architecture. Addison-Wesley.
Gamma, E., Helm, R., Johnson, R., & Vlissides, J. (1994). Design Patterns: Elements of
Reusable Object-Oriented Software. Addison-Wesley.
Holmes, B. (2020). The Java Workshop: Learn Object-Oriented Programming and
Algorithms (1st ed.). Packt Publishing.
Horstmann, C. S., & Cornell, G. (2019). Core Java Volume I--Fundamentals (11th ed.).
Prentice Hall.
John Lewis & William Loftus (2005) Java software solutions, Pearson Education Inc.
Liang, Y. D. (2018). Introduction to Java Programming and Data Structures,
Comprehensive Version (11th ed.). Pearson.
Lippman, S. B., Lajoie, J., & Moo, B. E. (2012). C++ Primer (5th ed.). Addison-Wesley.
(Note: While this is primarily a C++ book, it provides valuable programming insights
relevant to Java.)
Naughton, P., & Schildt, H. (1999). Java 2: The Complete Reference (3rd ed.). McGraw-
Hill Education.
Schildt, H. (2018). Java: The Complete Reference (11th ed.). McGraw-Hill Education.
Sierra, K., & Bates, B. (2005). Head First Java (2nd ed.). O'Reilly Media.