CPIS 321 : การโปรแกรมจาวา (Java Programming) 3(2-2)
ศึกษาหลักการ และโครงสร้างของภาษาจากตัวแปร ค่าคงที่ ชนิดของข้อมูล ตัวดำเนินการ และนิพจน์การสร้าง และการใช้วัตถุ (Object) การเรียนรู้ชุดคำสั่งต่าง ๆ การเรียกใช้ฟังก์ชัน (Function) พื้นฐานที่มีอยู่ใน Library ของ Compiler การสร้างเงื่อนไข (Condition) การวนซ้ำ (Loop) คลาส (Class) อาร์เรย์ (Array) และแฟ้มข้อมูล (File) การใช้ GUI (Graphical User Interface)
CPSC 425, CPSC 218 : การเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Programming) 3(2-2)
การเขียนโปรแกรมเชิงวัตถุเบื้องต้น การวิเคราะห์โครงสร้างของโปรแกรมเชิงวัตถุ เทคนิคเบื้องต้นของการออกแบบซอฟต์แวร์ ฟังก์ชั่นการออกแบบเชิงวัตถุขั้นพื้นฐาน การออกแบบโปรแกรมเชิงวัตถุ โปรแกรมตัวอย่าง และการฝึกปฏิบัติในห้องปฏิบัติการ
CPSC 211 : วิทยาการคอมพิวเตอร์(Computer Science) 3(2-2)
หลักการเขียนโปรแกรมแบบโครงสร้าง หลักการออกแบบโปรแกรม การแทนข้อมูลแบบต่าง ๆ นิพจน์โครงสร้างแบบบล็อก แถวลำดับ ฟังก์ชั่น และโปรแกรมย่อย โครงสร้าง และการประมวลผลแฟ้มข้อมูล แบบต่าง ๆ โครงสร้างข้อมูลเบื้องต้น การเรียกซ้ำ การเรียงลำดับ การค้นหา และการผสานข้อมูล ฝึกปฏิบัติการ เขียน และทดสอบโปรแกรมด้วยภาษาปาสคาล ภาษาซี หรือภาษาระดับสูงอื่น ๆ
|
แผนการสอน | CPSC 218 : การเขียนโปรแกรมเชิงวัตถุ
|
บทที่ 1 หลักการเขียนโปรแกรมและการออกแบบ
- การเขียนโปรแกรมโครงสร้าง
- การเขียนโปรแกรมเชิงวัตถุเบื้องต้น
- การวิเคราะห์โครงสร้างของโปรแกรมเชิงวัตถุ
- เทคนิคเบื้องต้นของการออกแบบซอฟต์แวร์
บทที่ 2 ความรู้เบื้องต้นเกี่ยวกับภาษาจาวา
- เทคโนโลยีเกี่ยวกับภาษาจาวา
- การพัฒนาโปรแกรม
- ประเภทของตัวแปร
- การแปลงประเภทของตัวแปร
บทที่ 3 การควบคุมโครงสร้างของโปรแกรม
- การทำงานแบบตามลำดับ
- การเลือกตามเงื่อนไข
- การทำซ้ำ
บทที่ 4 การรับค่า
- การรับค่าอาร์กูเมนท์ผ่านบรรทัดคำสั่ง
- การรับตัวอักษรจากแป้นพิมพ์
- การรับชุดตัวอักษรจากแป้นพิมพ์
บทที่ 5 คลาสและเมทธอด
- คลาส อินเทอร์เฟส แอ็บสแตก
- เมทธอดแบบรับค่า
- เมทธอดแบบคืนค่า
- การเรียนใช้เมทธอดจากคลาสอื่น
บทที่ 6 แถวลำดับ
- แถวลำดับแบบ 1 มิติ
- แถวลำดับแบบ 2 มิติ
บทที่ 7 การโปรแกรมเชิงวัตถุ
- การสืบทอด
- การปกป้อง
- การพ้องรูป
บทที่ 8 การจัดการกับข้อยกเว้น
- การจัดการกับข้อยกเว้น
- การส่งต่อความผิดพลาดออกไป
บทที่ 9 การจัดการแฟ้มข้อความ
- การอ่านข้อมูลจากแฟ้มข้อความ
- การเพิ่ม ลบ และแก้ไขข้อมูล
- การสืบค้นข้อมูล
- การผสานข้อมูล
บทที่ 10 แอพเพลทและแอพพลิเคชั่น
- แอพเพลท
- แอพพลิเคชั่น
| |
แผนการสอน | การโปรแกรมจาวา syloop_rit471.doc สำหรับ มหาวิทยาลัยเทคโนโลยีราชมงคล วิทยาเขตลำปาง
|
1. หลักการเขียนโปรแกรม
- การเขียนโปรแกรมโครงสร้าง
- หลักการพื้นฐานเกี่ยวกับคลาส (Class) และวัตถุ (Object)
- ความแตกต่างของ Java application และ Java applets
2. ตัวแปร และชนิดของข้อมูล
- ตัวแปร (Variable) แบบตัวเลข และแบบตัวอักษร
- การแปลงแบบของตัวแปร
3. การควบคุมโครงสร้างของโปรแกรม
- การทำงานแบบตามลำดับ
- การทำงานแบบเลือกตามเงื่อนไข
- การทำงานแบบทำซ้ำ
4. การรับ ประมวลผล และแสดงผล
- การรับค่าผ่าน args[] และระหว่างประมวลผล
5. โปรแกรมย่อย หรือ Method
6. การสร้าง และใช้งานคลาส (Class) แบบต่าง ๆ
7. แถวลำดับ (Array)
- แถวลำดับ (Array) หนึ่งมิติ
- แถวลำดับ (Array) สองมิติ
8. สอบกลางภาค
|
9. การสร้างแฟ้ม และอ่านข้อมูลเพื่อแสดงผล
10. การปรับปรุงแฟ้ม
- การเพิ่มข้อมูล
- การลบข้อมูล
- การแก้ไขข้อมูล
11. การค้นหาข้อมูล และการผสานข้อมูล
- การผสานข้อมูลจาก 2 แฟ้ม
- การคำนวณ และผสานข้อมูลจาก 2 แฟ้ม
12. การเรียงลำดับ
13. การวาดภาพกราฟฟิก
- การเขียนตัวอักษรแบบกราฟฟิก
- การวาดรูปทรงแบบต่าง ๆ
- การลงสี
14. การเขียนโปรแกรมเมนู และการควบคุมการรับค่า
15. สอบปลายภาค
|
Course Content of sl-110
|
Course Content of sl-275
|
Module 1: Java Technology Overview
Module 2: Object-Oriented Analysis and Design
Module 3: Introduction to Developing and Testing Classes
Module 4: Variables
Module 5: Objects and Object Reuse
Module 6: Operators and Decision Constructs
Module 7: Loop Constructs
Module 8: Methods
Module 9: Encapsulation and Constructors
Module 10: Arrays
Module 11: Inheritance
Module 1: Getting Started
Module 2: Object-Oriented Programming
Module 3: Identifiers, Keywords, and Types
Module 4: Expressions and Flow Control
Module 5: Arrays
Module 6: Class Design
Module 7: Advanced Class Features
Module 8: Exceptions and Assertions
Module 9: Text-Based Applications
Module 10: Building Java GUIs
Module 11: GUI Event Handling
Module 12: GUI-Based Applications
Module 13: Threads
Module 14: Advanced I/O Streams
Module 15: Networking
| |
งานที่มอบหมาย
งาน A : ฝึกเขียนทั้ง 6 โปรแกรม อย่างง่าย
|
1. ใช้ if ได้จาก j0202
2. ใช้ switch ได้จาก j0203
3. ใช้ while ได้จาก j0206
4. ใช้ BufferedReader ได้จาก j0304
5. ใช้ method ย่อยได้จาก j0402
6. ใช้ array ได้จาก j0502
และทำความคุ้นเคยกับ keywords ทั้ง 49 คำใน 9 กลุ่ม จาก http://www.thaiall.com/class/indexsign.htm
|
งาน B : ฝึกนำเสนอผ่านอินเทอร์เน็ต
|
1. ขอพื้นที่ฟรี (Free Webhosting) อย่างน้อย 2 เว็บไซต์
จาก thainame.net thcity.com geocities.com brinkster.com 1asphost.com freeservers ueuo.com
หรือ myspace.com facebook.com hi5.com หรือ multiply.com
2. แปลง Java Source Code เรื่อง Pyramid of Number จากโจทย์ใน teachpro.htm ทั้ง 36 โปรแกรม เป็น HTML
วิธีการ คือเพิ่ม <pre> บรรทัดแรกใต้ body และเปลี่ยน < เป็น < ( ตัวอย่างผลงานนักเรียน)
3. มีแฟ้ม Source Code ภาษาจาวา อย่างน้อย 36 แฟ้ม ที่แปลงจากภาษาจาวา เป็น HTML
4. มีข้อมูลส่วนตัว แนะนำตนเอง หรือ Resume หรือ CV (Cover Letter)
5. Link โฮมเพจของเพื่อน และที่ตนเองสนใจ
6. รายงานประกอบด้วย ปกนอก ปกใน คำนำ สารบัญ เว็บเพจบางหน้า และ HTML ทั้งหมด
7. ขอ e-mail จากที่ว่าการอำเภอ แล้วส่ง e-mail แจ้งตำแหน่งของโฮมเพจที่ทำ
|
งาน C : รายงานเล็ก
|
รายงานประกอบด้วย ประกอบด้วย ปกนอก ปกใน คำนำ สารบัญ เลขหน้า สรุป รูปถ่ายที่ปก แสดงความคิดเห็นต่อตนเอง และการสอนของอาจารย์
1. สร้างแบบฝึกหัด เขียนศัพท์ขึ้นมา และในศัพท์ 60 คำ คำใดไม่ใช่ Keyword หรือ Reserved Word (49 Keywords) #
2. สร้างแบบฝึกหัด เขียน 10 โปรแกรม โปรแกรมละไม่ต่ำกว่า 10 บรรทัด ให้แต่ละโปรแกรมมีจุดผิดพลาด 5 จุด แยกเฉลยว่าแต่ละโปรแกรมมีจุดผิดที่ใด และต้องแก้ไขอย่างไร
3. เขียน Class Diagram อย่างง่ายมา 10 Diagram แล้วเขียนโปรแกรมจาวา ตาม Diagram ทั้ง 10 นั้น #
4. เขียน 10 โปรแกรม ประกอบด้วยเรื่อง อาร์เรย์ การรับค่าจากแป้นพิมพ์ ทั้ง String และ char พร้อมแสดงผลลัพธ์ และคำอธิบายโปรแกรม
5. เขียน 10 โปรแกรม ประกอบด้วยเรื่อง substring / % max min avg tot พร้อมแสดงผลลัพธ์ และคำอธิบายโปรแกรม
|
งาน D : รายงานใหญ่
|
รายงานประกอบด้วย ปกนอก ปกใน คำนำ สารบัญ สรุปการทำงานของโปรแกรม, Print Screen, คำอธิบาย Source code และ Source code
- สร้างแฟ้มนักเรียน : id, name
- สร้างแฟ้มวิชา : subj, subjname
- สร้างแฟ้มลงทะเบียน : id, subj, grade
- ตัวแปร และชื่อโปรแกรมต้องมีชื่อสอดคล้องกับ ชื่อเล่น หรือรหัสนักศึกษา
รายละเอียดงาน
1. เขียนโปรแกรมเพิ่มข้อมูล สำหรับ 3 แฟ้ม
2. เขียนโปรแกรมลบข้อมูล สำหรับ 3 แฟ้ม
3. เขียนโปรแกรมแก้ไขข้อมูล สำหรับ 3 แฟ้ม
4. เขียนโปรแกรมอ่านข้อมูลมาแสดง สำหรับ 3 แฟ้ม
5. เขียนโปรแกรมเลือกรหัสนักเรียน แล้วแสดงวิชาที่ลงทะเบียน
6. เขียนโปรแกรมเมนู ควบคุมตัวเลือก
7. เขียนโปรแกรมแสดงประวัติของผู้เขียนโปรแกรม
8. Print Screen ทุกหน้าลงรายงาน พร้อมเขียนคำอธิบาย
9. เขียน Class Diagram แสดงการออกแบบโปรแกรม
|
| |
งานที่มอบหมาย
คำใดไม่ใช่ (Keyword)
- abstract assert boolean break byte case catch char class const continue default do double else extends final finally float for goto if implements import instanceof int interface long main native new package private protected lock public return save short static strictfp super switch synchronized this throw throws transient try void volatile while
- package case catch native abstract default return new if char while this short throw throws final finally false class float else implements import instanceof save int interface do void volatile long const continue boolean for goto double lock transient break private protected try assert static strictfp public super switch extends synchronized byte
- do if transient char class static public package break default void while this switch private volatile final finally synchronized long const continue float boolean short protected super implements import for strictfp save throw throws case lock else assert instanceof abstract int catch byte extends interface native goto return double true new try
- throws throw native default volatile float const short transient class import assert return interface abstract super string extends finally double final break save continue public static synchronized catch implements protected boolean while lock strictfp switch private instanceof package void try this if goto else char do case byte long new for int
| |
หนังสืออ่านประกอบ
- # การเขียนโปรแกรมเชิงวัตถุ, ผศ.ธวัชชัย งามสันติวงศ์, 21 เซ็นจูรี่จำกัด
- # Java programming volumne 1, ดร.วีระศักดิ์ ซึงถาวร, ซีเอ็ด
- Advanced Java Programming, รุ่งโรจน์ โพนคำ และปราลี มณีรัตน์
- ออกแบบสร้าง Game ด้วย Java, ชวัศนัช อิงชาติเจริญ
- Java ฉบับพื้นฐาน, กิตติ ภักดีวัฒนะกุล
- เอกสารประกอบการอบรม Java Programming Language (SL-275)
| |
|
การประเมินผลการเรียน
| คะแนนรวม | 100 คะแนน
| จิตพิสัย | 10 คะแนน
| โครงงานประจำวิชา | 10 คะแนน
| การฝึกภาคปฏิบัติ | 10 คะแนน
| สอบย่อย | 10 คะแนน
| สอบกลางภาค | 15 คะแนน
| สอบปลายภาค | 45 คะแนน
|
|
|
|