本指南完成于2021年10月,更新于2022年9月,时效性请根据阅读时间来判断。
指南篇幅过长,电脑端可点击左侧的“显示文章目录”显示目录。但由于博客主题原因,手机版暂时没有文章目录显示。
由于本博客评论系统暂未完善,如需要评论但使用不便可以通过QQ联系我。(在下方名片或“关于”页面中有写)
由于本人能力有限,本文所述内容可能具有偏差和片面性,同时含有一定作者主观想法,请食用时务必加上自我判断与思考。
日后个人可能还会在询问其他同学相关经验和意见后,对这篇指南进行完善。
希望各位有相关经验的同学如果发现文章错误或有想法建议,能及时联系我指正提出。让我们一起完善这篇指南。
本指南已更新2022年笔试、机考、面试相关的例题。
本指南的合作贡献与鸣谢同学(排名不分先后):

QQ: 1021889213
指南2021年内容的编写、后续的更新
邮箱: mobyw@qq.com
指南的推广、CSP 相关建议的提出

QQ: 1292504237
个人转专业的帮助、CSP 相关建议的提出

QQ: 1078172834
指南的推广

QQ: 421931478
2021年计院机考例题代码错误的指出

QQ: 2013519188
2022年计院 - 机考例题、面试问题的提供

QQ: 393669798
2022年计院 - 机考例题、面试问题的提供

QQ: 3287521331
2022年交运 - 笔试、面试问题的提供

QQ: 522908199
2022年计院 - 机考例题和流程的详细提供

QQ: 1617773893
2022年计院 - 机考例题、面试问题的提供
注:点击对应名片可直接唤起 QQ 跳转到 QQ 名片。
本指南更新日记
更新记录
写在最前
写这篇指南的原因,是因为这里一直没找到很成体系的有关本校转专业的相关文章……
个人所有关于转专业的认识方法等都是从各方打听到的,很零散地拼凑起来,才勉强对转专业这复杂的系统有初步的认识(而且还不保证一定正确……
趁着这次转专业成功并且刚结束不久,实在是有太多想说的,
以及为了之后转专业的同学们有条更顺畅明亮的道路,有感而发【闲得无事x】就写了这篇指南……
个人基本信息
这里先提前说下个人转专业的基本情况:
- 年级:2020级
- 原专业与学院:应用心理学 - 心理研究与咨询中心
- 转入专业与学院:计算机科学与技术 - 计算机与人工智能学院
一些劝诫
当然我相信如果大家有问过其他学长学姐们转专业相关的事的话,或多或少会听到一些警告甚至劝止……
在开始本篇指南之前,我也一样会先直言转专业的弊端并提出自己的劝诫……
希望各位能用几天时间,好好深思熟虑、重新审视、综合权衡一下自己转专业的想法……
这是大学中一个会深刻影响到你的分岔路口,是自己成年后面临的重大抉择之一……
总而言之:
如果不是出于对所转专业极度的向往喜爱,没有强烈的愿望意志,
而仅是因为对原专业的不了解不喜欢或其它一些功利目的的话,
是极其不推荐走转专业这条路的。
几点主要原因如下:
- 转专业的信息匮乏。需要自己花费大量精力去各种打听咨询相关信息,并且所得到的信息也会较为模糊复杂……
- 转专业的高指标与硬性要求。需要花费更多时间精力去学习更多内容,使宝贵的大一空闲时间被占用……
- 转专业的竞争。尤其是热门专业更为激烈与残酷……
- 转专业失败的风险。对体力及精神的打击,需要对所造成后果重新抉择……
- 转专业成功后的各种极其繁琐的事务。如对未知新环境的重新适应、补修课程、各项事务申请等……
最终,无论转没转成功,都会极大降低一到两年的大学时间的价值与效率,甚至可以说直接浪费一两年或更多时间也不为过……
而大学,一共只有四年……
大学不仅只有学习与绩点,更重要的是社交、兴趣爱好、各项能力、视野拓展,甚至于爱情、娱乐、身体素质等各方各面……
而这些,在大一大二的时候,才是最好的发现、培养、训练的时间……
自己在哪天夜晚emo的时候好好想想:自己花这一两年的时间,舍弃了什么,换来了什么?……
自己愿意为之付出努力吗?……
这一切,真的值得吗?……
当然我知道,对于大部分同学,特别是能找到这篇文章的同学来说,是不可能被我前面简单的几句警告以及黑泥而吓跑的……
而且个人也并不是对转专业这事持完全的否定与悲观态度,只是告诉同学们需要慎重考虑而已……
如果真的抱着如此强烈的决心的话,那么还请相信自己并坚持下去,也希望我接下来的内容能对你有所帮助……
我将会按照以下三个关键时间阶段划分来完成这篇指南……
- 大一上学年早中期
- 大一上学年末期和大一下
- 大二上学年
这样可操作性更强,也能更明白每个阶段应当思考、行动、注意的事……
将大一上末期归到第二个时间节点的原因是因为这个时段要处理的事务很多,与大一下几乎是连着的。
个人提前假设各位都是大一开始转专业的同学,若为大二才开始的同学以下指南不一定适用,请按照实际情况行动。
以下为正文部分
一、思——大一上学年早中期
思 —— 倾听、感受、思考。
引入
刚来从高中来到大学校园,对于自己的专业,大家肯定都会有自己的想法。
如果是恰好分配到自己所想的专业,那固然是最幸运的,加油在自己所选的道路上努力前行吧!
但由于“调剂”这一机制的存在,使得部分同学并没有分配到自己所选的专业,
甚至可能会调到一个从来都没听过的专业;【比如某“应用心理学”x……
或者选入的是比较靠后的专业,还是有点稍不满意;
更或早在选志愿的时候就想到了:先选个好点的学校进个差点的专业,最后再转专业转入自己想去的专业这样的战术。
一点黑泥……
为什么不选调剂就会掉档呢?难道不能不选后如果没有录到所选专业就换下一个志愿吗?……
也就是选了调剂保学校,不选调剂保专业这样……
会掉档这一后果肯定就让所有考生都把调剂选上了呀……
不是很明白这一机制这样设置的原因’_>’……
无论如何,这个时候总会在各种地方平台听到“转专业”这一机制的消息,
对于以上三种情况的同学来说,自然很大部分都会去了解这一机制并且产生尝试的想法了。
【不然怎么会来看这篇文章呢hhhh……请原谅这一大段废话引入……
产生这一想法很正常,用心理学观点就是:
不满产生矛盾、矛盾产生动机、动机产生意志。【学过一年总要用点来口胡吧xddd……
但正如最前所说,这一想法事关重大,还是要好好考虑一番。
所以在大一上刚开始有这一想法的时候,可以问自己一些问题来帮助自己了解判断转专业这一想法的正确必要性。
接下来就是大一上早中期的时候可以具体做的几件事情。
Step. 1 - 与自己对话
自己总结了一些可以用来灵魂拷问的问题,
问题可以但不限于如下:
- 你为什么会选择转专业?
- 是自己的喜好梦想,还是功利性的好就业、工资高,抑或其他原因?
- 你对本专业是否有最基本的认识了解?
- 它真的不适合你吗,对你一点兴趣也没有吗?
- 这个专业会学习什么内容,将来的情况如何?
- 你对目标专业的了解程度如何?
- 它主要学习什么内容,将来会从事何种活动?
- 这个专业的发展前景如何?
- 它需要我哪方面的能力,我是否能胜任?
- 自己为什么如此偏爱这个专业?
- 对目标专业的掌握情况如何?
- 自己是否有提前学习相关内容,是否掌握基本的能力?
- 是否能承受转专业过程的信息匮乏状态,以及有耐心与能力处理各种琐事?
- 自己是否能敢于多问,去问转专业成功的前辈,问教务处的老师们,向他们请教经验、获取更多有用信息?
- 面对转专业前后各种琐事,有些甚至直接决定是否能转专业成功,自己是否能有精力去处理完成?
- 如果转专业失败,是否有所应对计划?
- 自己该如何打算?是中途停止还是继续尝试?
- 如果实在不能转专业,是否可以考虑辅修?
- 如果最后一次机会(大二转专业)也失败,该如何承受以及补损?
- 如果转专业成功,自己该如何适应全新的环境?
- 自己在原专业的一些发展(如班委、建立的关系圈)可能会受到影响,自己是否能承受?
- 自己需要补修培养计划中所未修的课程,自己是否有精力能力完成?
- 自己可能会从原专业优异成绩的舒适圈中脱离出来,是否能接受这种变化?
- 来到全新的班级,在他们已经发展交流了一年的情况,自己是否还能再融入进去?
不要觉得这步骤多余且无用,正相反,它是你转专业道路上最重要的基石与路标,
多问问自己,在对答案的探寻中,也能逐渐摸索探清出自己的道路,并更加坚定于自己的想法。
不要在自己还不清楚自己是否要转专业,只是迷迷糊糊有这种想法而进行,这样无论成功与否都只是浪费时间。
转专业拼的可不仅只有成绩与能力,还有坚强的决心与意志力。
Step. 2 - 了解转专业机制
这可以算是要想转专业的基本要求,
正如前面所说,转专业的信息较为匮乏且模糊,
所以需要在这大一上这一年里,花费大量时间去了解什么是转专业、怎么去转专业、各项要求指标、时间流程等等相关信息是非常必要的。
这里先简单提一点转专业的基本流程:
转专业正式工作一般在暑假末期开始、上学期初进行并完成,基本流程为:网上申请→审批考核→公示结果。
正式工作流程
到时候会有明确的通知,跟着通知流程进行即可。
注意:不同学院的审核和公示速度会有较大差异。
而想要稍微全面了解,可以采用以下方法。
⭐1. 阅读目标专业的“转专业实施细则”
所有学院在转专业的进程当中,基于的规则都是本院所给出的“转专业实施细则”这一文件。
可以知道仔细阅读分析这一文件对转专业的必要性与重要性了。
一般对各位第一次转专业时机(也就是你们刚到大二能转专业)的实施细则,会在你们大一上末期发出。
因此现在可以先提前阅读目标专业的学院近一至三年的转专业细则,尤其是最近的本年细则(即对于现在的大二的细则)。
文件一般长这样:
正式文件搜索方法为:
- 进入目标学院的官网(所有学院的官网可在西南交大的首页的“学院设置”中找到)
- 在搜索栏搜索“细则”一词
- 如发现标题为“……学院……年转专业实施细则通知”等类似标题,点开此通知。
- 在附件中一般就有当年的转专业细则,下载打开即可。
需要注意:
2021年起,
原属于“信息科学与技术学院”的“计算机科学与技术、软件工程、人工智能”三个专业,
已从原学院分离到新的“计算机与人工智能学院”。
对于细则的分析,因为是大一上末期公布的,将在后面的详细解读“转专业实施细则”中说明。
⭐2. 询问目标专业的学院教务处
无论如何,最终转专业的解释权都在目标学院的教务处上面,
所以遇到问题,尤其是比较冲突矛盾的问题,第一时间询问目标学院的教务处是最保险也是最管用的。
虽然偶尔教务的回答可能会很模棱两可或态度不佳,
但根据“西南交通大学本科生转专业管理方法”中第三章第十条——“学院为学生提供转专业咨询”,而学院一般都是以学院教务处提供咨询的。
所以遇到问题后直接理直气壮去问教务,一定要问出清楚的答案为止。
一般教务咨询方式都会在“转专业细则”中出现,
如果没有,一般可以到目标学院官网中的学院概况中查到。
但也有部分学院官网没有明确写出教务信息,【或者说设置的太神秘我反正是没有找到……
这个时候可以到校教务处的“信息查询”界面找到各学院的教务办公室和办公电话等信息。
3. 咨询同专业转专业成功的前辈
这个方法是最直接也是最可操作的。
可以先咨询辅导员或者问问认识的学姐学长,问问之前有没有成功转走的直系学长学姐,
索取到联系方式后,便是克服社恐去多问问了。
运气好的话一些学院可能还有自己转专业的群,热心学长学姐可能还会在里面直接指导。
在之后各阶段所遇到的问题,尤其是有关学业方面的问题(会怎么考试、如何复习等),
找前辈直接问都是很有效的。【如果是比较负责的前辈并且乐于回答的话……
因为各原专业的所修课程不同,可能对于转专业会有自己不同的处理方式。
同时在大一下期的选课阶段,问他们也能知道最适合的处理方式。
总之,问直系学长学姐是很不错的方式,尤其是如果有前辈跟你转同一专业的时候。
具体问的问题可以参考如下:
- 转专业的大致流程是怎样的?
- 我大一下选课的时候应该如何操作?
- (如果对方也是转到你的目标专业的前辈)我也准备转到……专业,请问难度大吗,对我的大致要求是什么?
- 我现在可以如何准备?
- 我还可以询问谁/哪些群或平台还可以帮助我转专业?【多点信息源总是好的……
注意:如果遇到十分矛盾冲突的问题,尤其是在选课方面,请最好去咨询教务并且按照教务的要求来决定。
4. 阅读学校的“西南交通大学本科生转专业管理办法”文件
各种学院指定的转专业细则,都是以此文件为基础进行编定的。
文件官网链接:【西南交通大学本科生转专业管理办法】
其中需要注意的有:第四条、第五条、第十条、第十二条、第十五条、第十六条。
第四和第五条中两条有关课程的明文要求已经用红框标出。
但具体怎么样,还是要根据各院的“转专业细则”来进行。
5. 咨询其他认识的学长学姐,转专业相关群
如果有其他认识的学姐学长认识的话,也还是可以去问问的。
大学主要就是通过问的方式获取各种信息。
【都是第一次读大学嘛,有不懂的挺正常hhhh……
而相关群的话,我们学校也有一个转专业交流群:
平时会发些相关通知在群里,转专业的同学还是加一下很有用的。
有关转专业信息的获取方法大致就上面几种。
但实际上自己多数得到的信息会很模糊甚至自相矛盾,
这里最好以以上标星的方法为主要判断手段。
尤其是第二点,如果从教务那里得到准确信息后,请务必按照教务那边的规定来!
其他建议
当已经下定决心并且了解转专业的基本信息后,在大一上早中期就已经没什么可以做的了,
剩下的就是制定好计划并开始相应准备,然后等到大一上末期进入下一阶段了。
不过还有几个建议要提一下。
1. 学好原专业课程
了解了转专业基本信息后就知道,转专业也是要看原专业课程的分数排名的。
所以无论你现在对原专业的兴趣怎样态度如何,
想要转走,就必须要把你现在专业的课程给学好。
从这学期就开始不要松懈加油吧,
学得越好,转成功的几率就越大,
毕竟成绩还是硬性指标嘛。
2. 课程旁听
虽然大一上是不能自己选课的,但大学的特点之一就是可以旁听。
如果有时间的话,去旁听一下准入课也是非常不错的选择。
比起上网课去提前学习,旁听准入课可以更好地适应学校学习的环境以及老师的上课方式,
否则大一下再去学习,可能会花一段时间去适应老师和课堂,甚至会因此导致一些损失。
所有的本学期课程信息都可以在教务处的“课表”中查询得到。
搜索相关课程后,找一节在你空闲时间的课,记下教室号,
之后在这节课的上课时间,直接去教室找个地方自己坐下听就行了。
举个例子
3. 准备英语四级
一般来说,许多学院的转专业细则上都有对英语四级的要求,
所以这个阶段就可以好好准备下四级考试。
需要特别说明的是:
大学的四六级考试的听力,和初高中的听力有很大差别!
四六级的听力是没有题目只有答案,题目是听力里念出来的,
这个差异会导致很多同学很不适应这种听力方式。
所以提前去做点相关题目适应一下是很有帮助的。
4. 提前训练相关能力
对于某些学院,要转入的话除了通常的看成绩以及面试之外,
可能还会考察你的相关专业能力。
最典型的就是计算机学院,需要考察程序设计能力,
会额外地进行一个“C语言程序设计机考”,简称机考。
如果之前并没有程序设计经验,建议在这时候开始就去训练相关能力,
训练得越早,自己就越有经验,也会更加熟悉。
有关机考的详细信息以及题目示例见后面的「机考」部分。
有关机考准备的个人建议(没有经验的同学可以看看)
【虽然我觉得既然都有强烈兴趣的话也应该早有所接触有经验了吧.jpg……
有关学习
机考不会考什么复杂的内容,只考简单的语言掌握情况。
如果一点经验都没有的话,
可以先去买《C语言程序设计基础》这本书,然后一直学到文件那里就行。
如果想要更深入,也可以去以竞赛方面的基本内容来学习,
但如果之前一点经验也没有,直接按竞赛方式学习的话并不是很推荐。
有关练习
可以购买相关C语言上机实验习题的书,然后从中选题来做,
这个可能跟实际机考更相近些,优先推荐这样练习。
也可以去洛谷这个练习平台,将他的题单中的【入门】内容做一下,
因为机考不涉及算法,所以后面的可以当额外拓展去尝试,优先把前面的入门部分给掌握了。
但听说我们学校专门有“C语言程序设计”的做题平台,但个人并不清楚。
可以去咨询下计算机系的学长学姐们,
如果能找到这个平台的话,直接做我们学校的题肯定是最好的。
欢迎有知道相关信息或者其他适合针对“机考”的做题平台的同学与我联系,我将会将链接添加到这部分。
个人经验
编程这东西真的跟真正的语言一样,靠的是熟练度,
学得越久用得越多就越熟练,而且会逐渐形成一种思维,而不是短时间的刷题能掌握的。
以我个人来说,是从小学就开始接触程序设计,参加NOIP,到现在几乎是有六七年的经验了,
所以现在不说很熟练,【当然我水平其实本来就不是很厉害……
但至少我能理解那个思想,上手起来也能容易很多。
5. CSP认证
由于个人对这条消息只是听说得来,并没有相关经验,所以具体情况还请问目标学院教务处或其他有经验同学。
这是对于要参加机考的同学可以关注的。
CSP认证听说可以替代机考成绩,
具体聊天记录如下:
免机考门槛是200分,
2020年开始试行,之后应该会出正式的相关政策。
一般每三到六个月会进行一次认证,
具体时间请自己记得查看官网。
点击报名入口,然后勾选CSP认证即可查看。
可以加入学校的CSP认证报名群,里面会发送通知。
群号:960670162
或者加入学校ACM比赛交流群也可以。
群号:671974794
二、备——大一上学年末期x大一下学年
备 —— 合抱之木,生于毫末。
介绍
这个时间段是转专业过程中最关键的时间段,
因为涉及到选课这个重要操作。
选课正确与否直接决定能否转专业成功!
甚至有因为选课错误,即便后面考核阶段通过,也会被拒的情况。
详细情况请查看本文后面的「事件一 —— 必修未修完导致转专业被拒」。
Step. 1 - 注意通知——转专业细则
在大一上学年末期,教务处会发布各学院转专业细则的汇总通知,其通知名的格式为:
「关于公布……年各学院转专业实施细则的通知」
以往通知链接:
- 关于公布2022年各学院转专业实施细则的通知 - 2021/12/18
- 关于公布2021年各学院转专业实施细则的通知 - 2020/12/31
- 关于公布2020年各学院转专业实施细则的通知 - 2019/12/19
- 关于公布2019年各学院转专业实施细则的通知 - 2018/12/18
在通知的附件中会有两校区各学院的转专业细则,
下载后查看目标专业的对应学院细则即可。
详细解读“转专业实施细则”
所有的转专业细则都会包含以下三个与转专业有关的内容:
- 转专业工作领导小组
- 转专业实施细则
- 转专业咨询方式
个人翻阅了2021年所有转专业细则,都包含以上三个内容。
1. 转专业工作领导小组
这个对我们的关系不大,
一般有问题的话是咨询“咨询方式”里留下的联系方式。
2. 转专业实施细则
这个是文件核心内容,
其中一般包括了:
-
转专业要求:
这里都是对转专业的基本要求,一般都是基于《西南交通大学本科生转专业管理办法》所规定的。
比如“要修完原专业已开设课程”或“预修并通过准入课程”等。这一部分请务必仔细阅读并确保理解所转专业的每一条要求!
-
计划录取名额:
写出本次转专业的计划录取名额,看下有个大概印象就行,
有些学院名额跟申请人数差不多;有些则申请人数远超名额。
但转专业都遵循的是宁缺毋滥原则。 -
转专业准入课程明细:
基本的信息如下:
准入课程 - 信息学院 准入课程 - 交运学院 - 有些可能还会有备注成绩要求,不过普遍在要求上都很低,实际上能成功转入的分数可能远远高于要求分数。
- 有些准入课可能没标注年级,这种情况个人认为是大一大二都是这些准入课,但具体情况还请咨询学院教务处。
有些可能是从几个准入课程中选择,这种选课会更加灵活:
准入课程 - 电气学院 准入课程 - 机械学院 准入课程 - 心理中心 有些可能会可以用其他同类型更高级的课程代替:
准入课程 - 建筑学院 - 这种情况一般是高阶高学分的代替低阶低学分的(如数学分析可以向下代替高等数学、高等数学可以向下代替微积分初步),但具体情况还请咨询学院教务处。
其他还可能有一定程度的不同,但基本上都是以上三类别。
有些细则的准入课程明细可能在最后的附件中。
-
转专业考核实施方法:
转专业工作具体要进行哪些方面的考核,如:笔试、机考、英语四六级、面试等。
到时候最终录取名单会根据这些方面的成绩来综合确定。
3. 转专业咨询方式
一般留下的都是各学院教务处的联系方式。
前文也说过,对于转专业遇到的各种问题,
尤其是涉及课程的问题,
最好都咨询这里留下的联系方式!
比如在2021年材料科学与工程学院的转专业细则中,没有具体写明考核实施方法,
对该内容有疑问的同学就可以通过联系方式咨询。
举个例子:
这里假设某同学是2020级,现在为大一上学期,想转入信息科学与技术学院的计算机科学与技术专业。
在大一上学期末的时候,发布了对应的「信息科学与技术学院2021年本科生转专业实施细则」:
说明
在转专业要求中,可以得出如下重要信息:
- 要满足最新的「西南交通大学本科生转专业管理办法」的相关要求
- 要预修并通过相关专业规定的准入课程
- 通过大学英语四级
- 通过信息学院C语言程序设计机考
以及卓越班的选拔工作信息。
说明
查阅对应的2020级的计算机科学与技术的准入课程,要求为三门课程:
- 高等数学Ⅰ
- 高等数学Ⅱ
- 线性代数B
则需要在大二转专业之前将这三门课程修完。
说明
这一部分交代了到时候会考核哪些方面。
可以看出考核内容一共分为5个方面:
- 前一学年(针对2020级大二时)/前两学年(针对2019级大三时)全部必修课程总成绩专业排名
- 专业准入课程成绩
- 英语四级成绩
- C语言程序设计机考成绩
- 专家组面试成绩
简而言之就是:(原专业和准入课)成绩+四级+机考+面试。
最后总成绩是以这5部分综合加权考虑,
如何考虑也不用太关心,反正在每个部分做到尽量最好就行。
有些细则里存在卓越班(詹班、茅班、拔尖班)的增选信息,有关这部分内容个人并不是很了解,
如有需要可以咨询目标学院以了解。
⭐⭐⭐Step. 2 - 选课相关
警告:在选课方面如果有任何疑问,请务必咨询目标学院教务处!
否则因此出现的任何后果需要自负。
在大一下末期的时候,会进行各位第一次的大学选课,
这时候就需要根据之前细则中“准入课程”的要求,选择对应的准入课了。
届时教务处会有相关通知指导选课工作的进行,其通知名的格式为:
「关于做好……学年第……学期选课工作的通知」
同时班群、年级群等通知群里也都会通知。
【如果没有通知那就是班委失职了.jpg……
有关选课系统的说明
本校选课一般分为三次:
- 第一次选课在本学期期末(一般为考试周)进行。
- 第一阶段只能选自己当前专业的优选课(就是按培养计划开设的课)和通识课。
- 该阶段选课会按照“优选班→权重分→随机序号”的顺序,最终确定选课结果,并统一公布结果。
有关权重分这一分配机制的再说明
所谓权重分,就是对于一些限修和选修课程,也就是会有很多专业共同可选这门课的课程,
如果不是优选班,就会根据所有同学投入的权重分排名进行选择(相同的话随机选择)。
权重分每人总共100分,分配完为止。
比如我可以对这门课投70分,对另一门课投30分,之后其他课就只能投0分了。
个人不保证这段说明一定正确,因为个人目前并没有用过权重分机制,如有错误请及时联系我改正。
-
第二次选课也在本学期期末(第一阶段结束过几天就是第二阶段)进行。
- 第二次选课可以任意选择所有课程(包括自己的非优选课)。
- 将取消权重分机制,是实时确定结果的。
即如果某课有空位且不冲突,选择该课就会立刻生效;退课也是立刻生效。
-
第三次选课是在下学期开始(一般为第一二周,会先上课几天)进行。
- 该次选课与第二次一致,用于在开学后再根据自己听课情况等具体情况进行课程调整。
同时,选课的上限是由学分来决定的。
比如我下一学期可以修32学分的课,那么所选的课程加起来最多只能有32学分。
*补充:一学分就代表一个课时,所交的学费也是根据所选学分来确定的。
这里针对转专业同学进行几点额外重要说明:
-
正常课程是分学期开设的。比如一般高数Ⅰ只会在上学期开设,而高数Ⅱ则只会在下学期。
但部分课程存在重修班,其跟平时的班一样也可以作为准入课修读,但重修班一般在第三阶段选课才会出现。比如大一下正常只能修高数Ⅱ的准入课,但在第三阶段选课时会有高数Ⅰ的重修班,这个时候选上就能修高数Ⅰ的准入课了。
-
关于通识课:
由于要选准入课通常学分比较紧张,并且不同学科的通识课要求可能不同,
所以最好在转专业阶段不要选择通识课,等转专业完成再选择。 -
一般大一下学期的最高可修学分,会比其他时段都少一些。
因此可能会造成同时选必修课和准入课则学分不够的情况。这一情况可以去尝试申请“超学分”。
-
如果某一门转入课程所开设的所有班级都没有空闲时间去修读。
这一情况可以去尝试申请“冲突选课”。
-
如果某一门转入课程所开设的所有班级都人数已满,
这一情况可以去尝试申请“课程扩容”。
-
如果准入课是可选的,最好选择那些比较基础的学科,比如高数等。
这样即便转专业失败,对自己的影响也是最小的。 -
⭐需要注意:有些课程可能是针对茅班、詹班等卓越班开设的,
这类课程的难度可能会偏大,且听说考试也会增加难度。
因此在非必要情况下请不要错选到卓越班课程。可以看见普通班和茅班的区别只在班级信息上:
写了(茅班)等注明的为卓越班,没写的为普通班。注:不一定所有卓越班教学内容和难度不一样,以个人经历来说高数上是不一样的,而概率论又是一样的,建议找任课老师问清楚。
再次强调:
如果出现课程问题,并且相应手段(超学分、冲突选课、课程扩容)申请失败的话,请务必咨询目标学院教务处该如何处理!
比如询问:是否能退掉原课程选择准入课?如果这门准入课无法修读该如何处理?
举个例子:
这里以“2020年第二学期选课”为例进行说明:
(也就是个人大一下的第一次选课)
这此选课中因为只能选优选班和通识课,
而前面说过通识课最好不要选择。
所以这阶段只用把所能选的所有优选班课程选上即可,
权重分根据自己实际情况投。(这个就是正常选课的操作了,而不是转专业独有的,而且一般大一下选课用不到权重分)
这个阶段则需要根据准入课去增选相应课程了。
如果不会出现学分问题的话,直接增选所有需要修的准入课即可。
出现超学分或课程冲突问题,且无法用一般方法解决,
请务必咨询目标学院教务处,不要擅自决定。
这个时候就是给自己调整的机会,
如果发现课程选择有误(没有选齐原专业必修课和准入课),则及时进行调整。
同时可以根据第一次课听课情况,对讲课老师的第一印象,
决定是否要更换班级。
课程相关事务说明
课程扩容
当某课程所有班级都满员后,可以去找任课老师申请课程扩容。
虽然“课程扩容”并没有明确的通知和文件规定,
但一般老师都会同意的,所以并不是什么难事请放心。
【我都忘了我是从哪听到这一操作的了orz,如果有找到明确通知和文件的同学欢迎跟我提出!……
申请流程
在教务处的“教师信息查询”页面,输入你想要申请扩容班级的任课老师,然后查询,
再点击“详细信息”,可以查看该教师的信息。
一般来说信息只会有电子邮箱,
接下来我们就通过这个邮箱来联系老师。
如果有手机,也可以发短信提出申请。
效果可能比邮件好(因为能及时看到)。
同时在信息服务平台的“教学邮箱”中,可以直接找到所有老师的教学邮箱。
需要注意:这个教学邮箱老师可能不会经常回复。
老师如果回复同意后,一般会让你写书面申请然后给他签字,最后再交到指定地方完成课程扩容。
书面申请一般就简短的写:「因为转专业原因需要学习该课程,但因人数已满故提出课程扩容申请」之类的,
然后根据老师要求执行就行。
注意课程扩容只是扩个容,还是需要自己去选课的。
交到指定老师处后他会给你说好久扩容成功,到时候注意选择就行。
【按概率来说应该不会出现刚扩容成功就被别人选走的情况吧【【……
一般老师可能不会及时回复邮件,(特别是教学邮箱)
【个人这里有位老师在教学邮箱里过了8天才回复……
所以可以同时找多个老师同时提出申请。(个人就找了三位老师一起提出了申请)
【不过到时候怎么处理其他老师的答复就看自己的了……
需要注意:
整个课程扩容过程必须在选课阶段完成,所以请根据选课时间段进行合理安排。
避免出现老师回复时间过长导致申请扩容后却不能选课的情况。
如果所问的老师实在都没回复,可以考虑找对应班级的同学询问老师的联系方式、或去老师所在学院的教务处询问信息等方法。
【总之办法是自己想出来的,转专业要处理的事可远不止这些啊【拍……
超学分
需要注意:
超学分申请并没有明确通知和文件规定其操作流程,
并且原作者也并没有成功申请超学分。
所以对该申请项的成功率不予保证。
针对同时选原专业课和准入课会超过学分上限的同学来说,可以去尝试一下申请超学分。
申请流程
超学分选课申请表在“教务处 - 表格文档”中搜索“超学分”,
可以找到“超学分选课申请表”。
或者在教学服务网上办事平台也可以看到超学分选课的申请,
【但可以看见这里面相关规章制度都是空的,所以就很迷惑【……
按照表格要求填写好表格后,
需要在“导师意见”和“院系意见”处分别找班导师和教务处老师进行签字。
可能部分班级不存在班导师(比如个人原来的班级就没有班导师),这个时候可以去交表的地方(教务处排课中心 - 综合楼222)去询问一下。
填写完毕后,到表格所写的“教务处排课中心综合楼222”交上表格。
之后的流程请听那边的老师安排或者去询问,个人并不是很清楚。
因为不存在明确通知,有关超学分申请存在疑惑可以找辅导员、学院教务处或者教务处排课中心咨询一下。
表格中提到截止时间为“每学期开学第一周周五前”。
其他建议
1. 英语六级
对于部分要求英语四级的专业,
其实六级的情况也是会有影响的。(在申请的时候有填写栏,并且面试的时候可能会问)
所以多准备一下六级考试也是准没错的。
四级和六级虽然感觉上会难很多,
但其实差异不是特别大,
稍微准备一下的话过应该都是没问题的。
2. CSP认证
在之前已经讲过了,
只是再提醒一下大一下一般还有一次考试机会,注意关注。
二.Ex、大一至大二的暑假
将这个时间段单独提出来说,
主要是转专业是在这个时间段去申请的。
需要注意的通知
在暑假的时间里,会发送关于正式开展转专业工作的通知。
请注意关注教务网或者相关通知群里的消息,避免错过申请。
当然可申请时间也很长,不用太着急就是。
1. 「关于……年本科生转专业相关工作的通知」
一般在暑假早期就会发送转专业通知。
这则通知会介绍的内容有:
- 网上申请方式
- 时间安排
- 申请年级及相关要求
可以看到都有很详细的介绍,所以按照通知流程进行就行,这里就不再详细介绍了。
以往通知链接:
- 关于开展2022年本科生转专业相关工作的通知 - 2022/7/11
- 关于开展2021年本科生转专业相关工作的通知 - 2021/7/23
- 关于2020年本科生转专业相关工作的通知 - 2020/7/15
- 关于2019年本科生转专业相关工作的通知 - 2019/7/11
*2. 「关于……年本科生转专业工作时间调整的通知」
有可能因为疫情等原因,转专业工作时间出现时间变动。
最主要可能是因为返校延期,所以会导致转专业时间变动,
如果各位也有延迟返校情况的话,注意看教务有没有相关通知就行。
以往通知链接:
- 关于调整2022年本科生转专业考核时间的通知 - 2022/8/24
- 关于2021年本科生转专业工作时间调整的通知 - 2021/8/27
三、行——大二上学年
行 —— 尽情展翅高飞吧、姬雏鸟!
进行阶段
转专业进行的过程都会有很明确的通知,
一般来说会以短信的形式进行通知,同时在目标学院教务处也会发送通知,
按照通知流程进行就行。
【如果在哪一阶段没有收到任何通知,那么很遗憾,极大可能是自己已经被刷下来了……
这里主要把各类考核列举一下,同时提供之前的样例供大家准备。
Step. 1 - 初审
在暑假提交转专业申请后,会对你个人进行初步的审核,
具体方式这里也不清楚,估计应该是以原专业课和准入课的成绩来审核。
这一步中便会筛选出部分同学,再进行之后的考核工作。
Step. 2 - 各种考核
如果初审通过,则会收到短信通知,代表拥有进一步考核的资格,
届时便请按照流程,一步步进行考核。
笔试
由于个人转专业没有笔试环节,以下只提供由其他转专业同学分享的经验与例题
2022年 - 交通运输与物流学院 笔试大致题目
该部分内容来自于以下同学的贡献:
- 一道很难的高数题
- 几道有关学习习惯的选择题
- 全国的23个省、5个直辖市、5个自治区、2个特别行政区名称,及省会首府名称
- 独立宣言节选的英译汉
- 一份300字申请书
- 关于交通工程的发展现状和负面影响
机考
机考,全称“C语言程序设计机考”,
主要考察C语言的掌握情况。
其考察范围到文件为止,
并且不涉及对算法的考察,只考察基本的语言熟练程度。
具体考察范围可以去购买一本《C语言程序设计基础》,从目录里看,一直到链表之前的内容就是考试范围。
如果之前有程序设计经验,比如参加过NOIP信息学竞赛等,那应该机考问题不大。
需要注意:
机考原则上要求的是用C语言编写。
但大部分之前有经验的同学可能用的都是C++,
而C++与C还是有一定区别的,
有些区别甚至很怪,如果不事先去了解的话可能并不会知道错哪了。
虽然个人在考试过程中,听到老师说“如果实在只会写C++,那就先用C++写着”这一说法,
但个人还是建议不要冒这个险,或者具体情况请问好老师再决定。
总结一下C与C++在机考范围内的常见区别
注意这里所总结的只能保证对于机考来说尽量全面,如果不放心还请看书去了解。
在C++中存在,而C没有的机考常用特性:
- 数据类型:
bool
、string
,以及其他的STL库的容器。 - 输入输出函数:
cin
、cout
- 有关内存分配的运算符:
new
、delete
注:C中内存分配运算符为malloc
和free
,有关这两个的使用方式请翻阅相关资料。【注意链表会考这两个东西哦!……
- 引用:
&
在C中不存在。 - 有关
for
循环:C中不能直接在for
中定义变量。
也就是for (int i=1; ...)
是不允许的,只能int i; for (i=1; ...)
。
C++的头文件格式一般为cstdio
、cstring
、cmath
等cxxx
,
而C的头文件格式为stdio.h
、string.h
、math.h
等xxx.h
。
特别提醒:
C++中的万能头文件bits/stdc++.h
,在C里面不存在!
【所以一直在C++里偷懒没背头文件的同学可要去背一下了xd……
用strcut {...} typeName
定义的结构体类型,
在C++中可以直接用类型名定义变量;
而C中前面必须加上struct
。
C
struct studentType
{
int ID, score;
char name[10];
};
struct studentType stu;
C++
struct studentType
{
int ID, score;
char name[10];
};
studentType stu;
同时,在C++中strcut
内可以带函数,
而C中的struct
仅能有数据。
2021年 - 信息科学与技术学院(和未拆分的计算机与人工智能学院) 机考例题
【我知道你们最关心的其实就是有没有样题.jpg……
个人将我参加机考时的题目稍微记了下,在这里写出来供大家参考。
顺序并不代表题目难度。
本来机考是6道题,但个人实在想不起来最后一道题,但难度肯定不会很大。【不然我怎么会想不起来呢2333……
题目
不断输入一个四字成语,判断其首字跟上一个输入的成语的末字是否相同,
如果相同则一直判断下去,直到判断出不相同则终止判断。
第一次输入会给出两个成语,判断第二个的首字与第一个的末字是否相同。
输入输出样例
第一组
输入
国士无双
双立直
直暴雪月花
花风月雪
雪碧
碧蓝幻想
想玩最终幻想十四六点零
铃原露露
输出
正确,请继续输入
正确,请继续输入
正确,请继续输入
正确,请继续输入
正确,请继续输入
正确,请继续输入
错误,游戏结束
第二组
输入
情人节什么的没啥兴趣啊
没啥兴趣是骗你的
输出
错误,游戏结束
分析与标程
考点:
- 字符串处理
没什么好说的吧,就用两个字符串while
判断就行。
但需要注意的是:
同时对于中文的处理,一个中文是占两个char空间的(这个题目中提醒了的),
所以判断条件为str1[len-2]==str2[0] && str1[len-1]==str2[1]
。
同时C中没有string
,要用char []
,
标准代码:
#include <stdio.h>
#include <string.h>
int main()
{
char str1[100], str2[100];
scanf("%s%s", str1, str2);
while (str1[strlen(str1) - 2] == str2[0] && str1[strlen(str1) - 1] == str2[1])
{
printf("正确,请继续输入\n");
strcpy(str1, str2);
scanf("%s", str2);
}
printf("错误,游戏结束");
}
题目
因为个人记不清这道题原题如何,不保证此题的数学原理一定正确,如有错误请指正。
对于一个数$A$,求其立方根,可以用牛顿迭代法算。
其公式为:
$$x_{n+1}=x_n+\frac{1}{3}(\frac{A}{x_n^2}-x_n)$$
其中$x_1$可以取任何数(存疑),
在这里我们规定取为$A$。
当$x_{n+1}$和$x_n$相差不超过$10^{-6}$时,
将$x_{n+1}$作为立方根结果输出。
输入输出样例
第一组
输入
233
输出
6.153449
分析和标程
考点:
- 迭代
按照题目要求不断迭代就行。
需要注意:C中math.h
里的abs
对于浮点数无效,需要使用fabs
来求浮点数的绝对值。
标准代码:
#include <stdio.h>
#include <math.h>
double f(double x, double x_old)
{
return x_old + (x / x_old / x_old - x_old) / 3.0;
}
int main()
{
double x;
scanf("%lf", &x);
double x_old = x, x_new = f(x, x_old);
while (fabs(x_old - x_new) >= 1e-6)
x_old = x_new, x_new = f(x, x_old);
printf("%lf", x_new);
return 0;
}
题目
给定一个字符c
,限定为一个大写字母
打印出一个恰出现该字符的字母金字塔。
金字塔第$i$层是由以大写字母表顺序第$i$个位的回文串,
例如第$5$层即为ABCDEDCBA
。
如对题意不了解请看输入输出样例。
输入输出样例
第一组
输入
5
输出
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
第二组
输入
8
输出
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
ABCDEFGFEDCBA
ABCDEFGHGFEDCBA
分析与标程
无分析,直接std。
#include <stdio.h>
int main()
{
int n, i, j;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n - i; j++)
printf(" ");
for (j = 1; j <= i; j++)
printf("%c", j + 'A' - 1);
for (j = i - 1; j >= 1; j--)
printf("%c", j + 'A' - 1);
printf("\n");
}
}
题目
用指针的方式来实现动态数组。
动态数组:即没有事先申明数组大小的数组,根据数组个数动态分配空间来存储。
刚开始会先读入数据个数$n$,并读入这$n$个整数,
请初始化该动态数组,并将数据存入到动态数组中。
接下来将一直读入整数,直到读入到0为止,
需将读入的所有有效数据(即除去最后的0)存放到该动态数组中。
当读入完毕,分别统计该数组大于零和小于零元素的个数,并将其输出。
输入输出样例
第一组
输入
5
-1 3 2 0 1
1 3 -1 -1 0
输出
大于0的元素有: 5
小于0的元素有: 3
第二组
输入
0
4 5 -1 3 6 -1 7 0
输出
大于0的元素有: 5
小于0的元素有: 2
分析与标程
考点:
- 内存分配
- 指针表示数组
主要需要掌握malloc
和realloc
两个函数来实现动态数组,
具体使用方法可以看书或其他资料,这里就不再具体讲解了。
虽然这题可以完全不用数组来做(直接边读入边统计),但听说老师不仅只看机器评分,还会看你的程序实现方式。所以为了保险起见请严格按照题目要求做。
标准代码
#include <malloc.h>
#include <stdio.h>
int main()
{
int n, i, cnt = 0; //cnt统计数组元素个数
scanf("%d", &n), cnt = n;
int *array = (int *)malloc(sizeof(int) * n); //初始化:给动态数组分配n个int类型的内存
for (i = 0; i < n; i++)
scanf("%d", array + i);
//接下来将一直读入到0为止
int num;
scanf("%d", &num);
while (num != 0)
{
array = (int *)realloc(array, sizeof(int) * (++cnt)); //动态数组重新分配内存,增加一个int类型的内存
array[cnt - 1] = num;
scanf("%d", &num);
}
//统计大于小于0元素个数
int less = 0, great = 0;
for (int i = 0; i < cnt; i++)
if (array[i] > 0)
great++;
else if (array[i] < 0)
less++;
printf("大于0的元素有: %d\n小于0的元素有: %d", great, less);
}
题目
用链表结构来实现一个学生管理系统。
该系统需要储存学生的学号和成绩两个信息,
并支持“创建(初始化)”、“插入”和“删除并清空内存”三个基本操作。
刚开始创建学生系统,
需要读入第一个学生的学号和成绩,
然后输入Y
以继续创建学生,输入其他字符终止创建。
然后开始插入一位学生。
先读入插入学生的学号和成绩,
然后读入插入位置,输入要将其插入到学号为多少的学生之后,其中-1
代表插入到最前,
若插入位置的学号不存在,则插入到最后。
插入完成后输出所有学生信息。
然后开始删除一位学生。
输入删除学生的学号,
若存在该学号学生,则输出该学生成绩并从系统中删除和清空内存,
否则输出未找到该学生。
具体输入输出格式看后样例。
输入输出样例
由于为交互式程序,所以将输入与输出合并,并在输入部分前标上>
来表示为输入。
第一组
请输入学生学号和成绩:
> 1 100
创建成功,请输入"Y"继续创建,输入其他字符进入下一步。
> Y
请输入学生学号和成绩:
> 2 98
创建成功,请输入"Y"继续创建,输入其他字符进入下一步。
> Y
请输入学生学号和成绩:
> 3 77
创建成功,请输入"Y"继续创建,输入其他字符进入下一步。
> n
请输入插入学生的学号和成绩:
> 5 96
请输入要将该学生插入到哪位学生之后(输入其学号,-1代表插入到最前面):
> 2
插入成功。
当前所有学生信息如下:
学号:1 成绩:100
学号:2 成绩:98
学号:5 成绩:96
学号:3 成绩:77
请输入要删除学生的学号:
> 2
被删除的学生的成绩为:98
当前所有学生信息如下:
学号:1 成绩:100
学号:5 成绩:96
学号:3 成绩:77
第二组
请输入学生学号和成绩:
> 3 199
创建成功,请输入"Y"继续创建,输入其他字符进入下一步。
> Y
请输入学生学号和成绩:
> 2 188
创建成功,请输入"Y"继续创建,输入其他字符进入下一步。
> n
请输入插入学生的学号和成绩:
> 9 100
请输入要将该学生插入到哪位学生之后(输入其学号,-1代表插入到最前面):
> -1
插入成功。
当前所有学生信息如下:
学号:9 成绩:100
学号:3 成绩:199
学号:2 成绩:188
请输入要删除学生的学号:
> 2
被删除的学生的成绩为:188
当前所有学生信息如下:
学号:9 成绩:100
学号:3 成绩:199
第三组
输入学生学号和成绩:
> 1 100
创建成功,请输入"Y"继续创建,输入其他字符进入下一步。
> n
请输入插入学生的学号和成绩:
> 2 99
请输入要将该学生插入到哪位学生之后(输入其学号,-1代表插入到最前面):
> 233
没有找到该学号学生,将插入到最后。
插入成功。
当前所有学生信息如下:
学号:1 成绩:100
学号:2 成绩:99
请输入要删除学生的学号:
> 233
未找到该学生
当前所有学生信息如下:
学号:1 成绩:100
学号:2 成绩:99
分析与标程
考点:
- 链表
- 内存分配
标准的链表操作。
有关链表部分可以看书学习,
这部分考中的比例还是很大的。【因为最难的差不多就这个了……
提醒:
free()
后的指针并不会置为NULL
,且原地址的数据会保留(只是释放个占用标记而已)
所以发现free()
后数据仍在存在(甚至可以访问),并不是没有成功释放,请不要在这担心。
#include <stdio.h>
#include <malloc.h>
struct typeStudent
{
int ID, grade;
struct typeStudent *next;
} *stu;
void create()
{
stu = (struct typeStudent *)malloc(sizeof(struct typeStudent)); //分配头节点
struct typeStudent *pnt = stu;
int _ID, _grade;
char cmd;
printf("请输入学生学号和成绩:\n");
scanf("%d%d", &_ID, &_grade);
pnt->next = (struct typeStudent *)malloc(sizeof(struct typeStudent));
pnt->next->ID = _ID, pnt->next->grade = _grade;
pnt = pnt->next;
printf("创建成功,请输入\"Y\"继续创建,输入其他字符进入下一步。\n");
//以下为循环创建
cmd = getchar(), cmd = getchar(); //需要注意:回车也算一个字符,所以需要连续两次getchar()
while (cmd == 'Y')
{
printf("请输入学生学号和成绩:\n");
scanf("%d%d", &_ID, &_grade);
pnt->next = (struct typeStudent *)malloc(sizeof(struct typeStudent));
pnt->next->ID = _ID, pnt->next->grade = _grade;
pnt = pnt->next;
printf("创建成功,请输入\"Y\"继续创建,输入其他字符进入下一步。\n");
cmd = getchar(), cmd = getchar();
}
pnt->next = NULL; //末节点后继设为空
}
void insert(int insert_ID, int _ID, int _grade)
{
if (insert_ID == -1) //插入为第一个节点
{
struct typeStudent *ins = (struct typeStudent *)malloc(sizeof(struct typeStudent));
ins->ID = _ID, ins->grade = _grade;
ins->next = stu->next, stu->next = ins;
printf("插入成功。\n");
return;
}
struct typeStudent *pnt = stu->next;
while (pnt->next != NULL && pnt->ID != insert_ID)
pnt = pnt->next;
if (pnt->ID != insert_ID)
printf("没有找到该学号学生,将插入到最后。\n");
//找到位置,开始插入
struct typeStudent *ins = (struct typeStudent *)malloc(sizeof(struct typeStudent));
ins->ID = _ID, ins->grade = _grade;
ins->next = pnt->next, pnt->next = ins;
printf("插入成功。\n");
}
void print()
{
struct typeStudent *pnt = stu->next;
while (pnt != NULL)
printf("学号:%d 成绩:%d\n", pnt->ID, pnt->grade), pnt = pnt->next;
}
void delete (int del_ID)
{
struct typeStudent *pnt = stu->next, *pnt_prv = stu;
while (pnt != NULL && pnt->ID != del_ID)
pnt = pnt->next, pnt_prv = pnt_prv->next;
if (pnt == NULL)
printf("未找到该学生\n");
else
{
printf("被删除的学生的成绩为:%d\n", pnt->grade);
pnt_prv->next = pnt->next;
free(pnt); //释放内存语句
}
}
int main()
{
//创建操作
create();
//插入操作
int ins_ID, ins_grade, after_ID;
printf("请输入插入学生的学号和成绩:\n");
scanf("%d%d", &ins_ID, &ins_grade);
printf("请输入要将该学生插入到哪位学生之后(输入其学号,-1代表插入到最前面):\n");
scanf("%d", &after_ID);
insert(after_ID, ins_ID, ins_grade);
//输出信息
printf("当前所有学生信息如下:\n");
print();
//删除操作
int del_ID;
printf("请输入要删除学生的学号:\n");
scanf("%d", &del_ID);
delete (del_ID);
//输出信息
printf("当前所有学生信息如下:\n");
print();
}
2022年 - 计算机与人工智能学院 机考例题
该部分内容来自于以下同学的贡献:

QQ: 2013519188

QQ: 393669798

QQ: 522908199

QQ: 1617773893
2022年由于疫情,机考是在线上进行,且是以笔试的形式进行(代码手写拍照提交),与2021年的进行方式与题型存在区别。
题目
有一序列$f(n)$,其中第一项$f(1)=2$、第二项$f(2)=3$,其余项按如下规则生成:
- 若序列的最后两项的乘积为一位数,则该一位数即为后续项。
如:$f(i)=2, f(i+1)=4$,$\because f(i)\times f(i+1)=8$为一位数,$\therefore f(i+2)=8$ - 若序列的最后两项的乘积为两位数,则该两位数的十位数字和十位数字分别为后续项的连续两项两项。
如:$f(i)=4, f(i+1)=6$,$\because f(i)\times f(i+1)=24$为两位数,$\therefore f(i+2)=2, f(i+3)=4$
要求:直接输出序列的$100$项,每行$10$项,输出格式为%2d
。
输入输出样例
无输入且输出固定,故不提供样例。
分析与标程
考点:
- 模拟
就是不断地算最后两位,再判断输出哪种情况,然后存储到数组中,
直到算到超过$f(100)$即终止模拟并输出。
标准代码:
#include <stdio.h>
int f[105]; // 记得多开一点空间,别刚好开101个到f[100](有可能f[98]*f[99]为两位数赋值到f[101]溢出)
int main()
{
f[1] = 2, f[2] = 3;
// 开始模拟
int i = 2; // i在这里代表计算出的最后一位
while (i <= 100) // 由于即可能计算出两位i+2,也可能计算出一位i+1,故i在循环体中改变用while
{
int calc = f[i - 1] * f[i];
if (calc / 10 != 0) // 判断为两位数 → f(i+1)=十位, f(i+2)=个位
f[i + 1] = calc / 10, f[i + 2] = calc % 10, i += 2;
else // 否则为一位数
f[i + 1] = calc, i += 1;
}
// 模拟完成,开始输出
for (i = 1; i <= 100; i++)
{
printf("%2d", f[i]);
if (i % 10 == 0) // 代表输出了10个
printf("\n");
}
return 0;
}
题目
有一任务如下:
从键盘输入一字符串(长度不超过$80$个字符),
需要将串中连续相同的字符只保留一个,并生成新的字符串,
最后输出生成的新字符串。
要求编写程序完成上述任务,并使用所要求的一函数,其定义如下:
void cvt(char *s, char *t);
输入输出样例
第一组
输入
Input a string: aabbccccstbbbbaaaaa
注:Input a string:
是提前输出到屏幕上的,非输入内容,下同。
输出
abcstba
第二组
输入
Input a string: ssssstttttaaass
输出
stas
分析与标程
考点:
- 字符串操作
- 函数的理解与编写
本题首先需要知道怎么满足题目要求——字符串去重,注意到只去除连续的相同字符,
简单的一个方法是:从头到尾遍历原字符串,用一字符变量now
记录当前遍历到的字符,prev
记录上一个字符,
然后判断now != prev ?
,如果不等于就添加到新字符串中;否则是连续相同、不添加。
其次要理解题目给出的函数的意图,按函数最重要两要素分析:
- 函数输入(参数) - 有两个参数,都是字符串类型,且为传地址,会改变外部传入变量值。
- 函数输出(返回值) - 为
void
,没有返回值。
因此可以分析出:这个函数的作用是把s
字符串作为原字符串,在内部进行去重操作,生成的新字符串存放到t
字符串中。
而读入和输出操作,是在函数外进行的,相当于main
里就三句话:读入、调用函数、输出。
标准代码:
#include <stdio.h>
#include <string.h>
void cvt(char *s, char *t) // s作为原字符串,t作为新字符串
{
char now, prev = 0; // prev需要先赋初值为0('\0'),防止脏数据与now相同产生错误
int i, j = 0, len = strlen(s); // i代表原字符串s遍历的下标,j代表生成新字符串t最后的下标,len是s的长度
for (i = 0; i < len; i++) // 遍历s字符串
{
now = s[i];
if (now != prev) // now不等于prev,为新字符不重复,添加到t中s
t[j] = now, prev = now, j++;
}
}
char s[85], t[85]; // 同样,字符串长度最大80,就多开点为85
int main()
{
printf("Input a string: "), scanf("%s", s); // 读入
cvt(s, t); // 调用函数
printf("%s", t); // 输出
return 0;
}
题目
给定一个$m$行$n$列的整数矩阵$A$,编写一函数,以该矩阵$A$作为参数,按顺序实现以下功能:
- 将矩阵$A$的每行元素,按从小到大顺序排序存储。
- 第一步完成后,将各行按第$1$列元素为关键字,按关键字从小到大次序存储各行。
要求止写出函数(即不用写出矩阵的读入和输出,矩阵$A$是已知的参数),可以定义其他辅助元素。
假定$m$、$n$均已用#define
定义为整数常量(即可以直接使用m,n
)。
样例数据
注:该题没有输入输出,下面的数据只是表示矩阵$A$作为参数调用写出的函数后,变化的新矩阵$A’$。
第一组
示例原矩阵
3 -5 12 -7
8 -2 10 6
-9 5 5 0
经函数处理后的新矩阵
-9 0 5 5
-7 -5 3 12
-2 6 8 10
说明:原矩阵经函数处理时,第一步会先变成如下的矩阵,再在第二步变为最终的新矩阵。(后不再给出中间过程)
-7 -5 3 12
-2 6 8 10
-9 0 5 5
第二组
示例原矩阵
3 2 1
-1 0 -2
0 0 -9
经函数处理后的新矩阵
-9 0 0
-2 0 -1
1 2 3
分析与标程
考点:
- 排序的简单实现
- 二维数组的处理
- 函数的定义与设计
主要考察排序的实现,简单的冒泡或者插入即可。
【感觉也没别的什么讲了,看程序吧……
标准代码(仅给出函数):
void swap(int *a, int *b) { *a ^= *b = (*a ^= *b) ^ *b; } // 辅助函数swap,用于交换两数(实现可随便用简单的方法【真正考试可不建议这么写看不懂会被打的xd……
void sort(int a[m][n]) // 用以实现题目所给的要求
{
int x, y, i, j;
// 步骤1 - 每一行升序排序(插入排序)
for (x = 0; x < m; x++) // 每行遍历
// 插入排序部分
for (i = 0; i < n - 1; i++)
for (j = i + 1; j < n; j++)
if (a[x][i] > a[x][j])
swap(&a[x][i], &a[x][j]);
// 步骤2 - 各行按照第一列为关键字升序排序(需注意交换是一整行交换)
for (i = 0; i < m - 1; i++)
for (j = i + 1; j < m; j++)
// 如果某一行第一列 > 另一行第一列,交换
if (a[i][0] > a[j][0])
for (y = 0; y < n; y++) // 两行各元素都进行交换
swap(&a[i][y], &a[j][y]);
}
完整程序代码(可用作测试):
#include <stdio.h>
#define m 3
#define n 4
void swap(int *a, int *b) { *a ^= *b = (*a ^= *b) ^ *b; } // 辅助函数swap,用于交换两数(实现可随便用简单的方法)
void sort(int a[m][n])
{
int x, y, i, j;
// 步骤1 - 每一行升序排序(插入排序)
for (x = 0; x < m; x++)
for (i = 0; i < n - 1; i++)
for (j = i + 1; j < n; j++)
if (a[x][i] > a[x][j])
swap(&a[x][i], &a[x][j]);
// 步骤2 - 各行按照第一列为关键字升序排序(需注意交换是一整行交换)
for (i = 0; i < m - 1; i++)
for (j = i + 1; j < m; j++)
if (a[i][0] > a[j][0])
for (y = 0; y < n; y++) // 两行进行交换
swap(&a[i][y], &a[j][y]);
}
int a[m][n];
int main()
{
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
scanf("%d", &a[i][j]);
sort(a);
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
printf("%3d", a[i][j]);
printf("\n");
}
return 0;
}
题目
给定自然数$n$,定义函数$f(n)$如下:
- $f(0)=0,\quad f(1)=1$
- $f(2n)=f(n)$
- $f(2n+1)=f(n)+f(2n-1)$
根据要求写出下面两个函数:
- 定义递归函数,计算$f(n)$
- 定于非递归(即递推)函数,计算$f(n)$
输入输出样例
注:本题只要求给出函数,下面的输入输出只供验证。
第一组
输入
450
输出
36500
第二组
输入
0
输出
0
分析与标程
考点:
- 递归与递推
这个其实有点涉及算法了(递归思维),但这个也是在「C 语言程序设计基础」这书上讲到过的(P197 - 函数章节的“函数嵌套调用”)。
首先需要分析出$2n$和$2n+1$代表的含义:前者代表偶数,后者代表奇数(这个应该很好理解吧),
然后递归的运用和递推的转化的话,平时多练的话应该不会很难吧,直接看代码吧。
标准代码:
/* 1. 递归版本 */
int f_recursion(int n) // 在递归计算时,最好利用数组记录计算过程中的结果,防止重复计算某一元素(如求f(4)需要计算f(2)、求f(5)也需要计算f(2))
// 但这里只要求给出函数,所以直接return即可(如果给完整程序就可以利用数组f记录)
{
if (n == 0) // f(0)=0
return 0;
else if (n == 1) // f(1)=1
return 1;
else if (n % 2 == 0) // 为偶数,f(2n)=f(n) → f(n)=f(n/2)
return f_recursion(n / 2);
else // 为奇数,f(2n+1)=f(n)+f(2n-1) → f(n)=f((n-1)/2)+f(n-2)
return f_recursion((n - 1) / 2) + f_recursion(n - 2);
}
/* 递推版本 */
int f[10005];
int f_iteration(int n) // 根据递推式可以发现:从n=1开始不断,f(n)和f(2n-1)都是会在之前的递推中计算出来(n=1时f(n)和f(2n-1)都是f(1))
// 所以可以从n=1开始,不断加1然后递推
{
int now = 1; // 代表上面提到的n=1开始
f[0] = 0, f[1] = 1;
while (n != 0 && f[n] == 0) // 根据关系式可以推出:除了f(0)外所有元素非0,所以可以用f[n]==0表示f(n)还未被计算出来
{
f[2 * now] = f[now];
f[2 * now + 1] = f[now] + f[2 * now - 1];
now++;
}
return f[n];
}
【又是你,学生管理系统!……
题目
通过文件"a.txt"输入若干行学号、姓名、成绩,将每个学生信息存储于单向链表结点,
要求节点连接次序为成绩由大到小次序。
将结点按连接次序输出到文件"b.txt"。
输入文件"a.txt"中,数据的分隔符为空格和换行。
输出格式自拟(即可以输出为一张表格(加上制表符),也可以只对齐输出,甚至只用一个空格隔开不对齐输出也可以)。
输入输出文件样例
输出格式将采用不对齐直接输出。
第一组
“a.txt"输入文件内容
1001 张三 72
1002 王晓华 80
1003 Alice 55
1004 欧阳文修 95
“b.txt"输出文件内容
1004 欧阳文修 95
1002 王晓华 80
1001 张三 72
1003 Alice 55
第二组
“a.txt"输入文件内容
1001 李华 86
1002 swz 77
1003 小明 23
1004 徐铭涛 45
“b.txt"输出文件内容
1001 李华 86
1002 swz 77
1004 徐铭涛 45
1003 小明 23
分析与标程
考点:
- 链表
- 文件
- 排序
【这里竟然考到文件了!Σ(っ °Д °;)っ很抱歉之前问我文件考不考的同学我说的都是可能性不大orz……
但文件也很简单,只用记住下面代码里的四句话就行(freopen
和fclose
)。
又是必考内容链表了,有重视的话应该都练了很多了也比较熟悉了。
这里题目对排序的方式没有严格规定:
可以先把所有数据暂时读到一个结构体数组中,进行结构体数组的排序,然后依次插入到链表;
也可以就把所有数据存在链表中,然后对链表进行排序(涉及链表结点交换操作)。
这里采用后者较难的方法,更考察对链表的操作能力。
标准代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct StudentType
{
int id;
char name[50];
int score;
struct StudentType *next;
};
typedef struct StudentType *NodeType; // 从今以后,"NodeType"代表的就是"struct StudentType *"!
// 向链表插入一结点
// 参数:insNode为插入的结点,posNode为插入位置的前驱(插入后posNode为insNode的前驱)
void insert(NodeType insNode, NodeType posNode_prev)
{
insNode->next = posNode_prev->next;
posNode_prev->next = insNode;
}
// 交换链表中的两结点
// 参数:为要交换的两结点各自的**前驱结点**
void swap(NodeType aNode_prev, NodeType bNode_prev)
{
if (aNode_prev == bNode_prev) // 代表要交换的结点相同,直接return
return;
NodeType aNode = aNode_prev->next, bNode = bNode_prev->next, aNode_next = aNode->next;
if (aNode->next == bNode || bNode->next == aNode) // 两结点相邻,交换方式与不相邻的方式不一样
{
aNode->next = bNode->next;
bNode->next = aNode;
aNode_prev->next = bNode;
}
else
{
aNode->next = bNode->next;
bNode->next = aNode_next;
aNode_prev->next = bNode_prev->next;
bNode_prev->next = aNode;
}
}
int main()
{
freopen("a.txt", "r", stdin);
freopen("b.txt", "w", stdout);
// 其实文件就用这两句话加上最后的两句fclose就行了,后面scanf/printf照常用就行了
NodeType head = (NodeType)malloc(sizeof(struct StudentType)); // 分配链表头结点
head->next = NULL;
NodeType now = head; // now指向当前链表最后一个结点(初始为头结点)
int _id, _score;
char _name[50];
/* 插入操作部分 */
while (scanf("%d%s%d", &_id, _name, &_score) != EOF) // 这是未指定数据量读入的通用方法,需要记住
{
NodeType tmp = (NodeType)malloc(sizeof(struct StudentType));
tmp->id = _id, strcpy(tmp->name, _name), tmp->score = _score;
insert(tmp, now); // 插入结点
now = now->next; // 将now后移,保持指向最后一个结点
}
/* 排序操作部分 */
// 链表直接排序跟数组排序类似,这里采用插入排序,用两个结点遍历比较即可。
#define node_i node_i_prev->next // 由于交换的时候用前驱,for里就用前驱,define一个->next简化书写
#define node_j node_j_prev->next
NodeType node_i_prev, next_i, node_j_prev, next_j, tmp;
for (node_i_prev = head, next_i = node_i; node_i->next != NULL; node_i_prev = next_i, next_i = node_i) // 相当于for (i=1; i<=n-1; i++)
for (node_j_prev = node_i_prev->next, next_j = node_j; node_j != NULL; node_j_prev = next_j, next_j = node_j) // 相当于for (j=i+1; j<=n; j++)
// 注意:上面的for遍历时不能简单地用"node = node->next",因为在交换的时候会破坏next,next不一定是位置上的下一项。所以要用next_i来记录
// 比如数组排序中:5(i),4(j),3,2,1排为4(j),5(i),3,2,1,则j下一个应该是3;直接用->next的话j会变为5。
if (node_i->score < node_j->score)
{
swap(node_i_prev, node_j_prev); // 注意交换的时候用的前驱结点
tmp = next_i, next_i = next_j, next_j = tmp; // 需要注意!这里也要把next给交换了(因为next_j(设id=1004)代表node_j_prev(id=1003)在数组中下一个元素,相当于node_j(id=1004)
// 若node_i(id=1002)跟node_j(id=1004)交换后,变为1001→1004→1003→1002→1005,node_j_prev(id=1003)的下一个应该是id=1002,
// 故next_j(id=1004)应该跟next_i(id=1002)交换。
}
/* 输出操作部分 */
now = head->next;
while (now != NULL)
{
printf("%d %s %d\n", now->id, now->name, now->score);
now = now->next;
}
fclose(stdin);
fclose(stdout);
return 0;
}
上述的直接在链表内排序比较复杂,个人都用了一个多小时才调试正确,所以实际考试时推荐直接先排序后面再插入到链表中。
面试
我相信大部分同学关心的肯定是面试这一环节,
因为之前肯定面试经验很少,对这一新事物肯定还是充满未知的。
但其实转专业的面试只算大学众多面试中很平常的一个,放松心态去应对就行。
大致流程和简单说明如下:
-
自我介绍环节
对于自我介绍,没有什么特别要求的,
就简单介绍下自己的情况,然后自己转这个专业的原因,自己在这专业上的特长之类的。 -
面试老师提问环节
提问的话老师也会根据你的情况问一些相应问题,
考察你的学习能力、对着专业的适应情况、心理素质等方面 主要还是考自己随机应变【口胡x……】的能力,
而每个环节的时间可能会在面试前或当天告知,
但也可能会根据当时面试人数动态变化。
有提到说自我介绍可能会以英文的形式进行(尤其是计院和信院)。
不过在2021年信院(之后的计院)面试的时候,却是用的中文进行,
不明确是因为时间不够还是什么原因。
但总之有时间的话最好还是准备一下英文自我介绍为好。
补充:2022年计院面试中,会出现一道英语的问答题(具体例题可以见下面的2022年计院面试大致内容)。
2021年 - 信息科学与技术学院(和未拆分的计算机与人工智能学院) 面试大致内容
- 用中文自我介绍,时长1min
- 原专业的相关信息
例如:我原专业是学心理的,问我能否用所学知识帮助同学。【然而才学一年我也不懂什么啊除了知道几个名词外orzzz…… - 英语四六级情况
这里六级的成绩在填报申请的时候可能还没有出,所以面试的时候可能会额外问一下。 - 个人能力方面询问
例如:问我之前参加NOIP竞赛的经历,以及我说我运维过服务器,问我怎么维护的之类的能力问题。 - 个人其他方面的询问
可能还会问点其他信息,比如问过我高中是哪的之类的,见招拆招即可x。
大致就这些方面,整个流程还是很简单的。
最主要的是面试自己是坐着的!就不怎么用怕自己紧张得发抖了。【真是帮大忙了√……
2022年 - 计算机与人工智能学院 面试大致内容
该部分内容来自于以下同学的贡献:
2022年因疫情原因,面试从线下转为了线上,使用腾讯会议进行。
- 用中文自我介绍,时长1min
- 英语问答例题(注意问题也是英文提出的!):
- Why do you choose the AI as your future major.
- 最喜欢的电影是什么?原因?
- 最难忘的周末
- 专业素养方面问题:
- 除了 C++ ,还熟悉什么语言
- (若自己熟悉C/C++)C++ 语言的缺点是什么?
- 介绍自己学习过数字识别等 AI 方面知识,问自己是复现别人的算法还是自己扩展甚至开发
- 学科竞赛、科研实验方面问题:
- ACM相关(校赛、校队、天梯赛等)
- 某老师带领的专项项目
- 学习能力方面问题:
- 原专业与人工智能专业差距大,问接下来要怎么学习好这门课程
2022年 - 交通运输与物流学院 面试大致内容
转后事项
如果看到这里,那就证明你已经收到最终的转专业成功的通知了,恭喜!
但成功后却千万不能松懈,恰相反,转成功后要注意的事可比转前还多得多。
如果稍微错过一些重要的事,反而可能对后面的学习生活造成较大的影响。
所以对于转专业成功的同学来说,请务必注意这一部分的内容。
转专业成功后各种事项十分繁琐,
自己需要用大量精力去注意这些事,
否则会对自己今后的学习和心情造成不定程度的影响。
首先对于原专业的一些群先不要退,因为之后可能还会有其他事务在原专业那边处理。
尤其是评奖评优相关的,是在原专业那边评选。
一般来说转专业成功后,对应学院都会通知加入“转专业学生群”,用以通知后续的工作安排。
但老师的负责态度怎么样,这个却有较大差异了。
不一定所有事项都会通知得到,甚至部分学院只告知一两件事后便杳无音讯,
个人在这里将能考虑到的转专业后要注意的事项都罗列在这里。
选课
转专业结果公示时,基本上就是第三次选课已经进行了几天的时候。
所以请抓紧时间在这次选课机会中选择正确的课程。
在将本学期的所开设的优选课选完之后,还需要去补修大一学期没修的课程。
这个时候需要自己根据所转入专业的培养方案,
去找到自己有哪些没修的并在这学期开设的课程,然后选上。
相信培养方案大家应该都会读了,这里就不再讲解了。
【实在不会再私聊找我我帮你看吧.jpg……
需要注意:
一定要认真看清楚有哪些课程还没修,
一个个核对一遍,然后记下来。
最好能大二一年补完就这年补完。
同时这学期的课程也请认真核对一下,
有可能会出现感觉自己选齐了但结果少几门课的情况。
需要根据自己的时间安排来调整课表,
由于很大程度存在冲突,所以本学期优选课程选不上优选班也没关系。
但还是要注意如果不是卓越班最好不要选到卓越班去。
【别看了那个概率论选到茅班的还是我qwqqq……
课程代替
课程代替,是指用在原专业学过的一些课程,来代替本专业需要修读的课程,
代替成功后,便不需要再补修该课程。
被代替课程分数将以原课程的得分为准,即尊重原始成绩。
一般转专业成功后的转专业学生群会通知课程代替的事项和文件,
请根据各自学院的课程代替情况”来申请相应的课程代替。
课程代替申请表也应该会发送到群文件中,
下载后按照情况和要求填写即可。
还会有其他注意事项,比如截止时间、只能打印、一式两份等,
注意看清楚要求。
举个例子:
冲突选课
冲突选课,是针对有一门课程因时间冲突的原因实在无法修读(所有该课程开设时间均被其他课程占用),
可以该课程,和占用该课程开设时间的另一课程进行冲突选课申请。
冲突选课的课程表可以直接在教务处的“表格文档中”下载。
学院不一定会发冲突选课申请的信息,如没有需要自己去了解。
各种填写要求表格里会说明,
同时教务处也会发送关于“冲突选课”的通知,其通知名的格式大致为:
「(……学期)冲突选课流程」
个人并无冲突选课申请成功后的经验与信息,以下所述内容可能不准确,如有错误请联系我修改!
申请成功后,两门课程都会被选择修读(在选课结果中可查看到),
但只需要选择申请表所选的一门课程进行修读,
另一门课程则通过自学等方法学习。
但只是不用参加课堂,可能老师还会有别的要求。
在期末的时候两门课程都需要参加期末考试,可能会存在冲突。
有关更多冲突的信息请询问冲突两科(特别是没选上一课)的老师寻求解决方法,
比如问:
- 申请成功后,没选上的这门课我还要做什么作业,或者有什么要求吗?
- 如果期末考试两门课冲突我该如何处理?
等问题。
宿舍更换
转专业后(其实不转专业也可以)理论上是可以申请调换宿舍的。
换宿舍一事转专业通知群里应该会通知,
到之后只需要填写一张表,按照表格操作即可。
但需要注意:
犀浦校区宿舍可能比较紧张,
因此部分学院可能仅支持从九里校区调换到犀浦校区的申请。
具体调换情况还请询问自己专业的转专业通知群。
至于表格中的“意向房间号”这一项,由于个人没有申请过不清楚怎么知道还有哪些宿舍有空位,
估计只能克服社死去问还不认识的班上同学了吧【?……
评奖评优
- 评奖:指申请国家奖学金、国家励志奖学金等奖学金项目。
- 评优:指评选三好学生、优秀学生干部等荣誉称号。
需要注意的是:
虽然你这年转入到别的学院去了,
但你的评奖评优还是会在原专业进行。
这点转专业通知群肯定会通知很多次的。
但你的一些相关材料已经转到新的学院去了,
也就是说我们会反复在原学院和现学院进行联系,完成评奖评优。
因此原学院的一些通知群先不要退,
到时会根据原学院的评奖评优流程和要求进行操作,
然后有什么问题及时询问现在学院的辅导员,并跟原学院的辅导员进行联系。
有关步骤可以看下图:
团组织相关
由于自己的团或党组织的一些材料信息还在原专业那边,
所以还需要自己花时间去转移过来。
大致为以下两个方面
1. 团组织关系转接
对于共青团员,自己的团组织还会在原专业班级上的团组织中,
需要自己登陆共青团的智慧团建系统,
在“关系转接”中将自己的团组织转接到新班级的团组织。
需要同时跟两边的团支书说明一下,通过审核后才能成功转接。
2. 入党材料转移
如果自己在之前向原专业提交了入党申请书并正式进入入党流程,
需要自己将在原专业入党的材料交到转入的专业中。
转专业群中应当会通知相关信息,
不同学院的要求可能不同,请根据本学院的要求来执行。
至大二时完整材料如下:
- 入党申请书
- 思想汇报(递交入党申请书后原则上是三个月一篇,因此应交四篇)
- 谈话记录表(入党申请书提交后一个月内会进行)
- 积极分子推荐表(成为积极分子后会有此表)
- 结业证书(经过党课培训并完成结业考试后会颁发)
- 积极分子考察登记表(大二的时候会有一本小册子)
根据自己的入党进度以及学院要求,递交自己目前所有拥有的材料。
课程相关
有些在原专业没有上过的课,可能会有一些特殊要求,
尤其是一些分Ⅰ、Ⅱ的课程,在大二的时候已经进入Ⅱ的学习了,
这时班上可能不会再通知相关要求,导致自己并不了解其课程。
在这里将个人所知道的一些有特殊要求和操作的课程列举出来,避免大家因为不了解而错过很多信息。
大学物理实验
如果之前没有上过大物实验的话,这门课程需要特别注意的是:
需要自己额外在其教学网站上选择实验。
这门课并不是在信息服务平台选好后就按照那个时间去上就行,
还要自己去选择8个实验。
并且选课所示的那个时间只是占位用的,并不是真正的上课时间,
最终的上课时间是根据自己所选实验决定的。
在开学日附近,实验中心网站会发布关于实验选课的通知,
届时教务处也会转发。
这则通知会告诉如何进行实验选课以及相关注意事项,
但因为时间截止一般会在转专业工作完成之前,所以转专业同学并不能按照正常流程选择实验。
对于转专业同学,会额外设置一个时间集中处理。
转专业工作结束后,中心会再次发布一条集中处理的通知。
届时教务处也会转发。
但如果也有同学像我一样没有按时选上课,也是可以去单独申请处理的。
首先需要找樊代和老师说明自己的情况,其办公室在6206。
然后经过一阵质问【】后,
樊老师应该会让你写一份情况说明,并找自己学院教务处盖章。(可以打印)
之后拿去给樊老师看,他应该就会让你带着情况说明到6215b去找马老师,
到时候去找马老师后,他就会帮你处理了。
正文部分到此结束
相关事件
事件一 —— 必修未修完导致转专业被拒
是发生在2021年转专业的一件事件,
事件本身还是比较迷惑(因为学生和学院两方面其实都挺无奈的),对当事人造成的后果也还是挺严重的,
并且重新将按照文件规定的重要性凸显了出来(虽然仍会存在很多冲突),
具有参考警醒价值故将当时事件的聊天记录分享一下。
已做打码等处理。如仍有记录内同学觉得侵犯隐私请联系我,我会将聊天记录截图删除!
太长不看系列:
就是一位同学计划转电气,本来都上了转专业的名单了,但最后却电气学院被告知不让转入了。
原因是电气教务查出来了他有原专业的必修课没修。
但这位并不是故意不修原专业必修课的,而是因为他如果要修全原专业必修课,就会导致学分不够,修不了准入课。
虽然转专业要求中明文规定确实“必须通过原专业已完成学期所学全部课程”,也就是把原专业大一要求的所有必修课修完。
但这时矛盾就发生了:
- 如果要修原专业所有的必修课,就会导致学分不够,使得修不了准入课。
- 如果不修准入课,又会根据其第一条“申请者必须预修并通过电气工程学院相关专业规定的转专业准入课程”,很明显又会有原因导致转专业失败。
很明显的死循环了。
但关键是:
确实部分同学并没有严格按照“西南交通大学本科生转专业管理办法”以及各学院转专业细则的基本要求:通过原专业按培养计划已开设的全部必修课和限选课。
但最终其实大部分学院都没有对这个要求很严格,大部分该录取的还是录取了。【也许也还有这种事故,但个人没在其他地方发现这种情况的出现……
当然这种情况也有解决方法,
其一是“申请超学分”,但前文中我也提到了有关超学分申请的个人经历,不再重复。
如果申请超学分失败,那么其二,也是最主要的:那就是以后对于这种冲突情况,无论如何都要去 目 标 学 院 的 教 务 处 问 个 清 楚!即便他们态度有多敷衍多恶劣,因为这完完全全关系到自己切身利益。
去狠狠地质问他们:
如果我要选相关专业的准入课,那么我的学分不够,就必定会退掉原专业的必修课。那么在这种情况下,我是保证原专业必修课的学习,还是保证准入课的学习?
抓住加粗的重点问题,没回答清楚就直接反复询问!【最好再录个音嗷,免得到时候没有证据.jpg……
如果连这个问题都不能好好回答,学生的基本权益都不能保障的话,我觉得这个学院也大概没什么转入的必要了。
结束语
以上大概就是个人所想到的有关转专业方面的意见和经验了……
希望能帮助到在这条十分艰苦的路上前行的各位……
由于个人之前并没有写过这么长的指南方面的文章,所以在排版、叙述上可能存在很多问题……
希望各位同学们能谅解……
同时截止写完时大部分内容都是以自己的主观经验来叙述的……
所以内容上可能存在很大的主观性以及偏差……
之后会去询问相关同学,并补充和修正部分内容……
所以,如果有什么建议和指正的话,非常欢迎向我提出!……
最后,无论如何,
保持自己的决心,等待并心怀期望吧!……
碎碎念……
在这次转专业中,个人最终如愿以偿转到了想要去的专业……
是最初的目标、最本的初心、最纯真最幼稚最深层最内核的那不容别人评价甚至自己不愿提及的梦想……
但发现也并没有想象的那么高兴,在刚得知消息的时候也极其平静……
为什么呢?大概被这一年来各种的琐事冲淡了热情吧……
一大堆想做的事,却不断地被延期被放弃……
这一切值得吗?……
我也不知道……
但我始终明白,我的人生轨迹将依旧如此……
周期往返……
仍在前行……