886201 Programming Fundamental I

Nutthanon Leelathakul     Office:         SD 509                   
                                        Email:         nutthanon@buu.ac.th

Download Course Syllabus, JDK (สำหรับ compile), Eclipse (IDE ใช้เขียนโปรแกรม)

Access Grader (เข้าจากใน ม.) (เข้าจากนอก ม.) 

ประกาศ: 1. Facebook Group, Score Page

            2. ตัวอย่างการรับจำนวนเต็มจาก Keyboard
                
ขั้นตอน 1: import java.util.Scanner; ที่หัวไฟล์
                 ขั้นตอน 2: ประกาศ object ที่เป็น class Scanner ใน method main ดังนี้
                                 Scanner kb = new Scanner(System.in);
                
 ขั้นตอน 3: ใช้ method nextInt เพื่อรับค่าจำนวนเต็มจาก Keyborad ดังนี้
                                 int my_int_input = kb.nextInt();
                                 String my_str_input
= kb.next();
                                 String my_whole_line = kb.nextLine();  //
ระวัง!!! ถ้าไม่ได้ใช้กับ nextLine() ด้วยกันและไปรับค่า
                                                                                                                                     
// หลังจาก next ตัวอื่น จะมีปัญหาการรับสัญลักษณ์ขึ้นบรรทัดใหม่
                                 char my_char_input = kb.next().charAt(0);

            3. เอกสารติว

 

Course Outline

Week

Content

Slide

Lecture Note

1

Introduction to Java
- Compilation
- Algorithms
- Pseudo-code
- Flow Chart

Intro

Intro

 

ปฏิบัติการเกี่ยวกับการเริ่มใช้ Eclipse + Hello World

Lab0

2

- Style
- Primitive Data Types (Operator, Type, Variables, Math Class, Precedence, Scanner, Casting)

การประกาศตัวแปร

การประกาศตัวแปร

 

ปฏิบัติการเกี่ยวกับ Scanner + Simple Calculation

Lab1, HW1
Lab2, HW2
HW3

3 - 4

Control Structures
  - if Single-Selection Statement
  - if... else Double-Selection Statement
  - Switch


การใช้เงื่อนไข


การใช้เงื่อนไข

 

ปฏิบัติการเกี่ยวกับ if else switch + Debugger

Lab3
Lab4, HW4
Lab5, HW5

5 - 7

Loop: for loop

การทำซ้ำ

การทำซ้ำ

Strings, Text Input and Output
  - Class String
      String Constructors
      String Methods length, charAt and getChars
      Comparing Strings
      Locating Characters and Substrings in Strings
      Extracting Substrings from Strings
      Concatenating Strings
- Text Input and Output

สายอักขระ

 

 

ปฏิบัติการเกี่ยวกับ Loop

Lab6, HW6

8 - 9

สอบกลางภาค

 

 

10

Loop
  - while, do … while
  - break, continue

การทำซ้ำSlide5.pdf
Read-Write Files

การทำซ้ำ

 

ปฏิบัติการเกี่ยวกับ Loop

Lab7, HW7 Lab9, Exercise7

11

Nested Loop

การทำซ้ำArray

การทำซ้ำArray

 

ปฏิบัติการเกี่ยวกับ Nested Loop

Lab8, HW8Lab10, Exercise8

12

Methods
  - Introduction
  - Program Modules in Java
  - static Methods, static Fields
  - Class Math
  - Declaring Methods w Multi-Parameters

Method

Method

 

ปฏิบัติการเกี่ยวกับ methods

                            Lab9, HW9

13

Arrays (and Array Lists)

Array

Array

 

ปฏิบัติการเกี่ยวกับ array1

Lab10, HW10

14

Multi-dimension arrays,
Passing Arrays to Methods

Array

Array

 

ปฏิบัติการเกี่ยวกับ array2

Lab11, HW11, HW11.2

15

Strings
      Extracting Substrings from Strings
      Concatenating Strings

สายอักขระ

 

 

ปฏิบัติการเกี่ยวกับ String

Lab12, HW12Lab13, Exercise11
HW5

16

Exceptions

 

 

 

ปฏิบัติการเกี่ยวกับ try - catch

 

 

17

Recursion

Recusion

 

 

ปฏิบัติการเกี่ยวกับ recursion

Lab13, HW13

18

สอบปลายภาค

 

 

 

Assessment

สอบกลางภาค                           35%
สอบปลายภาค                           35%
เข้าชั้นเรียน                                5%
การมีส่วนร่วมในชั้นเรียน + Quiz   10%
การบ้าน                                 10%
สมุดบันทึก                                5%

 

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

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

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

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

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

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

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

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