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