目录
前言:
1、为什么写下这篇文章:
在来到大学开始准备转专业开始接受到了很多转专业成功的学长的帮助,他们热心的向我分享了很多信息和经验,让我在学习过程中少走了很多弯路。为了将这种精神传承下去,我决定将我个人的经历和经验一并分享至出来,希望能帮助到有需要的人。
2、什么人适合看这篇文章:
想要转到计控院计算机相关专业(计科,软件,大数据,人工智能)的同学。这类专业对学生考察的方向基本一致,作者是转到了软件工程专业,不过你要是想转其他专业,我的经验也会对你有帮助。
3、你真的想好要转专业了吗?
在阅读这篇文章之前好好想想以下问题:
- 为什么像转到这个专业。
- 自己是否能适应新专业的学习,对转专业之后的学习是否有一定规划。
- 能否确保自己不会后悔。
- 想转哪个专业,对该专业是否有一定理解。
如果你仔细考虑了上述问题还有坚定的想法,那么就阅读正文吧。
正文:
相关考核办法:
见文章顶部。
ps:今年计控院把这五个专业的要求一起打包了,之前几年是分开发的。由于这类专业在大一上的课基本重合,考核机试(c语言)也是在一起考的,最终只有面试的流程可能有些许不同。
志愿相关:
林大转专业是可以选择两个志愿的,但由于计控院这些专业都优先第一志愿(今年大数据除外),而且这些专业第一志愿都会报满,如果你放第二志愿的话可能会连面试的机会都没有(我二志愿计科直接就没面试),所以要想报这类专业你只有报第一志愿才有机会,二志愿基本只能报上没啥人去的专业。
转专业时间线:
- 大一下:教务处发通知,开始报名填志愿。
- 大二开学:交材料加群,机试,面试,出结果。
一志愿人数参考:
以下信息来源与官方的转专业qq群。详细数量可能会有些许误差,不过不会差太多。
计算机:24进20。(爆冷,估计是因为招收人数从30削减到了20导致没什么人报,24进20是真没什么难度了)
软件:20进10。
大数据:10进10(最后一志愿只招了6个,二志愿招了2个(降转),有点特殊)。
人工智能:12进10.
学习要求:
基本:
- 成绩:不能挂科,对于个人而言加权越高越好,但最后面试肯定不是完全根据成绩来评分,老师还是很看重你综合素质的。
- C语言:这个还是的好好学的,机试会考,面试还会问相关问题。
- 一些基础数据结构和算法。(这个不会搞太难)
- 对相关专业的理解,自己好好在网上了解一下。
- 一定的英语口语能力(面试会考察)。
加分项:
1、英语过六级,雅思或托福达到一定分数(前者相对比较好实现,后者没出国留学打算的建议别碰)
2、计算机或数学的相关竞赛:蓝桥杯、csp(个人赛、这两个是相对来说比较容易的,前者好好学学能拿个省二;后者会c语言就能拿200分,过150分就能免机试)、百度编程之星(难度很高)、程序设计天梯赛,ICPC / CCPC(团队赛、这些比赛一般学生没有参赛的资格,如果真的想好要参加算法类竞赛的话,可以关注一下计控院相关信息,acm实验室一般会开一个讲座来向你介绍这类比赛和加入实验室的条件),数模 (大一只有参加美赛的机会(寒假),但美赛要求用英文撰写论文,报名费还挺高的,如果没有学长愿意带你建议别打)。
以上是一些他们认可的且大一有机会参加的比赛(详见学校官方上竞赛名录),其他的比赛你打了他们可能不会认可。
个人操作:(有一定风险,谨慎选择)
林大的选课还是很自由的,补退选能够退自己专业的课程选其他专业的课程。
受几个学长启发,我大一下的时候直接把自己原专业的专业课退了,换成了离散和高程,这个属于是破釜沉舟的行为了,如果你自己很有把握可以试试,这样不仅可以让自己提前接触相关知识,还可以减轻你大二转过去之后补修学分的负担,面试的时候跟老师说也可以让老师对你印象加深,好处是很多的。
但万一没转过去那就完蛋了,具体后果我不知道,毕竟我成功了。一定要记住,没有完全的把握不建议尝试这种行为。
考核相关:
机试题:
A:
输入n和n个数,让你输出这n个数中最大值和最小值的和,输入的是n个小数。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
double mn=999999999,mx=0;
cin>>n;
for(int i=1;i<=n;i++){
double x;
cin>>x;
mn=min(mn,x);
mx=max(mx,x);
}
printf("%.2lf",mn+mx);
return 0;
}
B:
输入n和一个n*n的矩阵,让你输出矩阵第一行和最后一行的数的和。
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,x,ans=0;
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>x;
if(i==1||i==n)ans+=x;
}
}
cout<<ans;
return 0;
}
C:
输入n(1<=n<=1000000),让你输出n的因数组合个数(例如12,因数组合有1*12,2*6,3*4三个,16有1*16,2*8,4*4三个)
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,ans=0;
cin>>n;
for(int i=1;i*i<=n;i++){
if(n%i==0)ans++;
}
cout<<ans;
return 0;
}
D:
让气球飞,机试题难度最高的了,题目见:Problem - 196 (nefu.edu.cn),机试是单组输入。我这种做法没学c++的stl可能看不明白,可以去林大oj上看其他大佬写的解题报告。
#include<bits/stdc++.h>
using namespace std;
map<string,int> mp;
int main(){
string s,ans;
int n,cnt=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>s;
mp[s]++;
}
for(map<string,int>::iterator it=mp.begin();it!=mp.end();it++){
if(it->second>cnt){
cnt=it->second;
ans=it->first;
}
}
cout<<ans;
return 0;
}
E:
输入n,k和n个数,输出前k小的数。
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main(){
int n,k;
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+n+1);
for(int i=1;i=k;i++)cout<<a[i]<<" ";
return 0;
}
F:
输入a,b,输出a+b*0.15。
#include<bits/stdc++.h>
using namespace std;
int main(){
double a,b;
cin>>a>>b;
printf("%.2lf",a+b*0.15);
return 0;
}
面试题:
ps:本文只介绍软件的面试,如果想了解其他专业面试的详细信息,可以去质询转到相关专业的学长。
先是一个长达三分钟的中英文介绍(中英文都有)。跟老师介绍了一下我的算法竞赛的经历和个人一直创作的博客。
然后是抽两个问题回答
1、 需求分析过程建立的三种模型:是和软件工程导论相关的问题,我一看问题人就直接傻了,这啥玩意啊,也没说会考这个啊(悲),我直接和老师说不会了。
官方答案:数据模型 功能模型 行为模型
2、判断一个数是不是素数:直接特判后枚举取模。
自由提问:
1、你是如何接触到和计算机相关的竞赛的?
2、蓝桥杯拿了什么奖。
3、专业排名。
4、计算机相关的四个专业中为什么选择软件?
5、如何看待你的原专业?
6、如何看待林大开展的各类活动(特指强制活动,例如运动会当观众):抱歉兄弟们我违心了,我给他一顿猛吹(反正哪里都是好)。
7、你个人未来就业更想去哪? 我答是大城市。
8、那如果有一个大城市的工作但内容简单对你没啥提升,另外有一个小城市地理位置不好但技术栈很新,对你个人成长帮助很大,你该如何抉择?
9、你是哪里人。 回答我的家乡。
在面试过程我的一些回答就不写出来了,大概面试都是这个流程了,希望对你有所帮助。
后记:
文章内容就到这里吧,后续如果有啥补充我会加上去的,希望能够对你有所帮助。用啥具体想问的可以在这私信我加我联系方式,我看到了会回。