CSC 113: Computer Programming II

Course Objectives

 

This course aims at improving the OO design skills of the students by understanding the following concepts:

  • Relationships: Association, Aggregation, Composition.
  • Inheritance and dynamic binding and polymorphism. 
  • Exception Handling and File I/O
  • Data structures: Linked List, Stack and Queue.
Grading Policy
  • Homework:     5%
  • Labs:             10%
  • Lab exam:       5%
  • Tutorial:          5%
  • Exam 1:        15%
  • Exam 2:        20%
  • Final Exam:   40%
Lecture Schedule
  • Week 2:   Reminder: Array of primitive data types + introduction to Array of Objects
  • Week 3:   Operations on Array of Objects
  • Week 4:   Relationships between classes
  • Week 5:   Relationships between classes
  • Week 6:   Inheritance
  • Week 7:   Inheritance+ Polymorphism   (Exam 1 November 6, 2013: Exam Solution)
  • Week 8:   Abstract Classes + Interface
  • Week 9:   Exceptions
  • Week 10: Exceptions + Files    
  • Week 11: Files  (Exam 2 December 12, 2013: Exam questions, Exam Solution)
  • Week 12: Introduction to Linked lists of primitive data types
  • Week 13: Linked lists of primitive data types
  • Week 14: Linked lists of objects
  • Week 15: Revision
Course Material
 (source: Dr. Salah Hammami)
Overview and Arrays of Objects  
Relationships between classes using UML  
Polymorphism   
Inheritance  
Interface  
Exception Handling  
File I/O  
Generic Linked Lists    Generic LinekedList, LinkedList  
Stacks-Queues
 
GUI
 Labs
  • Lab 1:  Object Array
  • Lab 2:  Relationships
  • Lab 3:  Relationships
  • Lab 4:  Inheritence
  • Lab 5:  Inheritance & Abstract Classes
  • Lab 6:  Exceptions
  • Lab 7:  Files
  • Lab 8:  Exceptions + Files
  • Lab 9:  Linked lists of primitive data types
  • Lab 10: Linked lists of Objects
  • Lab 11: Linked lists of Objects
  • Lab Exam: December 22, 2013
Tutorials
Homework

TextBook

An Introduction to Object Oriented Programming with Java. 
C. Thomas Wu -  Mc Graw Hill   

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