第一周个人作业
一、自我介绍
我是23数据科学与大数据技术二班的成璐,来自河北省张家口市。虽然从小到大都是理科生理工女,却偏爱一些文气馥郁的事物。闲暇的时候,读一些诗集、杂文、电影手记、国内外的文学经典,偶尔也会读些哲学或心理学的著作;也算个散漫而平和的人,喜欢听老歌、逛公园、吹江风,也有练字和写日记的习惯。
二、现状、经验和计划
(1)自我评估
项目经验比较充分,大二学年参与过数个项目、作为负责人参加过多个比赛,获得过数次省奖(“挑战杯”全国大学生系列科技学术竞赛、中国大学生计算机设计大赛)和多次校奖(三创赛校一等)。有初步的组织能力,能够带领团队保质保量完成任务;有几次路演和答辩经验,具有较为扎实的基础知识,也善于沟通表达和随机应变;具有较好的论文写作能力,在团队中常担任润色文章和修改格式的最后一棒。
课内知识掌握较好,专业课的期末平均分在90分左右。喜欢数学,数学基础也比较好,还较为熟练掌握python语言、数据库基础、Linux操作系统,能够独立优质完成数据采集、数据预处理、数据探索与分析、数据建模与验证、数据可视化与报告全流程。
也有很多欠缺的能力,对c语言练习较少,对算法掌握很差,难以在蓝桥杯、acm等这类考察算法和编程的比赛中获奖。
在课程中,我希望掌握更多类型可视化图表(如热力图、桑基图),提升图表深度分析能力,同时学习 Tableau、Matplotlib进阶用法等软件,填补工具与技能空白。之后用更多准确而有效的可视化结果来支持数据挖掘过程,让我的分析结果更有可读性和信服力。
(2)未来规划
我想考取计算机类专业的专硕然后从事相关行业。我当下的准备正围绕 “补短板、强优势” 展开:一方面,参加数学竞赛,以赛促学,提前启动考研数学的基础复习,通过梳理教材知识点、做基础练习题巩固公式与解题思路,为后续强化阶段打下基础————毕竟数学是计算机类考研的重要公共课,扎实的基础能减少后续复习阻力;另一方面,针对算法基础差的短板,利用课余时间从数据结构核心算法(如排序、查找)入手,结合过往丰富的项目经验,尝试在项目场景中理解算法应用逻辑,比如用 Python 实现简单算法解决项目中的数据处理问题,同时认真学习本学期针对c++语言的算法课,增强个人c/c++编写算法的能力。
优势:丰富的项目经验让我对计算机相关知识的应用场景有更直观的理解,不止积累了专业中数据分析的实践经验,还有小程序、网页等前端经验,和数据库、事务管理等后端技术,还同指导老师了解了一些区块链的知识,后续复试中也能通过项目案例展现专业能力,避免 “只懂理论不会应用” 的局限;数学基础较好则能减少考研数学复习的起步难度,比部分同学更快进入解题状态,节省基础阶段的时间成本。
劣势:作为非长期主义者,容易在复习中出现 “短期冲刺后松懈” 的情况,难以保持稳定的学习节奏,而考研复习需要长期积累;算法基础差则导致面对计算机类考研中的编程题、算法分析题时,会比有基础的同学更吃力,需要额外投入更多时间追赶,这也是计算机类考研的核心考察内容之一。
(3)代码量
python:大概有11000行。写过一百道左右基础练习题,总计大概3000行代码;做过几个完整项目,每个项目大概有2000行代码,有很大一部分是直接复制修改平时写的板块来用,还有很多用到了ai,不过调参过程是自己完成的。
java:3000行左右,只有参考地写过80道左右的例题。
c语言:3000行左右,只做过一些基础题,以及照猫画虎地编过几道算法题。
(4)D
我选择D,比以前课要多很多,直到达到目标为止。前两年我在算法学习上缺乏系统训练,对核心算法的理解和实现能力较弱,现在必须集中精力攻克。计划每周投入15小时在这门课上(其中上课3小时、算法原理学习与推导5小时、代码实现与调试5小时、错题复盘与优化2小时),确保能吃透每类算法的逻辑与应用场景。
总目标:掌握15类基础算法(如二分查找、动态规划、深度/广度优先搜索、贪心算法等)的原理与实现,累计编写算法相关代码7000行(新增4000行),完成30道中等难度算法题(LeetCode题号100-500区间)的独立解题;
周目标:平均每周掌握1类核心算法,完成2-3道对应算法题,编写280-300行算法代码(按14周课程计算,抛去期末月),其中每周至少120行是完整算法题的AC代码(含边界条件处理、优化逻辑),而非单纯的语法练习。
用WOOP方法制定风险防范计划:
Wish(愿望):课程结束时,能独立分析算法题的解题思路(如判断用动态规划还是贪心算法),熟练用Python实现15类基础算法,在LeetCode上独立AC30道中等难度算法题,面对算法相关面试题能清晰阐述解题逻辑与代码实现步骤。
Outcome(结果):如果愿望实现,不仅能轻松应对课程的算法考核,还能为计算机类考研复试中的算法提问环节做好准备,甚至在暑期实习面试的算法笔试中脱颖而出;同时,系统的算法训练能提升我的逻辑思维能力,后续学习数据结构、操作系统等考研科目时,也能更快理解底层逻辑(如内存管理中的置换算法)。想到这些,仿佛能看到自己在LeetCode上提交代码后显示“Accepted”时的兴奋,也能想象复试中快速给出算法题解时,导师认可的眼神。
Obstacles(障碍):内部障碍:“面对复杂算法题(如动态规划状态转移方程设计)容易畏难”——读题后30分钟没思路就会自我怀疑,转而刷简单题,回避核心难点,导致复杂算法掌握不扎实;外部障碍:“期末其他专业课复习压力大,会挤压算法学习时间”——比如考前两周需要背诵专业课知识点,每天算法学习时间从3小时缩减到1小时,进度滞后;最可能的失败因素:“算法学习缺乏复盘,学过的算法容易遗忘”。过去学过的二分查找、BFS等算法,当时能实现,但隔一周不练习就会忘记细节(如边界条件判断),导致重复学习,效率低下。
Plan(if-then 计划):如果面对复杂算法题畏难,那么我就先打开算法讲解视频(如B站“代码随想录”),跟着拆解题目中的关键条件,将大问题拆成小步骤(如动态规划先确定dp数组定义、再找状态转移方程),每理解一个步骤就手写笔记,再尝试代码实现。
如果学过的算法容易遗忘,那么我就建立“算法错题本”,每周日晚上花1小时回顾本周学过的算法,重新手写1道对应算法题的代码,同时用Anki制作算法知识点卡片,每天花10分钟刷题复习,强化记忆。
(5)D
在平日的学习中,我会积极主动填写老师的课程反馈,多多和老师沟通交流。