20190923 随笔

我居然在B站学习系列:

https://www.bilibili.com/video/av35819757

今天看到了这个,看到一半讲到了flag才忽然想起自己立的flag已经一年了,http://blog.hylstudio.cn/archives/330

在这篇预告中,我去年6月7日说补充数据结构和HTTP服务器编写,到现在过了一年多了还没开始动笔,实在是惭愧hhhh。

另外今年暑假又教了几个新生学习C语言,2019版本的C语言教程也没来得及更新,用的依然是http://blog.hylstudio.cn/archives/174 这篇大一期末时候写的文章。发现了许多教学上的问题,其实当时这篇文章只是用来给大一结束的同学复习用的总结,拿来当作教程却不配合讲解对很多新人还是会有困难。特此今年还设计了一些题目由简至难的来让新生零基础学习C语言,并且有计划参考杨中科老师的思路,使用C语言制作web程序,让C语言脱离cmd下来运行,这样对新人的成就感应该会更强吧,这部分思路待会再细说。相关资源之后也会更新的(貌似又给自己立了个flag,还是优先收下之前的flag吧=-=

(PS:电脑刚重装,微软的输入法调校的还不是很好,但我又不像下qq拼音,因为垃圾输入法对高分屏支持太差了。更不想下搜狗,所以还是坚持使用微软拼音,如果有错字可以告诉我下,反正我也不一定改。。。hhhh)

说起来C语言的课程设计,其实从大二开始就在做了,每年都会又机会带新生从头开始学习,也不断的提高自己设计课程的能力。往往自身的水平提升之后,会忘记零基础人学习的痛苦,觉得一些内容理所当然就应该明白,但是事实多次告诉我并不是这样的。每次教零基础的人学习都有这样的体会,但其实我自己入门环境带来的痛苦程度远比现在要多的多,所以更能体会新人的感受。所以才会选择与传统课程不一样的路线来设计和教学。

传统的教学往往上来就讲C语言的数据类型,乱七八糟各种数据类型都讲一遍,实际的情况是听完之后一脸懵B。我是谁?我在哪?我要干什么?讲了这么多依然不知道该用什么,该怎么用。

这部分其实是借鉴了游戏设计的做法,人力资源机上来第一关只有基础的几个操作,你没得可选。大部分游戏都有的教学关卡的思路也是逐步升级任务难度,而开始的选择是极少的,起到了教学的作用。很少又游戏难度是上来就是hard(部分硬核游戏单说哈)。因此我设计的第一部分其实只有输出,类型只会又字符。其实更简单的是数字,但数字太过于枯燥了,还是字符的表达能力更强一些。那么整体的思路就是这样

介绍程序框架

学习printf

打印固定字符/字符串

引入字符变量

打印变量

引入逻辑表达式、判断

根据条件打印字符/字符串

引入scanf

学习字符的输入

根据条件打印字符/字符串

引入for循环

学习打印固定次数/不固定次数

打印各种三角形

引入system(“cls”)

制作简易字符动画

井字棋棋盘/棋子打印

编写游戏操作逻辑

引入循环控制

制作游戏流程控制

引入数组

支持游戏状态内存判断,胜负判定

引入二维数组

简易数据结构struct

引入内存分配

面向对象的本质

劣质的人工智障程序

后面的部分还没想的特别细,所以可能会有疏漏,不过目前还没人学到这里,到时候有啥问题再调整。

关于web的开发,其实最早是考虑使用socket的,和java的一样,但是百度百科那段socket的程序居然没了。并且C语言和平台相关,我找了好几种方式代码都太复杂了,不是非常友好,所以考虑使用和杨中科老师一样的思路,外挂一个web服务器,用cgi的方式来调用。这样C的标准输出会直接给浏览器,可以用C做一些有意思的事情了,并且因为类型依然是字符/字符串,所以不会有更大的负担

0 Comments
Leave a Reply