本课程是软件工程、计算机科学及相关专业技术基础课程和关键性核心课程,是系统软件及大型应用软件的重要基础。课程系统的介绍了软件设计中常用的算法设计与分析方法,锻炼学生分析问题和解决问题的能力,为开发高效的软件系统及相关领域的研究工作奠定坚实的基础。
本课程从解决问题和应用实例入手,按照提出问题、分析问题、解决问题、总结问题的步骤,培养学生算法基本理论来分析和解决问题的能力。以实践为导向,专题案例与思考讨论相结合, 自动评测和互动交流相结合,引导学生参加小组活动和科技竞赛,培养学生的实践能力、科研创新能力和团队合作能力。适应探究性和碎片化学习,聚集和重组课程内容;适应自主性和多样化学习,线上开放与线下实践相结合;适应多元化和个性化需求,培养学生主动学习、研究和创新意识。
教学目标:
通过本课程的学习,使学生具备下列能力:
1. 能够掌握算法分析与设计的基本理论,学会枚举、递推、贪心、分治、动态规划、回溯、分支限界、网络流、图算法、随机算法等基本方法和分析技巧。
2. 能够正确分析程序的计算复杂性,以及提高算法性能。培养其分析算法复杂度和设计算法的初步能力。
3. 能够针对具体的应用问题,进行有效的分析,建立合理的数学模型,选择合适的数据结构,设计结构清晰、正确有效的算法解决之。培养其计算思维及用计算机分析与解决问题等基本能力。
4. 能够应用程序设计语言和数据结构实现程序开发,培养其程序设计、实现、调试测试的基本能力,强化学生专业核心意识和职业素养,培养学生的动手能力和解决实际问题的能力。
5.能够引导学生学习算法分析和设计的新方法和新技术,引导学习分析解决新问题,锻炼其逻辑思维能力和想象力,培养学生的独立科研能力和理论联系实践的能力,培养学生的创新能力和团队合作能力,为计算机应用和科学研究工作中有效求解问题打下基础。