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
- Handouts provided by the instructors
5. Specific course information
- 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. - prerequisites or co-requisites
010123103-64 Algorithms and Data Structures - indicate whether a required, elective, or selected elective (as per Table 5-1) course in the program
Required :
6. Specific goals for the course
- specific outcomes of instruction (e.g. The student will be able to explain the significance of current research about a particular topic.)
- CLO1 solve computer engineering problems according to specific requirements by developing software programs or applications;
- CLO2 work with different programming languages, computing environments for software developments and operating systems such as Windows and Linux;
- CLO3 compare and describe the differences, pros & cons among different types of programming languages and development platforms;
- CLO4 develop a small, quality software project in personal and group contexts;
- CLO5 apply a systematic engineering design process to a team-based software development project;
- CLO6 acquire new knowledge and skills related to software development practice, independently from a variety of sources;
- CLO7 document and present the software development process and deliverables.
- 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 |
หมายเหตุ - ลำดับเนื้อหาจะมีการปรับเปลี่ยนตามความเหมาะสม