تجاوز إلى المحتوى الرئيسي
User Image

د. عبدالعزيز العبدالحافظ - Dr. Abdulaziz Alabdulhafez

Assistant Professor

أستاذ مساعد - أمن المعلومات - Assistant Professor / Info. Sec.

علوم الحاسب والمعلومات
الدور الثاني - قسم علوم الحاسب - كلية علوم الحاسب والمعلومات
مادة دراسية

CSC 111 : Java Programming I

The course aims at giving the students a broad foundation in the fundamental concepts of object oriented programming accompanied by specific labs to develop the basic skills in object oriented programming with Java. It introduces the basic concepts and principles of the Object Oriented approach such as:  (1) Abstraction and Encapsulation principles, (2) Classes, objects and the constructor concepts, (3) Information hiding principle and the assessors concept, (4) methods, and (5) the message passing and the overloading principles.

Course Outcomes:

  1. To understand the fundamental principles of object-oriented programming.
  2. To be able to read and understand Java programs.
  3. To apply fundamental object-oriented principles in writing programs using Java.
  4. To be familiar with the Unified Modeling Language (UML).

 
The Textbook

  • Java: An Introduction to Problem Solving and programming, 7E, W. Savitch, Pearson International (Textbook)

 

  • Java How to program

Deitel and Deitel (Seventh edition)  Pearson International (reference)
 

  • Introduction to Java Programming, Comprehensive Version, 10E

Y. Daniel Liang,  Prentice Hall (reference)

 
 

Schedule plan
 

Week # Topic Course Material Labs, Lab exams
1 · Introduction to computers and Java: computer basics, Java, programming basics Chapter 1 Introduction  
2 · Variables, Data Types, Identifiers, Assignment
· Simple Input/Output
Ch 2.1
Ch 2.1
LAB-1 (Hello world, variables, assignment)
3 · Constants, Type Casting, Arithmetic Operators, Operator precedence
· Case study: vending machine change
Ch 2.1
Ch 2.1
LAB-2 (variables, IO, expressions)
4 · Increment and decrement, keyboard and screen I/O, documentation and Style Basic if-else statement, Boolean expressions Ch 2.1, 2.3
Ch 3.1
 
5 · Nested if-else statement, multi branch if statement
· Case Study, exit Method (conditional operator not included)Comparing strings, The type Boolean
Ch 3.1
Ch 3.1
Ch 3.1, 3.2
LAB-3
(if statement, Boolean expressions)
6 · Switch statement (enumeration not included)
· while statement
· do-while statement
· Programming example
Ch 3.3
Ch 4.1
Ch 4.1
LAB-4 (simple loops)
  · Mid Term Exam– I    
7 · for statement (for-each not included)
· Nested loop
· Programming with loops, loop bugs, tracing variables (break and continue, assertion not included)
Ch 4.1
Ch 4.1
Ch 4.2
LAB-5 (Nested loops)
8 · Classes: Instance variable,
· UML Programming
· Example Methods, void Method, Method that return a value
Ch 5.1
Ch 5.1
Ch 5.1
EXAM-1 (simple program with variables, IO, expressions, conditional statement, loops)
9 · The keyword this,
· Local variables, blocks Parameters of a primitive type
· Information hiding, public and private modifiers
Ch 5.1
Ch 5.1
Ch 5.2
LAB-6 (Objects)
10 · Accessor (getters) and mutator methods(setters)
· Encapsulation, UML class diagram
· Methods calling methods
Ch 5.2
Ch 5.2
LAB-7 (objects and methods)
11 · Variable of class type (references)
· Defining an equals method for a class
· Parameters of class type
· Constructors
Ch 5.3
Ch 5.3
Ch 6.1
LAB-8 (Information hiding, encapsulation)
11 · Mid Term Exam– II    
12 · Static variables and methods
· Overloading
· Array basics
Ch6.2
Ch6.4
Ch7.1
LAB-9 (Constructors, static variables & methods, overloading)
13 · Array basics programming example
· Arrays in classes and methods
· Array of objects
Ch7.1
Ch7.2
Ch7.3
LAB-10 (array processing)
14 · Operations on array of objects (add, search, delete) (Instructor Notes) LAB-11 (Array of objects)
15 · Revision   Final Lab Exam (everything)
  · Final Exam    

 

Assessment Methods & Policy:
 
Homework, Quizzes and Attendance                  16%      12%        Homework Assignments (1/HW)
                                                                              4%         Class Project
 
 
Lab.                                                            24%                    3 Evaluation Exams
                                                                                            In the Lab (6+8+10)
 
Written Midterm Exams                                 20%      10%        Midterm exam 1
                                                                              10%        Midterm exam 2
Written Final Exam                                       40%      scheduled according to University calendar
 
 
Homework assignments:
Homework will be assigned and graded. All homework assignments will be given with a strict deadline, and students are required to submit their assignments on or before the deadline. Cheating will not be tolerated  لن يتم التسامح مع الغش مطلقا .
 
Quizzes:
In-class quizzes will be given throughout the semester to assess the desired course outcomes. 
 
Continuous Evaluation Exams:
There will be 5 exams each one conducted during a lab session for 2 hours under supervision of the lab instructor. Each exam will consist of a single programming problem. The student will be presented with a detailed problem statement and asked to write, compile and run a full java program to solve the problem. The answer-program should be written using Eclipse (or any other IDE available for students in the lab). Unlike during regular lab sessions, the student should not expect any help from the lab instructor.
 
Midterm:
2 Midterms will be given. It will be a closed book and closed note exam and will cover the studied part of the course.
Mid Term 1: It covers: from the beginning up to the conditional statements (usually scheduled in the 6th week of the term)    
Mid Term 2: It covers all studied concepts but the array structure (usually scheduled  in the 11th week of the term).
 
Final:
A comprehensive final examination will be given.  It will be a closed book and closed note exam and will cover all course material.
 
Deadline Policy:
All homework assignments will be given a strict deadline, and students are required to submit their assignments on or before the deadline.  They will be collected at the start of the class on the due date, and late submissions will not be accepted.  In case of extenuating circumstances, students are advised to contact the professor as soon as possible.  You are encouraged to discuss the course and the assignments with each other; however, your exams and homeworks should be your own work.
 
Attendance Policy: Attendance will be taken. Attendance will be graded as cited above, and may be used as a deciding factor when final average is between grades. The following rules are made by the collage and we will follow them strictly:

  1. Anyone with absence of 25% or more will be barred from entering the final exam, NO EXCEPTIONS will be made.
  2. NO medical excuses should be accepted as a way for deducting the number of absence days (25% of allowed absence in a Semester is actually there for the purpose of such health or other emergency circumstances). A medical excuse may only be used in the case that a student misses an exam (to allow for a make-up exam), however, the absence should still be counted.
  3. The college will be very strict in applying these rules this Semester

 
Computer usage:
All homework assignments or project documents should be submitted using MS-Word and/or appropriate computer software. No hand written submission will be accepted لن يقبل أي واجب مكتوب بخط اليد.

ملحقات المادة الدراسية