Java Programming I Outline
Java Programming I Outline
Semester : 02
From (Feb 2017) to (June 2017)
Prepared by : Checked by :
Essential Information
Specific Module Information
Module Rules & Regulations
Grades
Plagiarism
Module Introduction
Module Aims & Objectives
Learning Outcome
Specific Generic Learning Skills
Syllabus + Lecture Outline
References
Assessment Schedule
Assessment Criteria
Learning Activities
Specific Criteria
Other documents as follows will be issued to you on an ongoing basis throughout the semester:
As an indicator of workload one credit carries and additional 2 hours of self study per week. For
example, a module worth 3 credits require that the student spends an additional 6 hours per
week, either reading, completing the assignment or doing self directed research for that
module.
Submission of ALL assignment work is compulsory in this module. A student cannot pass this
module without having to submit ALL assignment work by the due date or an approved
extension of that date.
All assignments are to be handed on time on the due date. Students will be penalised 10
percent for the first day and 5 percent per day thereafter for late submission (a weekend or a
public holiday counts as one day). Late submission, after the date Board of Studies meeting
will not be accepted.
Due dates, compulsory assignment requirements and submission requirements may only be
altered with the consent of the majority of students enrolled in this module at the
beginning/early in the program.
Extensions of time for submission of assignment work may be granted if the application for
extension is accompanied by a medical certificate.
Overseas travel is not an acceptable reason for seeking a change in the examination schedule.
Only the Head of School can grant approval for extension of submission beyond the
assignment deadline.
Supplementary exams can only be granted if the level of work is satisfactory AND the semester
work has been completed.
Harvard referencing and plagiarism policy will apply on all written assignments.
Absenteeism at any scheduled presentations will result in zero mark for that presentation.
Visual presentation work in drawn and model form must be the original work of the student.
Assessment procedure:
These rules and regulations are to be read in conjunction with the UNIT AIMS AND
OBJECTIVES
All assignments/projects must be completed and presented for marking by the due date.
All assignments must be delivered by the student in person to the lecturer concerned. No other
lecturer is allowed to accept students’ assignments.
Any scheduling of tutorials, both during or after lecture hours, is TOTALLY the responsibility of
each student. Appointments are to be proposed, arranged, confirmed, and kept, by each
student. Failure to do so in a professional manner may result in penalty of grades. Tutorials
WITHOUT appointments will also NOT be entertained.
Note that every assignment is given an ample time frame for completion. This, together with
advanced information pertaining deadlines gives you NO EXCUSE not to submit assignments
on time.
All modules and assessable projects will be graded according to the following system. With respect
to those units that are designated 'Approved for Pass/Fail' the grade will be either PA or F:
80 – 100 A
75 - 79 A- Pass with Distinction
70 – 74 B+
65 – 69 B Pass with Credit
60 – 64 B-
55 – 59 C+
50 – 54 C Pass
45 – 59 C-
40 – 44 D, PX, PC
0 – 39 F Fail
EXP Exempted
PC Pass Conceded
PP Pass Provisional with extra work needed
PX Pass after extra work is given and passed
X Ineligible for assessment due to unsatisfactory attendance
D Deferred
W Withdraw
DNA Did Not Attend Module
DNC Did Not Complete Module
This module is designed to introduce the features of the Java programming language to students
who have a basic understanding of C++. The course focuses on developing Java applications and
applets, and understanding Object Oriented Programming. Basic programming concepts studied
include: control structures, arrays, methods, classes and objects. Advanced topics such as Object
Oriented concept, interface components, and applet also are covered. The module teaches
students how to write Java applications and applets on the Java 2 Platform, Standard Edition
(J2SE).
Exposed to define, describe, and explain general coding and formatting rules in Java
Guided on how to describe and use graphical user interface (GUI) and Graphics 2D in Java
Use Java editor to type, compile, and execute a Java source file.
Compile and execute a project that makes use of two or more classes and understand the role
object variables and methods.
Creating organized and meaningful source files for Java application and Applet
Lecture Synopsis:
1.1 History of Java
1.2 Java Class Libraries
1.3 Typical Java Development Environment
1.4 Test-Driving a Java Application
Week: 2
Lecture Synopsis:
2.1 Introduction
2.2 A First Program in Java: Printing a Line of Text
2.3 Modifying Our First Java Program
2.4 Displaying Text with printf
2.5 Another Java Application: Adding Integers
2.6 Memory Concepts
2.7 Arithmetic
2.8 Decision Making: Equality and Relational Operators
Week: 3
Lecture Synopsis:
3.1 Introduction
3.2 Classes, Objects, Methods and Instance Variables
3.3 Declaring a Class with a Method and Instantiating an Object of a Class
3.4 Declaring a Method with a Parameter
3.5 Instance Variables, set Methods and get Methods
3.6 Primitive Types vs. Reference Types
3.7 Initializing Objects with Constructors
3.8 Floating-Point Numbers and Type double
Week: 4
Lecture Synopsis:
4.1 Introduction
4.2 Algorithms
4.3 Pseudocode
4.4 Control Structures
4.5 if Single-Selection Statement
4.6 if … else Double-Selection Statement
4.7 while Repetition Statement
4.8 Formulating Algorithms: Counter-Controlled Repetition
4.9 Formulating Algorithms: Sentinel-Controlled Repetition
4.10 Formulating Algorithms: Nested Control Statements
4.11 Compound Assignment Operators
4.12 Increment and Decrement Operators
4.13 Primitive Types
Lecture Synopsis:
5.1 Introduction
5.2 Essentials of Counter-Controlled Repetition
5.3 for Repetition Statement
5.4 Examples Using the for Statement
5.5 do … while Repetition Statement
5.6 switch Multiple-Selection Statement
5.7 break and continue Statements
5.8 Logical Operators
5.9 Structured Programming Summary
Week: 6
Lecture Synopsis:
6.1 Introduction
6.2 Program Modules in Java
6.3 static Methods, static Fields and Class Math
6.4 Declaring Methods with Multiple Parameters
6.5 Notes on Declaring and Using Methods
6.6 Method-Call Stack and Activation Records
6.7 Argument Promotion and Casting
6.8 Java API Packages
6.9 Scope of Declarations
6.10 Method Overloading
Week: 7
MID-TERM BREAK
Week: 8
Week: 9
LECTURE 7: ARRAYS
Lecture Synopsis:
7.1 Introduction
7.2 Arrays
7.3 Declaring and Creating Arrays
7.4 Examples Using Arrays
7.5 Enhanced for Statement
7.6 Passing Arrays to Methods
7.7 Multidimensional Arrays
7.8 Variable-Length Argument Lists
7.9 Using Command-Line Arguments
Lecture Synopsis:
8.1 Introduction
8.2 Simple GUI-Based Input/Output with JOptionPane
8.3 Overview of Swing Components
8.4 Displaying Text and Images in a Window
8.5 Text Fields and an Introduction to Event Handling with Nested Classes
8.6 Common GUI Event Types and Listener Interfaces
8.7 How Event Handling Works
8.8 JButton
8.9 Buttons That Maintain State
8.9.1 JCheckBox
8.9.2 JRadioButton
Week: 11
Lecture Synopsis:
8.10 JComboBox and Using an Anonymous Inner Class for Event Handling
8.11 JList
8.12 Multiple-Selection Lists
8.13 Mouse Event Handling
8.14 Adapter Classes
8.15 JPanel Subclass for Drawing with the Mouse
8.16 Key-Event Handling
8.17 Layout Managers
8.17.1 FlowLayout
8.17.2 BorderLayout
8.17.3 GridLayout
8.18 Using Panels to Manage More Complex Layouts
8.19 JTextArea
Week: 12
Lecture Synopsis:
9.1 Introduction
9.2 Graphics Contexts and Graphics Objects
9.3 Color Control
9.4 Font Control
9.5 Drawing Lines, Rectangles and Ovals
9.6 Drawing Arcs
9.7 Drawing Polygons and Polylines
9.8 Java 2D API
NO CLASS
Week: 14
REVISION
Week: 15
REVISION
Week: 16
11.0 REFERENCES
(Harvey & Paul) Deitel & Associates, Java How To Program, 7th Edition, Prentice Hall, 2007
Savitch & Carrano, Java: Introduction to Problem Solving and Programming, 5th Edition,
Prentice Hall, 2008
Lewis, DePasquale & Chase, Java Foundations: Introduction to Program Design and Data
Structures, 1st Edition, Addison Wesley Higher Education, 2008
Joyce Farrell, Java Programming, 4th Edition, Course Technology, 2007
Reges & Stepp, Building Java Programs: A Back to Basics Approach, 1st Edition, Addison
Wesley Higher Education, 2008
Liang, Introduction to Java Programming-Comprehensive Version, 6th Edition, Prentice Hall,
2007
John Flynt, Java Programming for the Absolute Beginner, 2nd Edition, Course Technology,
2006
Liang, Introduction to Java Programming: Fundamentals First, 6th Edition, Prentice Hall, 2007
Gary B. Shelly, Thomas J. Cashman, Joy L. Starks, Michael Mick, Java Programming:
Comprehensive Concepts and Techniques, 3rd Edition, Course Technology, 2006
Richard Johnson, An Introduction to Java Programming and Object-Oriented Application
Development Course Technology, 2006
Kenneth Lambert, Martin Osborne, Fundamentals of Java: Introductory, 2nd Edition, Course
Technology, 2003
10
Every week the students are required to attend the lab classes without fail. In every class, the
students will be given a set of questions (programs) that has to be completed before the end of
the class (2 hour duration).
The questions given in the lab will solely concentrate on the topics that have been previously
taught in the lecture class.
The questions will vary from basic to advanced mode of that particular topic.
On successful completion of all their exercises, the student can expect to complete their major
assignment without any hassle.
11