本课程系统地介绍了算法分析与算法设计的概念、方法和应用。课程共分12章,涵盖的内容包括数据结构、串与序列、动态规划、贪心算法、图算法、概率算法、查找与排序算法等内容。课程采用工程问题导引、反向设计的方式组织教学内容,基于经典算法问题案例完成对算法基本理论、采用的基本数据结构、算法的性能等内容的学习与分析,并完成算法的实践,突出对学生知识应用能力和工程实践能力的培养。在课程每章的每小节提供练习题和思考题供课后复习,针对每章提供实验和案例,供课后实践和扩展提高,提供全套课程资源辅助教师教学和学生学习。本课程可以作为普通高等学校人工智能、计算机科学与技术、软件工程、电子信息工程、自动化等专业的本专科学生及研究生学习,也适合作为从事软件开发与设计的科研和工程技术人员参考。