语言

Python

学习内容: CCC301 是算法学习路径中的最核心的课程。本课程使用Python语言(Python是表达算法最好的语言),系统学习各种编程算法与编程策略,进一步提升学生的思维能力——即对大脑思考过程的觉察力,以及解决复杂问题的能力 —— 即不仅要找出可行解,还要找出高效的可行解。

学生将在大量 CCC 原题的练习中,深入理解核心算法与策略的设计思想、适用场景与实现技巧,为解决高级编程竞赛问题打下坚实基础。

课程内容包括:
  • 算法复杂度分析(Big-O):理解程序运行时间与输入规模之间的关系,提升效率意识
  • 二分搜索的五种应用场景:查找位置、查找区间、边界元素查找等
  • 代码优化技巧:在算法无法改进的情况下,通过代码优化来提升性能
  • 递归与记忆化:优化递归效率,避免重复计算
  • 表达式转换与计算:prefix、infix、postfix 之间的转换与 postfix 的表达式求值
  • 正则表达式进阶:在CCC201的基础上,继续学习split、backreference 与 look-around等高级技巧,进一步提升文本搜索和处理能力
  • 图算法:BFS 与 DFS 的多种应用,包括查找多路径与查找最短路径等
  • 贪心策略:如 Dijkstra 最短路径算法与实现
  • 动态规划策略:解决具有最优子结构的问题,理解Warshall算法这样的经典动态规划算法
  • 计数问题(Counting):掌握组合与排列类问题中高效的计数方法
学习算法的好处:
  • 算法是编程竞赛的核心,是参加 CCC、USACO、IOI等比赛的基础能力
  • 为技术面试,代码评估与科技行业就业打好基础,算法题是 Apple、Google、Meta、Amazon 等顶尖科技公司技术面试中的重点内容
  • 写算法程序比写其他程序更锻炼思维能力,因此被誉为“编程中的竞技体育”(Competitive Sport Programming)
  • 是进入以下前沿科技领域的必备技能:
    • 人工智能,机器学习,数据科学
    • 金融科技(如量化开发工程师)
    • 压缩、加密与网络安全
    • 图形图像、音视频处理、计算机视觉
    • 智能系统,如机器人、自动驾驶、搜索与推荐系统等
  • 是开发复杂软件系统(如大型游戏、图形引擎等)的基础能力
  • 为理工科大学专业打下坚实基础,如计算机科学、计算机工程、软件工程、计算数学、金融统计、机电工程等
完成课程后你将达到什么水平?
  • 熟练掌握并应用核心算法与编程策略
  • 灵活运用Python提供的多种数据结构(如列表、集合、字典、堆、队列等)
  • 具备分析与优化程序效率的能力,这是学生从“写出可运行程序”迈向“写出高效程序”的关键一步!
  • 独立解决CCC J5/S2/S3级别的竞赛题目
  • 具备获得CCC高级竞赛Top 25%认证的实力
  • 为进阶课程CCC302 / CCC303 以及未来参加CCO、USACO、IOI等国际级竞赛打下坚实基础
免费重修: 如果您已经为这门课程付过费,每次这门课开设时,您都可以免费上课复习,欢迎再次加入我们!

$1200 ($30 per hour)

40 hours (20 classes)

Time: TBD

Dates: TBD


如何注册?

1

Send me a message (519) 701-7988

2

E-Transfer: teensprogramming@gmail.com