faculty

 

CSC 113 : Java Programming II

 

 

 

 

 

 

 

 

 

  Course description
  • This course continues the coverage of the fundamental concepts of Object Oriented Programming that started in Java Programming I (CSC 111). 
  • In the Java Programming I, considerable time is spent concentrating on the fundamental programming concepts such as declarations of variables and basic control structures, methods and arrays, prior to introducing students to the concepts of classes and objects.
  • The Java Programming II covers more advanced topics such as packages, inheritance, polymorphism, interfaces, error handling view exceptions, file-handling techniques, generics, graphics and event-driven programming and data structures in which discusses the techniques used to create and manipulate dynamic data structures, such as linked lists, stacks and queues.

  For A full presentation of this course, please refer to this presentation:

Chap 0 - Syllabus.pdf 

  For the detailed syllabus of this course, please refer to this document:

 CSC 113 - Syllabus.pdf

Textbook description

C. Thomas WU: An Introduction To Object-Oriented Programming With JAVA” Fourth Edition McGrawHill, 2006 

Course Objectives 

The objective of this course is to develop the students' ability to use the basics of object-oriented design and programming.

The students learn the characteristic features of object orientation – classes, methods, polymorphism, and inheritance – through both the lectures and a sequence of illustrative programming assignments.

Students will also be introduced to data structures, generic programming, event driven programming and graphical user interface tools.

Course Outcomes

Upon completing CSC113, students should have the following capabilities:

  1. Understand classes and instances, and how programs can be designed as a collection of communicating objects.
  2. Understand and be able to design and implement programs using object oriented programming concepts like: encapsulation, inheritance, polymorphism, abstract classes and methods, and Interfaces.
  3. Use standard documentation, such as UML class diagrams and online Java documentation.
  4. Learn how to compile programs on at least one platform using command lines and / or IDE.
  5. Create and manipulate dynamic data structures, such us linked lists, stacks and queues.
  6. Create and access files with Java.
  7. Design and Implement event-driven interactive programs.
  8. Students should learn how to work in groups towards achieving the same goal.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Textbook

  An Introduction To Object-Oriented Programming With JAVA (Fourth Edition), C. Thomas WU, 2006, McGraw-Hill Higher Education, ISBN 0-07-111680-X

Course Schedule & presentations

 

Date

Week

Content

Slides

June 9

1

Syllabus and Overview

 

Chap 0 - Syllabus.

 

1

Array of Objects + Object Method argument

Chap 1-overview.pdf

 

1

Array of Objects  + methods returning objects

Chap 1-overview.pdf

June  16

2

Java Online Documentation

Chap 1.5 - Java Documentation.pdf     

 

2

Relationship between Classes using UML

Chapter 2 -Relationship.pdf

 

2

Inheritance

Chapter 4- Inheritance.pdf

June  23

3

Polymorphism 

Chapter 4-1 Polymor-Abstrcat.pdf

Roster.zip

 

3

Interface

Chapter 5-1- Interface.pdf

June  30

4

Graphical User Interface

Chapter14-Graphical_User_Interface.pdf

Chapter14 - Source Code.zip

July 5

4

الخميس 5 يوليو/تموز2012 / الموافق 16 شعبان 1433

Mid-term1

at 10:00 AM to 12:00 AM

Midterm vacation

July 7

5

Exception handling

Chapter 5-2- Exceptions.pdf

 

5

File Input/output (Binary, Text and Object files)

Chapter 3- File Input-Output.pdf

July 11

آخر موعد للحذف  Drop Deadline

July 14

6

File Input/output (Binary, Text and Object files)

Chapter 3- File Input-Output.pdf

 

6

Data structures, Linked Lists

Chapter 6- Data Structures Linked Lists - NoGenerics.pdf

July 21

7

Data structures, Linked Lists

Chapter 6- Data Structures Linked Lists.pdf 

July 21

7

Data structures, Stacks, Queues

Chapter 7- Data Structures Stack and Queue.pdf

July 26

الخميس 26 يوليو/تموز2012 / الموافق 8 رمضان 1433

Mid-term2 

at 10:00 AM to 12:00 AM 

July 28

15

Generics

 

Aug. 4

Starting Final Exams

Aug. 8

Returning Marks and Starting of vacations

 

 

 

  

 Tutorial & Lab Assignments

==>> Old Exams, Lab, Tutorial and homework Assignments  are available Here.

Date

Teach. Week

Content

Tutorials

Labs Solutions

Feb 12

1

Overview

Feb 19

2

Array of Objects + Object Method argument

CSC113_Tutorial1.pdf CSC113_Lab1.pdf

 

Feb 26

 

3

Array of Objects  + methods returning objects

 

CSC113_Tutorial2.pdf

 

CSC113_Lab2.pdf

Mar 5

4

Relationship between Classes using UML

CSC113_Tutorial3.pdf CSC113_Lab3.pdf

5

Inheritance, polymorphism and Interface

CSC113_Tutorial4.pdf CSC113_Lab4.pdf

6

Inheritance, polymorphism and Interface

CSC113_Tutorial5.pdf CSC113_Lab5.pdf

7

Inheritance, polymorphism and Interface

CSC113_Tutorial6.pdf CSC113_Lab6.pdf

Mid-term1

at 10 AM to 12:30 PM

8

Exception handling

CSC113_Tutorial7.pdf CSC113_Lab7.pdf

Apr 17

 

MID TERM VACATIONS

9

File Input/output (Binary, Text and Object files)

CSC113_Tutorial8.pdf CSC113_Lab8.pdf

10

File Input/output (Binary, Text and Object files)

CSC113_Tutorial9.pdf

CSC113_Tutorial10.pdf

CSC113_Lab9.pdf

CSC113_Lab10.pdf

11

Data structures, Linked Lists

Drop Deadline

12

Data structures, Linked Lists

CSC113_Tutorial12.pdf CSC113_Lab12.pdf

Mid-term2

at 10 AM to 12:30 PM

13

Data structures, Stacks, Queues

14

Generics

 

 

Homework assignment

 

 

 

 

 

 

#

Topic

Download

Deadline

1

Relationship between Classes

2

Relationship between Classes and inheritence

3

Inheritance, polymorphism and Interface

 

 

4

File object, directories and text files

 

5

Binary and object file

6

Linked List

GUI Project assignments

Programming Project Summer 2011-2012.pdf

  •  Deadline: Saturday July 28th, 2012 before 12 PM.
  •   Total marks: 10 Marks
  •   Team work: by groups of two.
  •   Anti-Cheating policy: Cheating is not tolerated. If it appears that two groups of students or more have cheated, all students involved will earn a 0. Any student who fails to explain the details of his work is considered to be a cheater.
  •    Requirement:
  • 1-      A working program as described below.
    2-      A report explaining the work done, including the UML class diagram , screen shots and explanation of the program design.

     

    Help:

    To display small dialog windows to show a message or read a data from the user, read the article below and see the code examples. It will be very useful to complete the project.

    How to make Dialogs to read data and diaplay messages

      

    Practice Exercises with solution

     #

    Exercise

    Solution

     1 Practice 1 - Fall 2010.pdf  TBD
         
         
       

     

     

     

  • Final Exam:  40%
  • Midterm 1:   15%
  • Midterm 2:   15%
  • Lab:             10%
  • Homework : 10%
  • Quizzes :      5%
  • Project :       5%

Resources

References

Deitel & Deitel: “Java How to Program” Sixth Edition Pearson

David Flanagan, "Java in a Nutshell", Third Edition, O'Reilly Media, 1999

David Flanagan, "Java Examples in a Nutshell", Third Edition, O'Reilly Media, 2004

Quentin Charatan & Aaron Kans: “Java In Two Semesters” Second Edition McGrawHill,