88620159 Object-Oriented Programming Paradigm

Nutthanon Leelathakul           
Office:       
IF (9th Floor)                                 
Email:        nutthanon@buu.ac.th              
 

Course Description

Object-oriented software design and development; programming structures in object-oriented language; object and class definitions; UML diagram; encapsulation and information hiding; separation of behavior and implementation; classes and subclasses; inheritance, overloading and overriding; polymorphism; interface; files; event-driven programming

Access Grader Grader
Important Links: FB Group, Score Page

  

Course Outline

Week

Content

Lecture Note

Slide

Assignment

1

Review of Basic Programming Concepts

(If)

Review I

 

Lab เกี่ยวกับ Basic Programming Concepts

การบ้าน: ทำโจทย์ทุกข้อใน Review I ใส่กระดาษมาส่ง

2

Review of Basic Programming Concepts

(Loops)

Review II

 

Lab เกี่ยวกับ Basic Programming Concepts

การบ้าน: ทำโจทย์ทุกข้อใน Review II ใส่กระดาษมาส่ง

3

Review of Basic Programming Concepts

(Array, Method)Review of Basic Programming Concepts
(Method)

Review III

 

Lab เกี่ยวกับ Basic Programming Concepts

การบ้าน: ทำโจทย์ทุกข้อใน Review III ใส่กระดาษมาส่ง

4

Review of Basic Programming Concepts

Review IVเอกสารเสริม

 

Lab เกี่ยวกับ Basic Programming Concepts

การบ้าน1: ทำโจทย์ทุกข้อใน Review IV ใส่กระดาษมาส่ง
การบ้าน2:
Lab (ทำทุกหน้า ส่งสัปดาห์หน้า เขียนด้วยมือ)

5

Thinking in objects
Class vs Objects

Lecture IIntro Slides
Lecture II

 

Lab เกี่ยวกับ Thinking in objects

การบ้าน

6

ArrayList

Lecture ArrayList

 

การบ้าน

7

Static, Constructor, Overloading

อ.สมชาย Java Point
Lecture III

 

 

การบ้าน (Method Overloading) ข้อ 14-15 หน้า 110
การบ้าน (Constructor + Overloading) ข้อ 3 หน้า 161

8 - 9

สอบกลางภาค

 

 

 

10

Public, Private, Inheritance, Polymorphism

Slides
MWIT

 

Lab

Lab

11

Aggregation, Composition

Aggregation, Composition
UML Relations, ตัวอย่าง
Code ตัวอย่าง

 

Lab

Lab

12

Exception Handling

Lecture05

 

Lab เกี่ยวกับ Exception Handling

 

 

13

Abstract Classes, Overriding, Overloading, Interfaces

Lecture08

 

Lab เกี่ยวกับ Abstract Classes Interfaces

Lab

14

Generic Classes & Methods
Event-driven programming

Lecture09
ตัวอย่าง1, ตัวอย่าง2
Lecture10

 

ปฏิบัติการเกียวกับ Event-driven programming

Lab

15

Project Proposal

 

 

 

16

Project Progress Report

 

 

 

17

Project Presentation

 

 

 

18

สอบปลายภาค

 

 

 

 

Assessment

สอบ midterm      30%
สอบ final            35%
quiz                   10%
การบ้าน              20%
เช้าชั้นเรียน            5% 

 

การส่งการบ้าน

·         code ที่ส่งต้องมี comment มิฉะนั้น จะไม่ตรวจให้ และ จะไม่ได้คะแนน

·         อนุญาตให้ปรึกษาเพื่อนได้ แต่ไม่อนุญาตให้ลอกการบ้านหรือลอก code บางส่วนของเพื่อนมาใช้ ถ้าพบ จะมีผลต่อคะแนนของวิชาดังนี้ :-

o    พบว่าลอกกันครั้งแรก ผู้ให้ลอกและผู้ลอก ได้ 0 คะแนนในงานชิ้นนั้น

o    พบว่าลอกกันครั้งที่สอง ผู้ให้ลอกและผู้ลอกได้ 0 คะแนนในงานชิ้นนั้น และ ถูกลดเกรดหนึ่งเกรด

o    พบว่าลอกกันครั้งที่สาม ผู้ให้ลอกและผู้ลอก จะได้เกรด F

·         ห้ามลอก code จาก internet ถ้าพบจะไม่ให้คะแนน

·         ในกรณีที่ส่งสาย คะแนนจะถูกหักไป 10% ต่อวัน (ถ้าเกินหนึ่งอาทิตย์ ไม่รับตรวจการบ้านนั้น)

 

เอกสารและตำราหลัก

1. J. Anderson and H. Franceschi, Java Illuminated: An Active Learning Approach, Jones Bartlett Learning, 2012.

2. C. Horstmann, Big Java, John Wiley and Sons, Inc, 2010.