Kingdom of Saudi Arabia
Ministry of Higher Education
University of Hail
College of Computer Science and Engineering
Department of Computer Science and Software
Engineering
‫المملكة العربية السعودية‬
‫وزارة التعليم العالي‬
‫جامعة حائل‬
‫كلية علوم وهندسة الحاسب اآللي‬
‫قسم علوم الحاسب وهندسة البرمجيات‬
Course Name
Course Number
Prerequisite/Co-requisite
Credit Hours
Semester
Computer Programming
ICS 102
MATH 101 or MATH 132 , little or no programming experience
3
Second semester , 2013-2014
Text Book
Walter Savitch, Absolute Java, 5TH Edition, Pearson Addison-Wesley, 2012
Additional Resources
Contact Hours
Course Coordinator
Office Location
Email Address
Lab Time
Course Instructors
Textbook: THE Java Programming Language, 4th Edition By Ken Arnold ,
James Gosling and David Holmes.
Website: www.learnjavaonline.org/
YouTube channel : Cave of Programming – Java for complete beginners
Lectures : 2 sessions / week . (1 hour for each)
Lab : 1 session / week . (3 hours)
Mrs. Reem ALRasheedi
11B-007
r.marshdi@uoh.edu.sa
Section 154 : T 8:00 am to 11:00 pm
Section 153 : W 8:00 am to 11:00 pm
Section 162 : R 11:00 am to 2:00 pm
Lecture instructors : Mrs. Reem ALRasheedi,
Ms. Mahreen Nasir Butt
Lab instructors : Mrs. Reem ALRasheedi ,
Ms. Albandri ALOtaibi,
Ms. Mahreen Nasir Butt,
Ms. Rasha ALMarshadi,
Mrs. Ohod ALMushari
Course Website
http://faculty.uoh.edu.sa/r.marshdi/
Edmodo Group
Every student should register to Edmodo from www.edmodo.com and join the
course group to attend ICS102 discussion circles.
Essential Group Code : 6vz3ab , To be reset during the semester .
Course Description
This course is an introduction to Object-Oriented Programming OOP language (Java) . Overview of
computing. Introduction to a typical object-oriented programming language. Basic data types and
operators. Basic object-oriented concepts. Wrapper classes. Console input/output. File input/output .
Logical expressions and control structures. Classes and methods. Arrays and strings.
Page 1 of 7
Course Objective
The aim of this course is to introduce the students that have no or little programming experience to
an Object-Oriented Programming language (Java) . The students as beginner programmers will be
able to solve programming problems in Java using basic programming concept s delivered in this
course .
Learning Outcomes







A student completing this course should be able to:
Write programs using basic data types and strings,
Develop programs with console input/output ,
Develop programs with input/output from text files,
Design and implement programming problems using selection,
Design and implement programming problems using loops,
Design and implement programming problems using arrays,
Design and implement classes as data abstractions in an object-oriented approach.
Grading Policy:
Activity
Weight
Quizzes
3
Project
4
Discussion Circles
3
Lab
15
Major 1 Exam.
15
Major 2 Exam.
15
Final Exam.
45
Course Outline:
 Lectures
Week
1
Topic
An overview of Computing, Introduction to Java
Lecture 1:
 Before staring
 Introduction to computing
 History of Java
Lecture 2:
 Feature of Java
 Computer language levels
 Program terminology
Textbook
Chapter I
Page 2 of 7




2+3
Java virtual machine
Java programs
Syntax and semantics
Error messages
Expressions and Assignment Statements, String class
Lecture3:
 Data types
 Variables
 Keywords
 Declaring variables
 Initializing variables
Lecture 4:
 Assignment compatibility
 Operators
 Comments
Lecture 5:
 Introduction to String class
 String methods
Chapter I
Quiz 1
3+4
Console Input and Output , Scanner
Lecture 6:
 Console output : System.out
o Print
o Println
o Printf
Lecture 7:
 Console input
o Introduction to Scanner class
o Importing Scanner class to a java program
o Scanner methods
Chapter II
Lecture 8:
 Decimal and money format
Major 1: Sunday 02/03/2014
5
6
Flow of Control –Branching mechanism
Lecture 9:
 Introduction to flow control
 Relational operators
Lecture 10 :
 Branching mechanism – if statement
 Branching mechanism – switch statement
Flow of Control - Loops
Chapter III
Chapter III
Page 3 of 7
Lecture 11:



Introduction to Loops
For loop
While loop
Lecture 12:



Do-while loop
Nested loops
Infinite loops
Quiz 2
Introduction to Arrays, One dimensional array
Lecture 13:
7
 Introduction to one dimensional arrays
 Declaring one dimensional arrays
 Initializing one dimensional arrays
Lecture 14:

Chapter VI
For loop with one dimensional array
Multidimensional Arrays
Lecture 15:
8
 Introduction to multidimensional arrays
 Declaring multidimensional arrays
 Initializing multidimensional arrays
Lecture 16:

Chapter VI
Nested for loop with one dimensional array
Major 2: 30/03/2014
9+10
Defining Classes - Introduction to classes and objects, Data
Hiding and Encapsulation
Lecture 17:
 Introduction to classes
 New operator
 Instant variables and methods
Lecture 18:
 Data Hiding and Encapsulation
 Methods
o Return method
o Void method
Lecture 19:
Chapter IV
Page 4 of 7



Global variables
Local variables
Parameters (arguments)
Constructors, Overloading
Lecture 20:

Constructors
o What are constructors
o Function of constructors
o Types of constructors
Lecture 21:
10+11



this parameter
equals method
toString() method
Chapter IV
Lecture 22:


Private and public modifiers
Accessor and mutator methods
Lecture 23:

Review with a complete class example
Quiz 3
Static methods and static variables
Lecture 24:

12
Static methods
o Use of static methods
o None static method within static method
Chapter V
Lecture 25:



Static variables
Math class
Random numbers
Wrapper classes
13
Lecture 26:

Chapter V
Introduction to wrapper classes
Page 5 of 7

Use of wrapper classes
Lecture 27:


Automatic boxing and unboxing
Methods in wrapper classes
References and Class parameters, Packages
Lecture 28:


Variable in memory
Reference
14
Chapter V
Lecture 29:



15
Class parameter
Packages
import keyword
Lecture 30: Review and Discussion , Project Submission
Final Exam : 18/05/2014
 Labs
Week
Topic
Textbook
2
Lab 1: Getting Started with JCreator .
Chapter I
3
Lab 2: Introduction to Java , String Class
Chapter I
4
Lab 3: File Input and Output , Scanner
NOTE: Because of the lack of time in the lecture sessions and
since File I/O is a practical subject , it will be discussed only in
the lab session .
Chapter II
5
Lab 4: Flow of Control –Branching mechanism
Chapter III
6
Lab 5: Flow of Control - Loops
Chapter III
Page 6 of 7
7
Lab 6: One dimensional array
Chapter VI
8
Lab 7: Multidimensional Arrays
Chapter VI
9+10
Lab 8 : Introduction to Classes I
Chapter IV
11+12
13+14
Lab 9 : Introduction to Classes II
Chapter V
Lab 10 : Review and Discussion
15
Final Lab Exam : 07/06/2014
Important Notes:
 Regular attendance is a university requirement. Attendance will be taken at the beginning of
every class.
 Whenever the number of unexcused absences exceeds 20% of the held classes, a DN grade
will be reported.
 Mobile phones must be turned off or made silent during the class time.
 The course materials will be available on the course website .
 Every student should attend at least two discussion circles during the whole semester.
 Project is to be submitted at the beginning of week 15.
 All the grades will be announced on the course website .
 Make-up exams will be offered for valid reasons only with consent of the Exam’s
Committee. Make-up exams may be different from regular exams in content and format.
 Cheating is not allowed. Several measures will be taken by the instructor.
Developed By :
Mrs. Reem ALRasheedi
Page 7 of 7