开启一名非典型传桶工科生的博客之路

The only way to learn programming is to do programming!

文章目录

  • 前言
  • 一、自我介绍
    • 1.个人背景
    • 2.了解的语言、语法
    • 3.常用的IDE
    • 4.参与过的项目
      • a.第三届登峰杯机器人竞赛软件仿真组
      • b.Visual C++大作业
      • c.《驾驶模拟系统二次开发》SRT(Student Research Training)
      • c.《智能建造》大作业
      • d.某BIM(Building Information Modeling)平台的开发
      • e.《数据科学》大作业
      • f.《海洋遥感与大数据》大作业
      • g.2022年MCM美赛
      • h.《模型协同显示》SRT
      • i.《混凝土结构》选做题2、3、4
  • 二、预期博客内容
    • 1.浅浅地展示一点Julia语句
    • 2.浅浅地展示一点钢结构、混凝土结构课本封面
  • 三、预期写博客和发博客的时间


前言

各大网站上的众多大V、大UP主、大博主均认为写博客是提高编程水平的一大法宝,我也认可这种说法,加之本人也是一个好为人师乐于分享、喜爱教学的科研人,以及在大四开始前学业压力总算没那么大了,所以决定过了期末季(已经过了,距离初稿已经过去一个月了)开始好好写博客,写这篇博客也是相当于立一个flag,如果有精力的话后续可能也会用自己微薄的html/css/JavaScript知识搭建一个个人网站,把到时候已经写好了的博客到个人网站上面。

感觉一不小心就把本文写成了个人陈述


一、自我介绍

1.个人背景

本人就读于五道口男子职业技术学校(也是五道口体校),专业为某涉及基础设施建设的重要支柱型专业(其实我个人信息里有写,感兴趣可以自行查看)。虽然专业是传统工科,但是我个人对计算机相关技术以及线性代数的运用有着浓厚的兴趣,或许是由于信息技术的科技感和矩阵运算、转化的美感,可以说我对人工智能及其工程应用、高性能数值计算、运筹学等均有浓厚的兴趣,所以在质量还行地完成学业的前提下我学习、了解了许多数学和计算机技术和算法。

本科期间在校内我得过一些小科研比赛的奖、许多种类的奖学金、还有一些奇奇怪怪的荣誉;踢过马约翰杯、做过冬奥会志愿者、组织过社会实践、坚持着体育锻炼、担任过课程助教,大学生活算是丰富多彩、全面发展;限于对自己成绩的不自信也有对本专业的情怀,我坚守本专业不转系、甚至连辅修都没有辅修,但是信息技术没少学,如果有一天我们能真正实现土木工程智能化、解放工人和设计师的生产力,也算是了结了一大心愿(未必要我来实现)。

2.了解的语言、语法

关于编程语言,我对c语言PythonMatlabJulia的使用较为熟练,c++c#JavaScript还算可以,不同的语言具有不同的应用场景,掌握多种语言便于方便地调用基于各种语言的Packages(尤其指三种科学计算语言)。

关于各种非编程语言、语法,我对LaTeX、markdown、css、html有参差不齐的了解和使用。

3.常用的IDE

我喜欢使用Jupyter Notebook编写和调试Python和Julia代码,较少地使用PyCharm进行调试,喜欢在VSCode中编译LaTeX,使用Visual Studio进行c/c++程序的编写和调试,Unity游戏开发(写C#脚本)等情况下当然也是使用Visual Studio啦。

4.参与过的项目

关于我参与过的项目,在此只罗列跟各种信息技术比较相关的东西,这些项目或多或少用到了程序设计、场景开发或人工智能技术,有的项目比较小,有的项目稍微大一点,应该是没有太大的项目。

其中有的项目是我主导的,有的项目是我一个人做的,也有的是我当时作为一个小白只是有所参与的,并不全面,有些没获奖的尝试在这里没有提及

整理这个的时候忽然觉得做成了我对自己到目前为止短暂的编程或开发生涯的总结,整理完发现还挺有趣的,我感觉可以用一个字来形容,就是

a.第三届登峰杯机器人竞赛软件仿真组

  • 时间:2018年暑假
  • 年级:高二升高三
  • 身份:Programming主力之一

比赛全称大概叫作登峰杯全国中学生学术科技创新大赛,是一个很好玩的依靠逻辑判断作出决策的对打游戏,用的c++,生成dll(动态链接库)文件做对打,我们合理利用超时开始慢慢扣血的规则,隐蔽自身并保证合适的时间吃到血包。好像当时在决赛圈的循环赛上拿了第一名,所以理所当然地取得了一等奖。这是我高中做的唯一一个与cs相关的好玩的项目。
开启一名非典型传桶工科生的博客之路_第1张图片

当时我们参加这个比赛,一方面是由于学校老师鼓动,一方面是因为比赛是由清华牵头主办,有老师声称可能对清华的自主招生有用(事实是没有太大的用处),后来和我一起组队的两个同学分别上了川大和北航。再后来这个比赛好像就凉了

b.Visual C++大作业

  • 时间:2020年春季学期
  • 年级:大一下
  • 身份:个人项目

一个二维小球平抛或斜抛运动的碰撞模拟及可视化(两边各扔一个小球,像是高中物理实验),用的MFC编程,可能已经是非常非常古老的东西了,只是用于入门交互式应用程序的开发,这门课也是PF的,不存在刷绩点的功能,很轻松、很好玩。我记得有别的同学做推箱子什么的游戏。截图照片找不到了。

c.《驾驶模拟系统二次开发》SRT(Student Research Training)

  • 时间:2020年秋季学期-2021年春季学期
  • 年级:大二
  • 身份:Leader、一作

由于参赛队伍数量稀少,应该是凭借比较大工作量和评委老师们的赏识,获得了本校交通科技竞赛的一等奖、最有价值奖和最具创意奖。后来获评本校优秀SRT项目二等奖。

开启一名非典型传桶工科生的博客之路_第2张图片
开启一名非典型传桶工科生的博客之路_第3张图片
开启一名非典型传桶工科生的博客之路_第4张图片
其实没做出什么很有价值的成果,自己也是深感驾驶模拟实验难做,变量难控制,人因实验都不好做,所以连个水刊、水会议都没去尝试发表。上面最后一张图是眼动仪的数据。

c.《智能建造》大作业

  • 时间:2021年春季学期
  • 年级:大二下
  • 身份:打杂的小白

爬取了一些施工现场图片。做的是基于计算机视觉的工作危险判别,但是智能建造绝不仅仅是用Mask-RCNN看看工人戴没戴安全帽、离作业车辆近不近之类的事情,这种简单的事情工地的安全员本来就全包了,土木工程智能化仍然任重而道远。
开启一名非典型传桶工科生的博客之路_第5张图片

d.某BIM(Building Information Modeling)平台的开发

  • 时间:2021年暑假
  • 年级:大二升大三
  • 身份:跟着学习、打杂的小学弟

学了很多前端知识,html、css和JavaScript就是在这时候入门的。是几位老师们(和师兄们)的项目,这里就不放图片了,是一个乡村地理信息平台。

e.《数据科学》大作业

  • 时间:2021年秋季学期
  • 年级:大三上
  • 身份:调参的次要主力(有大腿带飞)

我们做的是基于CNN的灾害情景分类,数据集(图片)是老师提供的,要求分类为11种(就是火灾、地震、洪水什么的),我们选用了AlexNet、VGG-16、ResNet-18和当时新兴(现在也不算旧)的Vision Transformer四种模型尝试训练,最终Resnet模型的准确率几乎达到了90%,效果还是可以的。开启一名非典型传桶工科生的博客之路_第6张图片

获得了大学三年第一个A+(也可能是最后一个),或许对于许多大佬来说,经常拿到A+也是很正常的,但是我自己能拿到一个A+还是很开心很激动的。

插图

f.《海洋遥感与大数据》大作业

  • 时间:2021年秋季学期
  • 年级:大三上
  • 身份:写代码计算和可视化的

这门课不是太硬核,最后拿了4.0,算是Matlab入门练习,我们当时研究了福建围填海对周边环境的影响,用简单的边缘检测算法(这部分主要是我做的)根据遥感图像探究了海岸线变化,还用遥感专业的一些软件(SeaDAS什么的)计算了海洋表面温度和叶绿素浓度等。
开启一名非典型传桶工科生的博客之路_第7张图片
开启一名非典型传桶工科生的博客之路_第8张图片

g.2022年MCM美赛

  • 时间:北京时间2022年2月18日6:00-2022年2月22日9:00
  • 年级:大三下
  • 身份:写代码的

参加这个比赛是因为,比赛开始的前一天晚上(也是报名截止日期的前一天晚上)一位高中同学拉我和我们另一名高中同学参赛的,就是试一试能拿到啥奖就拿啥奖,学校也就直接写他们的学校,因为我预计这个东西对我推研并无很大用处,而且我们学校没有量化的综测这种促使恶性内卷的评价方式,不会因为奖状写的不是本校而不给你加分,因为本校根本不计算什么综测分数(虽然各方面还是很卷)。

这其中2月20日还是北京冬奥会闭幕式仪式日(我作为鸟巢赛事服务组志愿者之一,从中午12点出发前往鸟巢到半夜12点回学校集中健康监测),这一天没法工作,而且2月21日是我校春季学期第一周周一(开学),此外我还花了一些时间在志愿者“团建”玩一些游戏上面,可以说是十分“现充”。所以这次美赛可以说是毫无准备,也没有专注投入。
开启一名非典型传桶工科生的博客之路_第9张图片

选题选的是 Problem C: Trading Strategies ,因为我的两位同学对经济相关专业知识较为了解,方便他们写一些研究背景和建议等定性部分。在我看来这道题目就是一个时间序列预测的题目,因为赶时间,所以根本没有使用任何深度学习模型,只是草率地上网随便找了一种(可能也对比了几种)针对时间序列的算法去进行预测,并根据贪婪算法的理念进行交易决策,最后拿了 Honorable Mention 也就是H奖。

h.《模型协同显示》SRT

  • 时间:2021年秋季学期-2022年春季学期
  • 年级:大三
  • 身份:前端开发的主力

得到了一些补贴,在校挑战杯中没能获奖,稍显遗憾,但是第一次体验到了软件开发团队作战的感觉,感谢老师提供的环境。主要开发了积木搭建、建筑装配模拟和孔明锁拼装几个场景。都开发得不太完整,对于我来说算是练习了Unity和c#使用吧。
开启一名非典型传桶工科生的博客之路_第10张图片

i.《混凝土结构》选做题2、3、4

  • 时间:2022年春季学期
  • 年级:大三下
  • 身份:个人完成

题2是开发一个用条带法(相当于积分)绘制钢筋混凝土纯弯构件所受弯矩M与弯曲曲率 ϕ \phi ϕ曲线的程序(含图形界面),我又是用Unity开发的,语言:c#。
开启一名非典型传桶工科生的博客之路_第11张图片

题3是训练一个机器学习模型,根据几何参数和钢筋、混凝土强度参数预测钢筋混凝土梁的抗剪承载力,老师提供了实验数据,包括无腹筋梁和有腹筋梁的。我用的XGBoost模型,拟合效果还可以,MSE不太大,可以分析出破坏模式的不同会影响预测的准确性,比如少筋、超筋、剪跨比(类似于长细比)范围不同时,抗剪承载力和参数的关系会很不一样,如果数据更多可能会拟合得更好。

题4又是使用条带法,生成钢筋混凝土压弯构件M-N- ϕ \phi ϕ三维图像理论解,由于条带法需要对不同的 固定的 ϕ \phi ϕ和正轴力(压力)N求得弯矩M,然后进行图像绘制,实际混凝土能承受的极限N-M图像却是大肚子形状的,故而我实在没办法绘制出完整的,投影包络线是N-M承载极限的曲线的曲面,但绘制出了部分图像,得到了奇特的结论(所以不保证正确),因为打希腊字母方便,所以我是用Julia编写的此次代码。
开启一名非典型传桶工科生的博客之路_第12张图片
开启一名非典型传桶工科生的博客之路_第13张图片
可以发现,对M取对数和对 ϕ \phi ϕ取对数可以让图像看起来稍微有规律一些,但是我并不理解其理论原因。

二、预期博客内容

由于我未来读博期间的研究方向应该会是基于数学、物理和计算机方法的对任何感兴趣的工科(甚至是理科)问题的探索之类的,而Julia作为一款新兴的交互式、高性能语言值得我们去尝试学习和使用,所以,这方面相关内容很可能从Julia学习入门开始更新(写这篇文章的时候已经入门完了,甚至整理好了Matlab、Python、Julia三语入门笔记);之后我学什么语言、算法、模型或数学知识就更新什么,也是给自己亲手打造一份带目录、易索引、成体系的笔记,毕竟想写博客最大的原因还是想要做到自我提升;听说CSDN也可以发与信息技术无关的博客,所以或许也会写一些或记录一些本专业的专业知识,比如钢结构、混凝土结构之类的。

1.浅浅地展示一点Julia语句

一些我随便编的Julia语句(CSDN的Markdown好像不支持Julia高亮哦)

function f(x,y) = x + y
for i in 1:3
	println(f(i,10))
end
# 11
# 12
# 13

2.浅浅地展示一点钢结构、混凝土结构课本封面

开启一名非典型传桶工科生的博客之路_第14张图片

开启一名非典型传桶工科生的博客之路_第15张图片


三、预期写博客和发博客的时间

本来期末考试前想学点Julia就顺便发的,结果期末周压力还是大,前前后后还忙了各种各样的事情,没更新出来,但是写了一篇北京高考压轴题的做法,娱乐了一下。

暑假期间,有空应该会做更新和记录,大四及以后,只要学新东西就一直写,其实就是自己用Markdown顺便整理的笔记就可以分享、开源出来,还可能会回去复习旧东西,顺便也补上博客。

每篇文章写好就发,因为CSDN文章似乎可以修改,所以或许不一定要调整到最完美的状态才发,比如缺一两张配图的时候也可能先发出去啦。


最后欢迎大家关注,关注的人多了我就不敢鸽了,本人本来也是重度拖延症患者、ddl战士。

你可能感兴趣的:(python,c#,matlab,julia,深度学习)