===== e-Learning Course ===== **Name** 204251: Data Structures (International Program) Semester 1 Year 2566 **Prerequisites** 204113 or 204211 or 204214 or 204215 or 204216 or 204217 or 204219 ===== Announcements ===== * Main communication channel in MS Teams * Course materials can be downloaded from the class website. ===== Lecturer ===== **Section 1** Meeting Time: Tuesday, Friday 11:00 – 12:30 Place: CSB100 * **Lecturer** Noparut Vanitchanant, Ph.D. * **Office**: Lecturer Office 1 (CSB110) by appointment * **Email**: noparutceess(at)gmail.com ===== Grading Policy ===== (Last Update on 28 August 2023) * Attendance **5%** * Written and Programming Assignments **35%** * Programing Exam **10%** * Midterm Exam **20%** * Final Exam **30%** ===== Exam Dates ===== * **Midterm Exam** on Saturday 26 August 2023 9:00 - 11:00 * **Final Exam** date and time as per University's schedule ===== Lecture Schedule ===== ^ Week ^ Topics ^ | 1 | {{ https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EQ-OjwQkpZFFok-crd6dm50B33OLQTo8y4kudZJOULOSlQ?e=rUSzpy | Problem Solving and Concept of Abstraction}} | | 2 | {{ https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EQgzYMfWc9RJt1XqzXXOu-QBc_GNn5l7utGhGywwBEP8LQ?e=brew9D | Analysis of Algorithms}} | | 3-4 | Linear lists {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/Edew6FGBealMgIclcdJVM88BmDP8d3S1ZfMnq0TUez_DxQ?e=iZgfrd | #1 }}, {{ https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EZHN4lUyLClMpuq4Hxh-FhIByNN0PIVA7-X8fV-QtNJulQ?e=dYixoe | #2}} | | 5 | Stacks {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EfMKrgvr_UNJvcBPfpknpXQBzbatr0jL_Gf-PyvjzgIcIQ?e=JGgojn | #1}} , {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EUSMAQ29V3RKiE3AI35tomAB4zkfXoD6D8BPERmsgDqprA?e=8SB1lx| #2}} | | 6-7 | Queues {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EZwg417tsO9Pn5_Jq1M9uHsBtudb9tCAEpvdTgT25l92aQ?e=9MhaHi|#1}}, {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/ESPJ2A4JDsNBp5CjaNOOW2ABvVky1GITjesNXjd2mqWCYA?e=rQ9Fxa| #2}} | | 8 | {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EZLX4fT0_odItDbQ823gh-0B6VaLd1CyxOE6E39JgZk61g?e=Duz3ah|Priority Queues}} | | **Midterm Exam** ||| | 8-9 | Set, Map and Hashing {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EQk-kgUU-jxAvkap_V2UVoMBde_CWdcnbDgMHyF6m2Nikg?e=J00FP4| #1}}, {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EZKOZes1LnBHtCHNR2xAO3IBO4GrzVXe82tec0cCXtca-w?e=YT1Y94|#2}}, {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/ESK7fwTUKh1JiQwTjtHDvzsBokMLn5lNJrv1u6b6ldFPPQ?e=4GrJFr|#3}}, | | 10-11 | Searching and Sorting {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EZhsSdKdqqpNiK_5cSZvZ4gBTYZdoqiBZveOQd9QWMLmqw?e=5JfiiR|#1}}, {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/ESAh-oxssU5Nny3RwC7Hr-UBZoGlawl4ShglBa4Vns7Z4A?e=jChWL8|#2}} | | 12-13 | Trees {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EfWMYvPWjKNBrCyM3O1l4ooBNCwi8L1wOymbmAjfpWSouw?e=iIqkex|#1}}, {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EctztujLfilPhniQwlmLdQ8BjcmwQDPrP1NZ4oRJB4w2nA?e=vLK1dI|#2}}, {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/ETKY1qIFLWtBm0oufCWRGgwBEshheg6h6FNMNBi-JXBs9A?e=FFRCgr|#3}}, {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EQwMLawWkDFMhU_OyWoegAYBXdxqadD_aDCUi8f21Wn_vA?e=UMVY9y|#4}} | | 14-15 | Graphs {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EVzg0wzaf-pGi6s92tzTmiwBfnhaDPxXVwZqVvHcsQBokA?e=GFnls7|#1}}, {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/Eaxv6EbR-tRKkHtl40mV-EEBFIuOsRafLMA1X_iY5eLWGw?e=WczrIK|#2}}, {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/Ebmr23hAj11PuD9WfG6XO7MB1W1td2HZ4dheAE2SSnwZNQ?e=9I67VS|#3}}, {{https://o365cmu-my.sharepoint.com/:b:/g/personal/noparut_v_cmu_ac_th/EYomvHPHwyVLsIGWVBJ2kHwBWQvZstgd0vnM1xyexBp8Cw?e=0gdDUU|#4}} | | **Final Exam** ||| ===== Notes on Code Submission ===== - After student has finished coding and testing the program, student can upload the .py source code file directly to the assignment submission website: http://hw.cs.science.cmu.ac.th (cmu account required). - Input and Output are case sensitive i.e. "yes" and "YES" are not the same. - Strictly take Input data with no extra wording i.e. "Please Input". - Strictly display Output as instructed. Otherwise, the output is incorrect. ===== Recommended Readings ===== * Data Structures and Algorithms in Python, Michael T. Goodrich, //et al.//., Wiley, 2013 {{https://drive.google.com/file/d/1BVvSL4DRB8vtL11Wvnwq8Z4CvIZv6hZN/view?usp=sharing | here }} * Data Structures and Algorithms With Python, Kent Lee and Steve Hubbard, Springer, 2015 {{https://drive.google.com/file/d/1CCc9SHyJ6AfOXp2sq7lqVULCaCmEMKec/view?usp=sharing | here }}