การเขียนโปรแกรมเบื้องต้น

Fundamentals of Programming

       1.1 เพื่อให้นักศึกษาเข้าใจแนวคิดเกี่ยวกับหลักการทำงานโปรแกรมระบบปฏิบัติการกับภาษาต่างๆ
      1.2 เพื่อให้นักศึกษาเข้าใจและเขียนลักษณะการทำงานของวิธีการทางคอมพิวเตอร์
      1.3 เพื่อให้นักศึกษาสามารถเอาหลักการอัลกอริทึมแก้ปัญหากับโปรแกรมภาษาคอมพิวเตอร์
      1.4 สามารถประยุกต์ใช้งานตามแนวคิดการพัฒนาโปรแกรมทางระบบคอมพิวเตอร์อย่างมีประสิทธิภาพ
เพื่อให้นักศึกษามีความรู้พื้นฐาน เป็นการเตรียมความพร้อมด้านปัญหาในการนำความรู้ ความเข้าใจ ในระบบเทคโนโลยีคอมพิวเตอร์และเทคโนโลยีสารสนเทศ เพื่อเป็นพื้นฐานการเรียนในวิชาอื่นๆ ที่เกี่ยวข้อง ทั้งนี้ ควรมีการเปลี่ยนแปลงตัวอย่างอ้างอิง ให้สอดคล้องกับแนวโน้มด้านเทคโนโลยีคอมพิวเตอร์ที่ได้มีความก้าวหน้าไปตามยุคสมัย
ศึกษาหลักการทั่วไปเกี่ยวกับการเขียนโปรแกรม หลักการแก้ปัญหาด้วยคอมพิวเตอร์ การเขียนขั้นตอนวิธีและเขียนผังงาน องค์ประกอบของประโยคคำสั่ง เช่น ตัวแปร ค่าคงที่ เครื่องหมายกระทำการ นิพจน์ ฟังก์ชัน เป็นต้น ชนิดของข้อมูลแบบต่าง ๆ โครงสร้างข้อมูลแบบอาร์เรย์ โครงสร้างคำสั่งแบบตามลำดับ เลือกทำ และการวนซ้ำ การสร้างโปรแกรมย่อย โดยการใช้ภาษาคอมพิวเตอร์ในการฝึกปฏิบัติ การใช้เครื่องมือในการพัฒนาโปรแกรม การตรวจสอบ ทดสอบ และแก้ไขโปรแกรม
             The Study of computer programming and problem-solving principal , algorithms and flowchart. The programming syntax include with variable , parameter , operator , expression , function. Type of variables , array data structure , sequence structure , selection structure , iteration structure , sub-program. To develop an application program by using development , evaluation , debug and testing process.
    3.1 วันจันทร์ พุธ ศุกร์ เวลา 15.00 - 16.30 น. ห้องพักอาจารย์  โทร. 081-8872848
    3.2 e-mail : rung@rmutl.ac.th , rung_c@hotmail.com  เวลา 20.00 - 21.00 น. ทุกวัน
    3.3 อาจารย์ประจำรายวิชา  ประกาศเวลาให้คำปรึกษาผ่านสื่อออนไลน์ Facebook ในกลุ่มห้อง คือ เว็บ https://www.facebook.com/groups/273959156412337/
พัฒนาผู้เรียนให้มีความรับผิดชอบ มีวินัย มีจรรยาบรรณวิชาชีพ เคารพในสิทธิของข้อมูลส่วนบุคคล การไม่เปิดเผยข้อมูล การไม่ละเมิดลิขสิทธิ์ทางซอฟแวร์  และไม่ละเมิดลิขสิทธิ์ทางปัญญา  มีความซื่อสัตย์ในการเขียนโปรแกรมอย่างมีคุณภาพ โดยมีคุณธรรม จริยธรรมตามคุณสมบัติหลักสูตร  ดังนี้

ตระหนักในคุณค่าและคุณธรรม จริยธรรม เสียสละ และซื้อสัตย์สุจริต มีวินัย  ตรงต่อเวลา และความรับผิดชอบต่อตนเองและสงคม มีภาวะความเป็นผู้นำและผู้ตาม สามารถทำงานเป็นทีมและสามารถแก้ไขข้อขัดแย้งและลำดับความสำคัญ เคารพสิทธิและรับฟังความคิดเห็นผู้อื่น  รวมทั้งเคารพในคุณค่าและศักดิ์ศรีของความเป็นมนุษย์ เคารพกฎระเบียบและข้อบังคับต่าง ๆ ขององค์กรและสังคม

1.1.6 สามารถวิเคราะห์ผลกระทบจากการใช้คอมพิวเตอร์ต่อบุคคลองค์กรและสังคม
มีจรรยาบรรณทางวิชาการและวิชาชีพ
บรรยายพร้อมยกตัวอย่างกรณีศึกษา เกี่ยวกับประเด็นทางจริยธรรมที่เกี่ยวข้องกับการเขียนโปรแกรมคอมพิวเตอร์   เช่น การเขียนโปรแกรมตามบริษัทเอกชน ต้องเอาใจเขามาใส่ใจเรา แล้วนำมาออกแบบการทำงานของการทำงานโปรแกรม โดยมีวัตถุประสงค์สร้างความสัมพันธ์ระหว่างผู้ใช้และผู้เขียนโปรแกรม

1.2.2 อภิปรายกลุ่ม/ทำงานเดี่ยว/กลุ่ม หรือ ทำงานเขียนโปรแกรมรายบุคคลตามใบงาน
กำหนดให้นักศึกษาเขียนโปรแกรมที่เกี่ยวข้องในชีวิตประจำวัน
1.3.1   พฤติกรรมการเข้าเรียน และส่งงานที่ได้รับมอบหมายตามขอบเขตที่ให้และตรงเวลา
1.3.2   มีการอ้างอิงเอกสารที่ได้นำมาทำรายงาน อย่างถูกต้องและเหมาะสม
1.3.3   ประเมินผลการวิเคราะห์กรณีศึกษาจากโปรแกรมที่นักศึกษาเขียนขึ้นตามแนวคิด

  ประเมินผลการนำเสนอตามใบงานที่มอบหมาย
มีความรู้ในหลักการ ความสำคัญ องค์ประกอบของการเขียนโปรแกรม และมีความรู้เกี่ยวกับระบบการเขียนโปรแกรมโดยมีการคิดแบบอัลกอริทึม รู้ความเป็นมาของภาษาคอมพิวเตอร์ เช่น รู้รูปแบบการเขียนโปรแกรมแบบโครงสร้าง รู้ประเภทข้อมูลการกำหนดตัวแปร  นิพจน์  ตัวดำเนินการ  คำสั่งควบคุมแบบโครงสร้าง  ตัวแปรอาร์เรย์ ตัวชี้  การกำหนดลักษณะการทำงานโครงสร้างแบบฟังก์ชั่น  และการใช้งานแฟ้มข้อมูล  อย่างมีหลักการตามขั้นตอนการพัฒนาโปรแกรมตามคุณสมบัติหลักสูตร  ดังนี้
          2.1.2 มีความรู้และความเข้าใจเกี่ยวกับหลักการและทฤษฎีที่สำคัญในเนื้อหาสาขาวิชาเทคโนโลยีสารสนเทศ
          2.1.2 สามารถวิเคราะห์ปัญหาเข้าใจและอธิบายความต้องการทางคอมพิวเตอร์รวมทั้งประยุกต์ความรู้ทักษะและการใช้เครื่องมือที่เหมาะสมกับการแก้ไขปัญูหา
          2.1.3 สามารถวิเคราะห์ออกแบบติดตั้งปรับปรุงและ/หรือประเมินระบบองค์ประกอบต่างๆของระบบเทคโนโลยีสารสนเทศให้ตรงตามข้อกำหนด
          2.1.4 สามารถติดตามความก้าวหน้าและวิวัฒนาการคอมพิวเตอร์รวมทั้งการนำไปประยุกต์
          2.1.5 รู้เข้าใจและสนใจพัฒนาความรู้ความชำนาญทางคอมพิวเตอร์อย่างต่อเนื่อง
          2.1.6 มีความรู้ในแนวกว้างของสาขาวิชาเทคโนโลยีสารสนเทศเล็งเห็นการเปลี่ยนแปลงและเข้าใจผลกระทบของเทคโนโลยีใหม่ๆ
          2.2.7 มีประสบการณ์ในการพัฒนาและ/หรือการประยุกต์ซอฟต์แวร์ที่ใช้งานได้จริง
          2.2.8 สามารถบูรณาการความรู้ในสาขาวิชาเทคโนโลยีสารสนเทศกับความรู้ในศาสตร์อื่นๆที่เกี่ยวข้อง
บรรยาย  อภิปราย ฝึกปฏิบัติ การทำงานกลุ่ม  การนำเสนอใบงาน การวิเคราะห์กรณีศึกษาจากงานการเขียนโปรแกรมตามที่มอบหมายหรือข้อมูลที่เกี่ยวข้อง โดยนำมาสรุปเป็นโปรแกรมและนำเสนอ โดยเป็นโครงงาน Problem – based Learning และเน้นผู้เรียนเป็นสำคัญ
2.3.1 ทดสอบปฏิบัติย่อย สอบกลางภาค สอบปลายภาค ด้วยข้อสอบที่เน้นการวัดหลักการทางปฏิบัติงานการเขียนโปรแกรมและทฤษฏีเนื้อหา
2.3.2 ประเมินจากการเขียนโปรแกรมตามที่มอบหมาย และนำเสนอผลการทำงานของโปรแกรมคอมพิวเตอร์จากกรณีศึกษาที่นักศึกษาค้นคว้าและสร้างเอง หรือมีโจทย์จาก Problem – based Learning จากชีวิตประจำวัน
พัฒนาความสามารถในการคิดอย่างมีการคิดอย่างเป็นระบบ ขั้นตอน มีการวิเคราะห์แนวคิดอย่งมีขั้นตอนตามมาตรฐานการเขียนโปรแกรม  เพื่อการป้องกันและแก้ไขปัญหาที่เกิดขึ้น จากการใช้เทคโนโลยีให้ถูกต้อง
3.1.1 คิดอย่างมีวิจารณญาณและอย่างเป็นระบบ
3.1.2 สามารถสืบค้นตีความและประเมินสารสนเทศเพื่อให้ในการแก้ไขปัญหาอย่างสร้างสรรค์
3.1.3 สามารถรวบรวมศึกษาวิเคราะห์และสรุปประเด็นปัญหาและความต้องการ
3.1.4 สามารถประยุกต์ความรู้และทักษะกับการแก้ไขปัญหาทางคอมพิวเตอร์ได้อย่างเหมาะสม
3.2.1 การมอบให้นักศึกษาเขียนโปรแกรมงานที่ได้ให้วิเคราะห์และแก้ไขปัญหาจากการที่นักศึกษาได้ค้นคว้าเอง และนำเสนอผลงานของตนเอง
3.2.2 อภิปรายลักษณะงานโปรแกรม
3.2.3 วิเคราะห์กรณีศึกษา  ในการนำเทคโนโลยีภาษาการเขียนโปรแกรมอย่างที่เหมาะสม
3.2.4 การสะท้อนแนวคิดจากการประพฤติและการปฏิบัติงานของนักศึกษาโดยออกในรูปแบบผลงานนักศึกษาที่ได้ปฏิบัติจริง
3.3.1 สอบกลางภาคและปลายภาค  โดยเน้นข้อสอบที่มีการเขียนโปรแกรม แนวคิดแก้ปัญหาทางการเขียนโปรแกรม  วิเคราะห์โจทย์  
3.3.2 วัดผลจากการประเมินงานการเขียนโปรแกรม  การนำเสนอผลงานของนักศึกษา
3.3.3 สังเกตพฤติกรรมการแก้ไขปัญหาระหว่างปฏิบัติงาน
             4.1.1 สามารถสื่อสารกับกลุ่มคนหลากหลายและสามารถสนทนาทั้งภาษาไทยและภาษาต่างประเทศอย่างมีประสิทธิภาพ
          4.1.2 สามารถให้ความช่วยเหลือและอำนวยความสะดวกเเก่การแก้ปัญหาสถานการณ์ต่างๆในกลุ่มทั้งในบทบาทของผู้นำหรือในบทบาทของผู้ร่วมทีมทำงาน
          4.1.3 สามารถใช้ความรู้ในศาสตร์มาชี้นำสังคมในประเด็นที่เหมาะสม
          4..1.4 มีความรับผิดชอบในการกระทำของตนเองและรับผิดชอบงานในกลุ่ม
          4..1.5 สามารถเป็นผู้ริเริ่มแสดงประเด็นในการแก้ไขสถานการณ์ทั้งส่วนตัวและส่วนรวมพร้อมทั้งแสดงจุดยืนอย่างพอเหมาะทั้งของตนเองและของกลุ่ม
          4.1.6 มีความรับผิดชอบการพัฒนาการเรียนรู้ทั้งของตนเองและทางวิชาชีพอย่างต่อเนื่องคุณสมบัติต่างๆนี้สามารถวัดระหว่างการทำกิจกรรรมร่วมกัน
4.2.1 จัดกิจกรรมกลุ่มในการวิเคราะห์กรณีศึกษา
4.2.2 มอบหมายงานรายกลุ่มและรายบุคคล เช่น การทำใบงาน และวิเคราะห์โจทย์นำมาเขียนโปรแกรมได้ ทั้งตัวอย่างในชีวิตประจำวันนำมาเขียนเป็นโปรแกรมได้
4.2.3   การนำเสนอผลงานโปรแกรม
4.3.1   ประเมินตนเอง และเพื่อน ด้วยแบบฟอร์มที่กำหนด
4.3.2  ประเมินจากรายงานที่นำเสนอ พฤติกรรมการทำงานของนักศึกษา
4.3.3   ประเมินจากรายงานการศึกษาด้วยตนเอง   
      5.1.1 มีทักษะในการใช้เครื่องมือที่จำเป็นที่มีอยู่ในปัจจุบันต่อการทำงานที่เกี่ยวกับคอมพิวเตอร์
      5..1.2 สามารถแนะนำประเด็นการแก้ไขปัญหาโดยใช้สารสนเทศทางคณิตศาสตร์หรือการแสดงสถิติประยุกต์ต่อปัญหาที่เกี่ยวข้องอย่างสร้างสรรค์
      5.1.3 สามารถสื่อสารอย่างมีประสิทธิภาพทั้งปากเปล่าและการเขียนเลือกใช้รูปแบบของสื่อการนำเสนออย่างเหมาะสม
      5.1.4 สามารถใช้สารสนเทศและเทคโนโลยีสื่อหรืออย่างเหมาะสม
5.2.1 มอบหมายงานให้ศึกษาค้นคว้าด้วยตนเอง และสร้างโปรแกรมตามแนวคิดมาเป็นรูปแบบผลงานซอฟต์แวร์  และทำรายงานรูปเล่มรวบรวมผลงานโดยเน้นการสร้างโปรแกรมคอมพิวเตอร์ให้ถูกต้องตามมาตรฐานสากล และเป็นที่            ยอมรับของผู้ใช้งานโปรแกรมคอมพิวเตอร์
5.2.2 นำเสนอโดยรูปแบบและเทคโนโลยีการเขียนโปรแกรมคอมพิวเตอร์ที่เหมาะสม
5.3.1 ประเมินจากรายงาน ผลงาน  และรูปแบบการนำเสนอด้วยสื่อเทคโนโลยีนำเสนอตามผลงานในลักษณะงานของนักศึกษา
5.3.2 ประเมินจากการมีส่วนร่วมในการอภิปราย  วิธีการตอบ และการเขียนโปรแกรม
แผนที่แสดงการกระจายความรับผิดชอบมาตรฐานผลการเรียนรู้จากหลักสู่รายวิชา (Curriculum Mapping)
กลุ่มวิชา 1.คุณธรรม จริยธรรม 2.ความรู้ 3.ทักษะทาง ปัญญา 4.ทักษะความสัมพันธ์ ระหว่างบุคคล และความรับผิดชอบ 5.ทักษะการ วิเคราะห์เชิง ตัวเลข การ สื่อสาร และ การใช้ เทคโนโลยี สารสนเทศ
ลำดับ รหัสวิชา ชื่อวิชา 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 1 2 3 4 1 2 3 4 5 6 1 2 3 4
1 BSCCT501 การเขียนโปรแกรมเบื้องต้น
กิจกรรมที่ ผลการเรียนรู้ * วิธีการประเมินผลนักศึกษา สัปดาห์ที่ประเมิน สัดส่วนของการประเมินผล
1 1.1,1.2, 2.1, 2.3, 3.1 ทดสอบปฏิบัติย่อยครั้งที่ 1 สอบกลางภาค ทดสอบปฏิบัติย่อยครั้งที่ 2 สอบปลายภาค 4 9 12 16 10% 25% 10% 25%
2 1.1,1.2, 2.1-2.3 4.4, 5.1-5.3 วิเคราะห์กรณีศึกษาค้นคว้า การนำเสนอผลงาน รายงานผลการเขียนโปรแกรมตามใบงาน การทำงานกลุ่ม/เดี่ยวและผลงาน การเขียนโปรแกรมและสรุปผลการทำงานโปรแกรม การส่งงานตามที่มอบหมายตรงเวลา ตลอดภาคการศึกษา 20%
3 1.1,1.2, 3.1 4.4 5.1 , 5.2 การเข้าชั้นเรียน การมีส่วนร่วม อภิปราย/นำเสนอ เสนอความคิดเห็นในชั้นเรียน ตลอดภาคการศึกษา 10%
1. หนังสือ ตำรา และเอกสารประกอบการสอนหลัก 
     รุ่ง หมูล้อม ,การเขียนโปรแกรมเชิงโครงสร้างด้วยภาษาซี.พิมพ์ครั้งที่ 2 กรุงเทพฯ : ทริปเพิ้ล กรุ๊ป.
                     2559 , 356 หน้า
     อรพิน  ประวัติบริสุทธิ์, คู่มือเรียนภาษาซี, กรุงเทพ : โปรวิชั่น, 2547 ,366 หน้า
     ประภาพร   ช่างไม้ , คู่มือการเขียนโปรแกรมภาษา C ฉบับผู้เริ่มต้น :นนทบุรี ,อินโฟเพรส ,2545 ,
                      342  หน้า
   กิตติศักดิ์   สุธีวร ,คู่มือการใช้ภาษา C แบบเซียน : กรุงเทพมหานคร , เอสพีซี พริ้นติ้ง , 2545 ,226 หน้า  
   มัณฑนา  ปราการสมุทร รศ ,การเขียนชุดคำสั่งภาษาซี ,กรุงเทพมหานคร ,ดวงกมลสมัย , 2534 ,
                 ครั้งที่ 3 , 344 หน้า
   นิรุธ  อำนวยศิลป์ , C Programming เขียนโปรแกรมภาษาซี ,ดวงกมลสมัย  ,2548 ,300  หน้า
   ประภาพร  ช่างไม้ ,ฝึกเขียนโปรแกรมจากรวมโจทย์ข้อสอบภาษา C :นนทบุรี ,ไอดีซี ฯ ,2549 ,296 หน้า
   ธีรวัฒน์   ประกอบผล รศ ,คู่มือการเขียนโปรแกรมภาษา C :กรุงเทพ ฯ : ซัดเซส มีเดีย ,2550 ,366 หน้า
 
      เอกสารประกอบการสอนวิชาภาษาซีของ รศ.วิไลพร  สิริมังครารัตน์ ภาควิชาวิทยาการคอมพิวเตอร์  
                  คณะวิทยาศาสตร์  มหาวิทยาลัยเชียงใหม่         
                ที่มา : (www2.cs.science.cmu.ac.th/person/wilaiporn/files/C2.DOC)
เว็บไซต์ ที่เกี่ยวข้อง
                  http://www.geocities.com/SiliconValley/Hills/2637/tframe.htm
                  http://tulip.bu.ac.th/~sivaporn.w/data/Ch4.ppt
                  http://tulip.bu.ac.th/~sivaporn.w/file/index.htm
                  http://tulip.bu.ac.th/~sivaporn.w/data/index.htm
                  http://www.cs.sci.ku.ac.th/~fsciang2/content.html
                  http://www.cs.sci.ku.ac.th/course/418241/index.html
การสนทนากลุ่มระหว่างผู้สอนและผู้เรียน เพื่อสื่อสารเนื้อหาให้ผู้เรียนศึกษาก่อนล่วงหน้า แบบประเมินผู้สอน และแบบประเมินรายวิชา เพื่อนำผลมาปรับปรุงการเรียนการสอน ข้อเสนอแนะผ่านเว็บบอร์ด  ที่อาจารย์ผู้สอนได้จัดทำเป็นช่องทางการสื่อสารกับนักศึกษา
  ในการเก็บข้อมูลเพื่อประเมินการสอน ได้มีกลยุทธ์  ดังนี้
2.1 การสังเกตการณ์สอนของผู้ร่วมทีมสอน(หากมี)
2.2 ผลการเรียนของนักศึกษา ที่มีการสอบเก็บคะแนนแต่ละครั้งนำมาประเมิน
2.3 การทวนสอบผลประเมินการเรียนรู้ ให้งานตามที่มอบหมายและสังเกตพฤติกรรม
  หลังจากผลการประเมินการสอนในข้อ 2 จึงมีการปรับปรุงการสอน โดยการจัดกิจกรรมในการระดมสมอง และหาข้อมูลเพิ่มเติมในการปรับปรุงการสอน  ดังนี้
3.1 สัมมนาการจัดการเรียนการสอน  เพื่อแลกเปลี่ยนเรียนรู้
3.2 การวิจัยในและนอกชั้นเรียน เพื่อปรับปรุงและแก้ไขกรณีในห้องเรียนและการเรียนการสอน
   ในระหว่างกระบวนการสอนรายวิชา มีการทวนสอบผลสัมฤทธิ์ในรายหัวข้อ ตามที่คาดหวังจากการเรียนรู้ในวิชา ได้จาก การสอบถามนักศึกษา หรือการสุ่มตรวจผลงานของนักศึกษา รวมถึงพิจารณาจากผลการ ทดสอบย่อย และหลังการออกผลการเรียนรายวิชา มีการทวนสอบผลสัมฤทธิ์โดยรวมในวิชาได้ดังนี้
4.1 การทวนสอบการให้คะแนนจากการสุ่มตรวจผลงานของนักศึกษาโดยอาจารย์ผู้สอน
4.2 มีการแต่งตั้งคณะกรรมการในสาขาวิชา  ตรวจสอบผลการประเมินการเรียนรู้ของนักศึกษา โดยตรวจสอบข้อสอบ รายงาน วิธีการให้คะแนนสอบ และการให้คะแนนพฤติกรรม
   จากผลการประเมิน และทวนสอบผลสัมฤทธิ์ประสิทธิผลรายวิชา  ได้มีการวางแผนการปรับปรุงการสอนและรายละเอียดวิชา เพื่อให้เกิดคุณภาพมากขึ้น  ดังนี้
5.1 ปรับปรุงรายวิชาทุก 3 ปี หรือตามข้อเสนอแนะและผลการทวนสอบมาตรฐานผลสัมฤทธิ์ตามข้อ 4
5.2 เปลี่ยนหรือสลับอาจารย์ผู้สอน เพื่อให้นักศึกษามีมุมมองในเรื่องการประยุกต์ความรู้นี้กับปัญหาที่มาจากงานวิจัยของอาจารย์หรืออุตสาหกรรมต่าง ๆ