Course syllabus

010123131-64 การฝึกพัฒนาซอฟต์แวร์ 1 (Software Development Practice I)

Course Syllabus

Data entry : Dr.Rawat Siripokarpirom
1. Course number and name

010123131-64 การฝึกพัฒนาซอฟต์แวร์ 1 (Software Development Practice I)

2. Credits and contact hours

3(0-6-3)

3. Instructor’s or course coordinator’s name

Dr.Rawat Siripokarpirom

4. Text book, title, author, and year

  1. Handouts provided by the instructors

5. Specific course information

  1. brief description of the content of the course (catalog description)
    Ability to develop small to medium software project; systematic software problem analysis; programming problem solving by requirement definition and specification; self-learning for problem solving; software development process; software component integration; modern software development tool; project presentation and deployment.
  2. prerequisites or co-requisites
    010123103-64 Algorithms and Data Structures
  3. indicate whether a required, elective, or selected elective (as per Table 5-1) course in the program
    Required :

6. Specific goals for the course

  1. specific outcomes of instruction (e.g. The student will be able to explain the significance of current research about a particular topic.)
    1. CLO1 solve computer engineering problems according to specific requirements by developing software programs or applications;
    2. CLO2 work with different programming languages, computing environments for software developments and operating systems such as Windows and Linux;
    3. CLO3 compare and describe the differences, pros & cons among different types of programming languages and development platforms;
    4. CLO4 develop a small, quality software project in personal and group contexts;
    5. CLO5 apply a systematic engineering design process to a team-based software development project;
    6. CLO6 acquire new knowledge and skills related to software development practice, independently from a variety of sources;
    7. CLO7 document and present the software development process and deliverables.
  2. explicitly indicate which of the student outcomes listed in Criterion 3 or any other outcomes are addressed by the course.
    ABET Student Outcome (SO) Listed in Criterion 3 Course learning outcome (CLO)
    PO1 : ความรู้ทางด้านวิศวกรรม และพื้นฐานทางด้านคณิตศาสตร์ และวิทยาศาสตร์ สามารถประยุกต์ความรู้ทางด้านคณิตศาสตร์ วิทยาศาสตร์ วิทยาการคำนวณ พื้นฐานทางด้านวิศวกรรม และความรู้เฉพาะทางวิศวกรรมเพื่อกำหนดกรอบความคิดในการแก้ปัญหาวิศวกรรม รวมทั้งการพัฒนาแบบจำลองทางคณิตศาสตร์และวิศวกรรม หรือ ให้นิยาม รวมทั้งประยุกต์วิธีการ กระบวนงาน กระบวนการ หรือระบบงานทางวิศวกรรมในการทำงานได้
    • CLO1 solve computer engineering problems according to specific requirements by developing software programs or applications;
    PO3 : การออกแบบและพัฒนาเพื่อหาคำตอบของปัญหา สามารถหาคำตอบของปัญหาทางวิศวกรรมที่ซับซ้อน และออกแบบระบบงานหรือกระบวนการทางวิศวกรรมตามความต้องการและข้อกำหนดงานโดยคำนึงถึงข้อกำหนดด้านสังคม วัฒนธรรม ความปลอดภัย การอนามัยและสิ่งแวดล้อม มาตรฐานการปฏิบัติวิชาชีพ และการพัฒนาที่ยั่งยืน อาทิ มูลค่าตลอดวัฏจักรชีวิต การปลดปล่อยคาร์บอนสุทธิเป็นศูนย์ และประเด็นทางสิ่งแวดล้อมต่าง ๆ ที่เกี่ยวข้อง
    • CLO1 solve computer engineering problems according to specific requirements by developing software programs or applications;
    PO6 : การทำงานร่วมกันเป็นทีม สามารถทำงานร่วมกับผู้อื่นที่มีความหลากหลายในสหสาขาวิชาได้อย่างมีประสิทธิภาพ สามารถทำงานในฐานะสมาชิกของกลุ่มและผู้นำกลุ่มในรูปแบบต่าง ๆ ได้
    • CLO5 apply a systematic engineering design process to a team-based software development project;
    PO10 : การบริหารงานวิศวกรรม มีความรู้และความเข้าใจในด้านเศรษฐศาสตร์และการบริหารงานวิศวกรรมโดยคำนึงถึงความเสี่ยงและความเปลี่ยนแปลงที่อาจเกิดขึ้น
    • CLO4 develop a small, quality software project in personal and group contexts;
    PO11 : การเรียนรู้ตลอดชีพ ตระหนักถึงความจำเป็น และมีความสามารถในการเรียนรู้ตลอดชีพและพัฒนาตนเองอย่างต่อเนื่อง อาทิ การเรียนรู้ตลอดชีพและการพัฒนาตนเอง การปรับตัวต่อเทคโนโลยีใหม่ ๆ การคิดวิเคราะห์ที่เกี่ยวข้องกับความเปลี่ยนแปลงของเทคโนโลยี
    • CLO6 acquire new knowledge and skills related to software development practice, independently from a variety of sources;

7. Brief list of topics to be covered
  • Explore different computing environments for software development
  • Install and use different Linux-based platforms for software development; Linux Basic Commands & Bash Scripting
  • Hardware Virtualization, Virtual Machines, WSL2, QEMU, Docker
  • Software Development for Single-Board Computers and Embedded Computers
  • Explore software technologies for Web App and embedded firmware development; work with different types of hardware peripherals
  • Initial Project Meeting + Weekly Project Progress Meetings; Group discussions
  • Project Presentation / Demo and Final Report Submission
8. Course Assessment
Course assessment Weight score (%) Assessment tools Date
Lab Assignments 30 assignment
Quiz 30 quiz
Mini-Project 40 others

หมายเหตุ - ลำดับเนื้อหาจะมีการปรับเปลี่ยนตามความเหมาะสม