Syllabus.pdf

‫ﺑﻪ ﻧﺎم ﻣﻬﺮﺑﺎﻧﺘﺮﻳﻦ‬
‫درس ﻃﺮاﺣﻲ اﻟﮕﻮرﻳﺘﻢ‬
‫داﻧﺸﻜﺪه ﻣﻬﻨﺪﺳﻲ ﻛﺎﻣﭙﻴﻮﺗﺮ داﻧﺸﮕﺎه ﺻﻨﻌﺘﻲ ﺷﺮﻳﻒ‬
‫ﭘﺎﻳﻴﺰ ‪ ، 90‬ﺷﻨﺒﻪ و دوﺷﻨﺒﻪ ﺳﺎﻋﺖ ‪ 7:30‬ﺗﺎ ‪ ،9‬ﻛﻼس ‪ 101‬داﻧﺸﻜﺪه‬
‫ﻣﺪرس‪ :‬‬
‫ﻋﻠﻲ ﺷﺮﻳﻔﻲ زارﭼﻲ ]‪[[email protected]‬‬
‫ﺳﺎﻳﺖ درس‪:‬‬
‫]‪ [h p://ce.sharif.edu/courses/90‐91/1/ce354‐1/index.php‬‬
‫ﭘﻴﺸﻨﻴﺎز‪ :‬‬
‫ﺳﺎﺧﺘﻤﺎن داده و اﻟﮕﻮرﻳﺘﻢ‬
‫ﻫﺪف‪ :‬‬
‫آﺷﻨﺎﻳﻲ ﺑﺎ روشﻫﺎي ﻃﺮاﺣﻲ اﻟﮕﻮرﻳﺘﻢﻫﺎي ﻛﺎﻣﭙﻴﻮﺗﺮي‬
‫ﻛﺘﺎب‪:‬‬
‫‪Main Book:‬‬
‫‪Thomas H. Cormen. Introduction to algorithms.‬‬
‫‪Others:‬‬
‫‪ Udi Manber. Introduction to algorithms: a creative approach.‬‬
‫‪ Jon Kleinberg, Éva Tardos. Algorithm design.‬‬
‫ﻧﻤﺮه دﻫﻲ‪:‬‬
‫‪‬‬
‫ﭘﺎﻳﺎﻧﺘﺮم ‪ 5‬ﻧﻤﺮه‬
‫‪‬‬
‫ﻛﻮﻳﻴﺰ ‪ 3‬ﻧﻤﺮه‬
‫‪‬‬
‫وﻳﻜﻲ ﭘﺪﻳﺎ ‪ 1‬ﻧﻤﺮه‬
‫‪‬‬
‫ﻣﻴﺎﻧﺘﺮم ﻋﻤﻠﻲ )‪ 2‬ﻧﻤﺮه ﺑﻬﺘﺮ از ﻣﺠﻤﻮع ‪ 3‬ﻣﻴﺎن ﺗﺮم( ﻫﺮﻛﺪام ‪2.5‬‬
‫‪‬‬
‫ﻣﻴﺎﻧﺘﺮم ﻧﻈﺮي ‪ 1‬و ‪ :2‬ﻫﺮﻛﺪام ‪2.5‬‬
‫‪‬‬
‫ﺗﻤﺮﻳﻦ ﻋﻤﻠﻲ ﺟﻤﻌﺎ ‪ 3‬‬
‫ﺑﺮﻧﺎﻣﻪ ‪ ‬‬
‫درﺳﻲ‪ :‬‬
‫ﻫﻔﺘﻪ و ﺗﺎرﻳﺦ‬
‫ﻣﻮﺿﻮع ﺗﺪرﻳﺲ‬
‫‪2‬‬
‫‪Introduction‬‬
‫ﺟﻠﺴﺎت ‪6/28 : 6/26‬‬
‫ﺗﻤﺮﻳﻦ ‪ /‬اﻣﺘﺤﺎن‬
‫آﺧﺮﻳﻦ ﻓﺮﺻﺖ ارﺳﺎل ﺗﻤﺮﻳﻦ‬
‫‪Induction‬‬
‫‪2‬‬
‫ﺟﻠﺴﺎت ‪7/4 : 7/2‬‬
‫اراﺋﻪ ﺗﻤﺮﻳﻦ ‪7/7‬‬
‫‪3‬‬
‫‪ ‬‬
‫ﺟﻠﺴﺎت ‪7/11 : 7/9‬‬
‫اراﺋﻪ ﺗﻤﺮﻳﻦ ‪7/14‬‬
‫‪4‬‬
‫ﺟﻠﺴﺎت ‪7/18 : 7/16‬‬
‫اراﺋﻪ ﺗﻤﺮﻳﻦ ‪7/21‬‬
‫‪Induction‬‬
‫ﺗﻤﺮﻳﻦ ﻧﻈﺮي ‪1‬‬
‫‪Induction‬‬
‫‪Divide & Conquer‬‬
‫ﺗﻤﺮﻳﻦ ﻋﻤﻠﻲ ‪1‬‬
‫‪Divide & Conquer‬‬
‫‪Dynamic Programming‬‬
‫‪5‬‬
‫‪Dynamic Programming‬‬
‫ﺟﻠﺴﺎت ‪7/25 : 7/23‬‬
‫‪Dynamic Programming‬‬
‫ﺗﻤﺮﻳﻦ ﻧﻈﺮي ‪ 2‬و ﻋﻤﻠﻲ ‪2‬‬
‫در ﺗﺎرﻳﺦ ﺟﻤﻌﻪ ‪7/29‬‬
‫‪Dynamic Programming‬‬
‫‪Greedy Algorithms‬‬
‫ﺗﺎرﻳﺦ اﻣﺘﺤﺎن ‪8/5‬‬
‫‪7‬‬
‫‪Greedy Algorithms‬‬
‫اﻣﺘﺤﺎن ﻋﻤﻠﻲ ‪1‬‬
‫ﺗﺎرﻳﺦ اﻣﺘﺤﺎن ‪8/12‬‬
‫‪Elementary Graph Algorithms‬‬
‫ﺗﺎرﻳﺦ اﻣﺘﺤﺎن ‪8/12‬‬
‫‪6‬‬
‫ﺗﺎرﻳﺦ اﻣﺘﺤﺎن ‪8/5‬‬
‫ﺟﻠﺴﺎت ‪8/9 : 8/7‬‬
‫‪8‬‬
‫در ﺗﺎرﻳﺦ ﺟﻤﻌﻪ ‪7/22‬‬
‫ﺗﻤﺮﻳﻦ ﻋﻤﻠﻲ ‪2‬‬
‫اﻣﺘﺤﺎن ﻧﻈﺮي ‪1‬‬
‫ﺟﻠﺴﺎت ‪8/2 : 7/30‬‬
‫ﺗﻤﺮﻳﻦ ﻋﻤﻠﻲ ‪1‬‬
‫‪Elementary Graph Algorithms‬‬
‫ﺗﻤﺮﻳﻦ ﻧﻈﺮي ‪ 3‬و ﻋﻤﻠﻲ ‪3‬‬
‫ﺟﻠﺴﺎت ‪8/16 : 8/14‬‬
‫اراﺋﻪ ﺗﻤﺮﻳﻦ ‪8/19‬‬
‫‪9‬‬
‫‪Minimum Spanning Trees‬‬
‫ﺟﻠﺴﺎت ‪8/23 : 8/21‬‬
‫‪Minimum Spanning Trees‬‬
‫‪10‬‬
‫‪Single-Source Shortest Paths‬‬
‫ﺟﻠﺴﺎت ‪8/30 : 8/28‬‬
‫اراﺋﻪ ﺗﻤﺮﻳﻦ ‪9/3‬‬
‫‪11‬‬
‫ﺟﻠﺴﺎت ‪9/7 : 9/5‬‬
‫‪Maximum Flow‬‬
‫‪12‬‬
‫‪Maximum Flow‬‬
‫ﺟﻠﺴﺎت ‪9/14 : 9/12‬‬
‫ﺗﺎرﻳﺦ اﻣﺘﺤﺎن ‪9/24‬‬
‫‪14‬‬
‫ﺟﻠﺴﺎت ‪9/28 : 9/26‬‬
‫اراﺋﻪ ﺗﻤﺮﻳﻦ ‪10/1‬‬
‫‪15‬‬
‫ﺟﻠﺴﺎت ‪10/5 : 10/3‬‬
‫ﺗﺎرﻳﺦ اﻣﺘﺤﺎن ‪10/8‬‬
‫ﺗﻤﺮﻳﻦ ﻋﻤﻠﻲ ‪4‬‬
‫در ﺗﺎرﻳﺦ ﺟﻤﻌﻪ ‪9/11‬‬
‫اﻣﺘﺤﺎن ﻧﻈﺮي ‪2‬‬
‫ﺗﺎرﻳﺦ اﻣﺘﺤﺎن ‪9/17‬‬
‫ﺗﺎرﻳﺦ اﻣﺘﺤﺎن ‪9/17‬‬
‫ﺟﻠﺴﺎت ‪9/21 : 9/19‬‬
‫در ﺗﺎرﻳﺦ ﺟﻤﻌﻪ ‪9/4‬‬
‫‪Single-Source Shortest Paths‬‬
‫‪All-Pairs Shortest Paths‬‬
‫‪13‬‬
‫ﺗﻤﺮﻳﻦ ﻧﻈﺮي ‪ 4‬و ﻋﻤﻠﻲ ‪4‬‬
‫‪String Matching‬‬
‫اﻣﺘﺤﺎن ﻋﻤﻠﻲ ‪2‬‬
‫‪String Matching‬‬
‫ﺗﺎرﻳﺦ اﻣﺘﺤﺎن ‪9/24‬‬
‫‪NP-Completeness‬‬
‫‪Backtracking‬‬
‫ﺗﻤﺮﻳﻦ ﻋﻤﻠﻲ ‪3‬‬
‫ﺗﻤﺮﻳﻦ ﻧﻈﺮي ‪5‬‬
‫‪Backtracking‬‬
‫اﻣﺘﺤﺎن ﻋﻤﻠﻲ ‪3‬‬
‫‪Advanced Algorithms‬‬
‫ﺗﺎرﻳﺦ اﻣﺘﺤﺎن ‪10/8‬‬
‫ﺗﻤﺮﻳﻦﻫﺎ‪:‬‬
‫ﺑﺮاي ﺗﻤﺮﻳﻦﻫﺎي ﻧﻈﺮي ﻧﻤﺮهاي در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻧﺸﺪه اﺳﺖ اﻣﺎ در ﻛﻮﻳﻴﺰ ﻫﺎ و اﻣﺘﺤﺎﻧﺎت ﻧﻈﺮي ﺗﺎﺛﻴﺮ ﻣﺴﺘﻘﻴﻢ و ﻏﻴﺮ ﻣﺴﺘﻘﻴﻢ ﺧﻮاﻫﻨﺪ‬
‫داﺷﺖ‪ .‬اﻣﺎ ﺗﻤﺮﻳﻦﻫﺎي ﻋﻤﻠﻲ در زﻣﺎن ﻣﺸﺨﺺ ﺷﺪه در ﺑﺮﻧﺎﻣﻪ درﺳﻲ ﺗﺤﻮﻳﻞ ﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮد‪ .‬ﻛﺴﺮ ﻧﻤﺮه ﺗﻤﺮﻳﻦﻫﺎ ﺑﻪ ازاي ﻫﺮ روز‬
‫ﺗﺎﺧﻴﺮ ﺑﻴﺴﺖ و ﭘﻨﺞ درﺻﺪ ﻣﻲ ﺑﺎﺷﺪ‪ .‬آﺧﺮﻳﻦ زﻣﺎن ﺗﺤﻮﻳﻞ ﺗﻤﺮﻳﻦ در ﺳﺎﻋﺖ ‪ 23‬روزﻫﺎي ﺗﻌﻴﻴﻦ ﺷﺪه ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫اﻣﺘﺤﺎﻧﺎت و ﻛﻮﻳﻴﺰﻫﺎ‪:‬‬
‫ﻛﻮﻳﻴﺰﻫﺎي درس ﻫﺮ ﺟﻠﺴﻪ ﺑﺮﮔﺰار ﻣﻲ ﮔﺮدد و زﻣﺎن ﺑﺮﮔﺰاري اﻣﺘﺤﺎﻧﺎت درس ﺷﺎﻣﻞ دو ﻣﻴﺎﻧﺘﺮم ﻧﻈﺮي و ﺳﻪ ﻣﻴﺎﻧﺘﺮم ﻋﻤﻠﻲ در ﺗﺎرﻳﺦ‬
‫ﻣﺸﺨﺺ ﺷﺪه در ﺑﺮﻧﺎﻣﻪ ﺑﺮﮔﺰار ﺧﻮاﻫﻨﺪ ﺷﺪ و زﻣﺎن ﺑﺮﮔﺰاري آﻧﻬﺎ ﺗﻐﻴﻴﺮ ﻧﺨﻮاﻫﺪ ﻛﺮد‪.‬‬
‫ﻣﻮﻓﻖ ﺑﺎﺷﻴﺪ‬