网络协议分析——c#技术进阶与网络编程
分享
课程详情
课程评价
spContent=本课程为大家提供一种“中国馆”式增量学习模型,可以快速学习新语言。 也帮助同学们学习一些高级编程技术:多线程、delegate、observer编程模式、异步、分布式开发等。 用网络编程把所有技术结合起来,同时加深网络和编程功力。 想感受编程乐趣和接受编程挑战吗?来参加本课程吧。 --课程组
—— 课程团队
课程概述


    这是一门为高年级同学准备的高阶编程课程,采用强大又容易上手的C#作为编程语言讲述编程思想,课程浅入深出,有挑战、有意思、有探索。课程分成三个阶段。

语言学习阶段:使用IPO分析方法带大家3周内学会一门好用的编程语言,快速学会界面编程,享受面向事件编程的乐趣;高阶编程阶段:学习进程与线程、delegate、异步、分布式等高级编程技术,实现编程技术的增量式扩展。技术应用阶段:把这些开发技术用于网络通信程序开发,把网络技术与编程技术相融合。掌握这些技术,从学生慢慢转变成合格的程序员。

三部分内容都相当于三门普通课程,重点是编程思想,不断提出问题、解决问题、优化方案。用简单案例导入场景,引出问题,提供中、高难度的代码解决问题,美颜一下界面,增加一点功能就能变成实用的小程序。

课程说实话有点难,但只要热爱编程,肯定体会到学习的快乐,希望同学不要被课程难度吓倒,坚持学习,不断与老师交流,任何同学都可以有所收获


授课目标

授课目标分为知识与能力两个层次知识是死的,易学易忘;能力是活的,受益终生


知识层面:

       1. 学会c#编程语言,把面向对象、面向类库的编程形成一种习惯,学会用c#高级数据结构解决问题,熟悉方法(函数)的多种输入与输出,可以熟练运用静态方法简化问题处理。

       2. 学会多线程、delegate、异步、分布式等编程技术,知道这些技术的来龙去脉以及在实际工程中的应用。

       3. 学会一些简单网络编程,重点是把2中的编程技术加以应用,达到网络与编程技术的提高。


能力层面:

       1. 学会扩展自己的知识,快速学习任何一门新语言,实现“中国馆”式的增量扩充,而不是平铺式的扩充。

       2. 学会分析问题、发现问题,首先要想到遇到的技术难题本质是什么问题,可以用什么样的技术去解决,然后能去寻找代码,修改成自己项目的组成部分。

       3. 能根据所讲的网络与编程技术提出新的问题并查资料解决。比如学习了Socket的连接原理,能想到编一个程序测试某网段内所有计算机打开的端口,这样就可以开发一个扫描器。了解了ping的原理,知道了TTL的含义,主动开发一个TraceRoute程序。会了双进程守候,能设想在不死进程中加入键盘监听、屏幕拷贝等功能。

       4. 不怕挫折,勇于探讨。遇到困难要想办法解决而不是逃避,要与老师同学多交流,共同解决困难。把解决问题的过程记录下来,不断积累。


       这三个能力将成就你的成功之路,为将来事业、职位的上升打下良好的基础,也能为创业找到方向。



课程大纲
预备知识
  1. 任何编程语言基础,最好是学过c语言、C++、JAVA其中之一,当然会c#更好。

  2. 计算机网络基础,只要了解网络分层结构,TCP、UDP协议、IP地址、端口等概念就行。上过《计算机网络》课最好。

  3. 良好的习惯。喜欢思考,喜欢整理笔记,喜欢编程。

参考资料
  • C#网络应用编程  马骏 主编 人民邮电出版社



常见问题

Q :  学习这门课需要什么基础?

A :  学过c语言、C++、JAVA其中之一,当然会c#更好,还要学习过《计算机网络》。

Q :  为什么要学习这门课?

A :  这门课不仅学习语言,还学习几种高阶编程技术,以网络编程为结点,把编程思想、技术、语言相结合,达到编程能力和思考能力的提高。

Q :  课下需要如何做?

A :  课上讲的内容难度不大,主要讲思想方法与程序的变迁,例题难度更大一些,课后作业往往是3-4个形成从易到难的梯度,内容很有意思,同学们需要用一定的时间完成作业,体验编程乐趣。