Mshabab Alrizah

Advanced Object Oriented Programming

الحاسب له لغته الخاصة التي يفهمها. ليس فقط فهم بعض الكلمات تعني انك تستطيع مخاطبة الجهاز. ولكن فهم المبادئ التي تساعدك على توصيل امرك ومعلومتك الى الجهاز مهم جدا.

ولذلك فان تعلم البرمجة الشيئية يعني انك بدأت فهم لغة الجهاز وايضا تتقن لهجته! 

Announcements

Please make sure to check this section frequently!

Announcement #1 2/9/2021: we will use the  OnlineGDB website to perform our lab activities. please get familiar with it before the classes start. 

Announcement #1 7/9/2021: Please take a look over GitHub if you do not know what is it. https://github.com/about

Announcement #1 7/9/2021: This course is advanced, so please be ready with JAVA

About the course

This Course on Java Programming is designed to provide extensive hands-on experience writing, compiling, and executing Java programs. Students will learn to build robust applications that use Java’s object-oriented features. Java is known for reliability, maintainability, and ease of development. Its unique architecture enables programmers to develop a single application that can seamlessly run across multiple platforms.

Instructor

Dr. Mshabab Alrizah

Location: TBA

Office hourse: TBA

Lectures

Monday: 10 AM-11 AM

Teaching Assistants

TBA

Office Location: nan

Office hours: nan

Email: nan

Prerequisites

222CCS-3– Object-Oriented Programming

Programing Language:  This course is advanced, so please be ready with JAVA

 

Textbook(s)

An Introduction to Object-Oriented Programming with JAVA ( 5th Edition), 2010, Thomas Wu, McGraw Hill

Ivor Horton’s Beginning JAVA 2 JDK (5th Edition), by Ivor Horton, Wiley

More resours

Java: The Complete Reference, (Complete Reference Series) 10th Edition by Herbert Schildt

Homework and programming assignments

Assignments #1:

Assignment #2:

Assignment #3:

Assignment #4:

Lab#1:

Lab#2:

Lab#3:

Lab#4:

Evaluation and grade

Assignments: 10 % 

Lab: 5%

Practical Examination: 10%

Two Midterm exams: 20% (First exam 10%, second exam 10%)

Final exam: 50%

Attendance: 5%

Schedule

This schedule is subject to change depending on how the course progresses.

WeekTopicSlidesAssignment/ HW DueNotes
1Overview of Object Oriented Programming
Ecplipse, Github and Online Java Compiler (onlineGDB)
2JAVA: basic: Objects, Classes, Packages
Inheritance, Polymorphism, Interfaces, Generics and Collections, Exceptions AND Stream and File I/O lab 1
3Multi –Threading: Thread Model Assignment 1
Multi –Threading: Thread Class, Runnable Interface
4Multi –Threading: Multiple Threads
Multi –Threading: Synchronization, Priorities lab2
5Networking: Basics Assignment 2
Networking: Classes and Interfaces
6Networking: InetAddress
Mid 1
7Networking: TCP/IP Client & Sever Socket
Networking: Datagrams lab 3
8JDBC Basics: Components, Layers & Architecture Assignment 2
JDBC Basics: create a statement, execute a query
9JDBC Basics: Interfaces
JDBC Basics: Result Set Object
10JDBC Basics: Calling Procedures
JDBC Basics: Handling Errors, Browsing a Database lab 4
11GUI and Event-Driven Programming: Basics, Simple GUI I/O with JOptionPane Assignment 3
GUI and Event-Driven Programming: Basics, Components,
12Mid 2
GUI and Event-Driven Programming: Customizing Frame Windows
13GUI and Event-Driven Programming: Layout Managers
GUI and Event-Driven Programming: Effective Use of Nested Panels
14GUI and Event-Driven Programming: Menus, Mouse Events lab 5
Applets: Architecture Assignment 4
15Practical Examination Practical Examination
Applets: Applet Initialization and Termination, Overriding update (),
16Final Final