大一参加蓝桥杯,完全是可以的。
过去几届蓝桥杯一般都是在4-5月份举行,大一想参加的话,就是在大一下下学期参加蓝桥杯比赛,也就意味着时间完全是来的及,毕竟还有7-8月准备时间。
我觉得时间完全是足够的,作为老师,每年大一的时候,我都会想尽办法找出那些想学编程的孩子,尽量说服他们做好准备,好好学习,参加下学期的蓝桥杯,那些愿意按照进度表好好练习的孩子,下学期的时候,成绩一般都不错,每年都有学生获得省一等奖,对于我们这样的学校,成绩可以接受了。
1. 尽快确定自己选择什么语言
蓝桥杯软件比赛分为多个组,按照语言来分,有c/c++,Java,Python几个选择。作为想参加蓝桥杯比赛的大一的新生,一定有尽早确定好自己参加什么组别的比赛,最好是用自己比较熟悉的编程语言。
说实在话,大一的同学都还用熟练一门语言,学习的目标一定是尽快让自己熟练掌握一门语言,千万不要在不同语言中犹豫,今天想学C++,明天想学Java,过几天又觉得Python挺不错。
作为初学者,在几种语言切换来切换去,很难有什么收获的。一开始的时候,就要确定好一门语言,然后学好这门语言,用这门语言多写代码,把语言用熟练。
值得一提是c/c++这个组别,如果选择c++,在学习中期的时候,可以适当学下stl的基本用法、acm万能模板的写法,这对于acm类别的竞赛非常有用。
2. 练习写代码,学习基本数据结构和基础算法
学编程最大的误区就是只看书不写代码,在学习的过程中一定要多写代码,不动代码不学习。编程是非常讲究实践的课程,在你看第一页书的时候,学习"Hello world"的时候,就应该动手去写代码。
蓝桥杯官网上有公布比赛使用什么ide,最好的学习过程中选择官网的指定的工具,在平时编程、调试的过程中熟悉软件的用法,避免在比赛的时候因为软件不熟悉带来的问题。
很多学校第一学期的时候,还没有开数据结构和基础算法的课程,如果想参加蓝桥杯的话,自学是非常有必要的。把基础的数据结构,比如队列、栈,基础的算法,比如贪心、排序、dfs、bfs、动态规划都学习一下。
现在蓝桥杯已经不是几年前的那个暴力杯,只掌握语言基础,不学数据结构和算法,很难有好的成绩。
学习这两块知识,推荐利用好网上的优秀课程资源,或者自己买本书都是可以的,按照书本内容,找我的上面提到的知识点,好好学习,没学习一个模块的知识,一定去找些题目好好练习。
3. 做针对性训练,利用网站工具,利用好真题
学完编程语言、算法基础后,一定要做真题训练,在dotcpp网站、蓝桥杯官网上,都可以找到近几年的真题题目,做做真题训练,非常有必要。通过往年的题目,熟悉下比赛的题目类型,查漏补缺,找出自己的薄弱模块,做针对性训练,这是非常有帮助的。
蓝桥杯在12月份的时候,有个校内赛,一般是帮助学校筛选本校学生参加蓝桥杯的,校内赛的题目会比较容易(不用问为什么),千万不要以为正是比赛就是这种难度。一定要看真题才有用。