| |
ทบทวนแนวคิดพื้นฐานที่สำคัญของการเขียนโปรแกรมภาษาเชิงอ๊อบเจกต์ แนวคิดเชิงอ๊อบเจกต์และกระบวนการแก้ปัญหา คลาสและแนวคิดของการสืบทอดคุณสมบัติ การกำหนดความสามารถด้วยการกำหนดอินเตอร์เฟส การกำหนดความสามารถหลายอย่าง การกำหนดความสามารถใหม่ การพัฒนาเพื่อติดต่อกับแฟ้มข้อมูล การพัฒนาโปรแกรมแบบคู่ขนาน
Lecture: Tue - Sc242/Sc243 [13:00 - 16:00] Train: Wed - Sc242+Sc243 [13:00 - 16:00] Test: Fri - Sc254 [09:00 - 11:00]
กระดานข่าว กระดานเสวนา
- เวลาที่สามารถมาสอบแก้ได้

อ.โจ
- อังคาร 8.00-11.00
- พฤหัส 8.00-11.00
- ศุกร์ 13.00-16.00
อ.ตี๋
- จันทร์ 9.00-16.00
- พุธ 9.00-11.00
ประกาศเรื่อง Mini Project 
ความสามารถพื้นฐานของ miniproject
- มีหน้า interface และส่วนการทำงานแยกจากกัน
- มีการแบ่งแยกการทำงานเป็น package ชัดเจน
- มีเอกสารการออกแบบที่เป็น UML Diagram
- มีการใช้งาน abstract และ interface
- สามารถดักจับข้อผิดพลาด (Exception) ที่อาจจะเกิดขึ้นได้
- สามารถอ่านและเขียน text file หรือ binary file ได้
ตัวอย่าง miniproject
- ระบบจัดการร้านเช่า (เลือกเอาว่าจะเช่าอะไร เช่น VCD , หนังสือ ฯลฯ )
- สามารถเพิ่ม / ลบ / แก้ไขสินค้าในร้านได้
- เมื่อลูกค้าเช่า / คืนสินค้า สินค้าภายในร้านต้องเปลี่ยนแปลงไปตามจริง
- ข้อมูลทั้งหมดในโปรแกรมต้องสามารถเขียนลง file และสามารถโหลดขึ้นมาทำงานต่อได้
- ระบบขายของหน้าร้าน (เลือกเอาว่าจะขายอะไร เช่น ขายอุปกรณ์ไฟฟ้า , ขายหนังสือ , ขายเฟอร์นิเจอร์ , เครื่องดนตรี , ร้าน minimart ฯลฯ)
- สามารถเพิ่ม / ลบ / แก้ไขสินค้าในร้านได้
- เมื่อมีการขายสินค้า สินค้าภายในร้านต้องเปลี่ยนแปลงไปตามจริง
- ข้อมูลทั้งหมดในโปรแกรมต้องสามารถเขียนลง file และสามารถโหลดขึ้นมาทำงานต่อได้
- ระบบเก็บข้อมูลบุคคล
- สามารถเพิ่ม / ลบ / แก้ไข ข้อมูลของแต่ละบุคคลได้
- ข้อมูลที่จะเก็บของแต่ละบุคคลคือ ชื่อ-นามสกุล , รูป , วันเดือนปีเกิด , อายุ , ที่อยู่ ฯลฯ
- ข้อมูลทั้งหมดในโปรแกรมต้องสามารถเขียนลง file และสามารถโหลดขึ้นมาทำงานต่อได้
- ระับบสมุดบันทึกประจำวัน (Diary) <-- แนะนำให้ทำระบบนี้
- ก่อนเข้าใช้งานจะต้องสร้าง account และต้อง login ด้วย
- สามารถบันทึกข้อความที่ต้องการได้
- สามารถเลือกวันที่จะบันทึกข้อความได้
- ในแต่ละวันสามารถบันทึกได้มากกว่า 1 ข้อความ
- สามารถดูข้อความที่บันทึกในแต่ละวันได้
- การทำงานทั้งหมด จะไม่เกี่ยวข้องกับ accout อื่น เช่น แต่ละ account จะเห็นเฉพาะบันทึกของตัวเองเท่านั้น ถึงแม้จะบันทึกไว้วันเดียวกันกับ account อื่นก็ตาม (เพื่อความปลอดภัยและความเป็นส่วนตัว)
โดยนศ.สามารถเลือกจากตัวอย่าง miniproject ที่ให้นี้มาทำ้ หรือจะคิดขึ้นมาเองก็ได้ แต่ต้องมีพื้นฐานความสามารถดังข้างบนนี้
ประกาศเรื่อง Quiz รายบุคคล 
- จุดประสงค์ที่ 1-5 ให้สอบได้ไม่เกินวันอังคารที่ 26 ม.ค. 2553
- จุดประสงค์ที่ 6-9 ให้สอบได้ไม่เกินวันอังคารที่ 2 ก.พ. 2553
- จุดประสงค์ที่ 10-11 ให้สอบได้ไม่เกินวันอังคารที่ 9 ก.พ. 2553
- เนื้อหาแต่ละจุดประสงค์ สามารถ download ได้ ที่นี่
- การสอบจะเป็นข้อเขียนบนกระดาษหรือเขียนโปรแกรม ก็แล้วแต่อ.ผู้สอบ (จุดประสงค์เดียวกัน รูปแบบการสอบอาจจะไม่เหมือนกัน)
| |
| | 2พฤศจิกายน - 8พฤศจิกายน Objective 1: สร้าง project ตามโครงสร้าง package และมีคลาสพร้อม attributes ที่กำหนดให้ได้ [ทบทวน]
| 
|
| | 9พฤศจิกายน - 15พฤศจิกายน Objective 2: พัฒนาระบบโดยการสร้างและเรียกใช้งาน method จากคลาสภายใน และภายนอกระบบ ได้
| 
|
| | 16พฤศจิกายน - 22พฤศจิกายน Objective 3: สร้างระบบจากการออกแบบด้วย UML ก่อนได้
| 
|
| | 23พฤศจิกายน - 29พฤศจิกายน Objective 4: บอกหลักการ และ ผลลัพธ์ การใช้งาน modifiers ได้ [access modifiers, static, final]
| 
|
| | 30พฤศจิกายน - 6ธันวาคมObjective 5: พัฒนาโปรแกรมที่ใช้ abstract และ interface ได้
| 
|
| | 7ธันวาคม - 13ธันวาคม Objective 6: พัฒนาระบบที่ใช้ abstract class และ interface ได้
| 
|
| | 14ธันวาคม - 20ธันวาคมQuiz ก่อน Midterm
| 
|
| | 21ธันวาคม - 27ธันวาคมสอบกลางภาค (21 ธ.ค. - 30 ธ.ค. 2552) | 
|
| | 28ธันวาคม - 3มกราคม (ไม่พบ) | 
|
| | 4มกราคม - 10มกราคมObjective 7: พัฒนาโปรแกรมเพื่อจัดการกับข้อผิดพลาดของโปรแกรมได้
| 
|
| | 11มกราคม - 17มกราคม Objective 8: พัฒนาระบบที่สามารถอ่าน/บันทึกข้อมูลที่เป็นไฟล์ข้อความได้
| 
|
| | 18มกราคม - 24มกราคมObjective 8: พัฒนาระบบที่สามารถอ่าน/บันทึกข้อมูลที่เป็น binary file ได้
| 
|
| | 25มกราคม - 31มกราคมObjective 9: พัฒนาระบบที่ใช้ thread ร่วมทำงานได้
| 
|
| | 1กุมภาพันธ์ - 7กุมภาพันธ์Objective 10: พัฒนาระบบ ระบบจัดเก็บโครงงาน ได้
| 
|
| | 8กุมภาพันธ์ - 14กุมภาพันธ์ตัวอย่างพัฒนาระบบในปัจจุบัน
| 
|
| | 15กุมภาพันธ์ - 21กุมภาพันธ์นำเสนอระบบ - presentation | 
|
| | 22กุมภาพันธ์ - 28กุมภาพันธ์Quiz ก่อนสอบ final | 
|
| | 1มีนาคม - 7มีนาคม
สอบกลางภาค (1 มี.ค. - 12 มี.ค. 2553) | 
|