在线时间 140 小时 最后登录 2016-8-2 注册时间 2011-9-15 听众数 4 收听数 0 能力 0 分 体力 1198 点 威望 0 点 阅读权限 40 积分 449 相册 0 日志 0 记录 1 帖子 187 主题 16 精华 3 分享 0 好友 35
升级 49.67%
TA的每日心情 开心 2016-8-2 21:43
签到天数: 40 天
[LV.5]常住居民I
群组 : C 语言讨论组
群组 : 学术交流C
群组 : 学术交流A
群组 : 学术交流D
群组 : 学术交流B
本帖最后由 Vir 于 2013-3-23 14:58 编辑 ; P% n* j8 l( L- q5 [
5 Z; m. d/ |- r 1 课程背景 / X* J( d& \; v8 e6 e& \
9 ] l( U+ i* m9 S! x( y C++是世界上最复杂的综合范式语言,IT业的软件开发行业和公司普遍共识是,C++很熟练的人,转向其它业务和技术都将会相对更容易,能掌握C++的人,解决技术问题的能力也普遍会比较彻底。涉及到C++的3D图形引擎、游戏客户端、服务器端程序、图像处理软件、高响应网络架构的底层、科学计算等,几乎都有它的身影。如果你熟练了C++,那么C语言是不需要再重复学习就自然会的,转向Java/C#/VB/Python等语言,对他们的基础语法熟练度大概最多两星期内可以磨合完毕(不包含这些语言的库和框架的熟悉,事实上大部分语言基于的SDK/APIs都可以临时查询,现查现用)。' b: A6 g- @2 D: X: c1 Z5 j
2 t5 K3 V( u7 M
. G* p0 V: A* ^/ H* ^1 C* ^% b 2 课程对象及目的 % y0 h) q0 ^9 B8 \: P6 c5 _
8 C0 q/ c b1 W% z) ]: g4 L 2.1 需要基础:具备C/C++/Java/C#几种语言任意一种的基本语法知识,代码量大于450行7 ~/ H% u! H n. Z
2.2 直接效果:一个没C++任何小项目经验但有语法基础的人,通过此课程,坚持练习,可以逐步写出一款多人网络五子棋对战游戏(将会体验单机版、局域网对等对战版、互联网服务器版、图形界面版、多人在线版、人工智能机器等若干个版本的项目建立)
! @/ W p' ]9 b" ^ W( k 2.3 更深层次目的:阶梯式提高C++语法熟练度、各类算法的学习和构造、代码复用技巧、业务逻辑的分析思路、学会运用部分设计模式及MVC思想、项目开发思路、Socket网络编程、如何封装公共复用库、熟练Windows SDK及多线程、Linux服务器端程序、图形学基础、简单3D软渲染引擎设计
: x( m+ `6 n' F" X; s6 L , m4 d' n( d/ e/ [
3 [/ w* k$ ]. U5 n9 }* N- Y1 r 3 课程目录 " v6 t' X5 H) b8 j+ h: e6 y% S
$ B+ m3 X3 T! X) ^' R1 T6 b 第一期 大道至简:控制台下的五子棋
2 \! N4 v5 `9 J2 y 7 g& Z0 P0 e+ Z% X* `# B
第零课 C++基于及热身
% Q* J8 H: B9 [5 p" z 第一课 单机双人五子棋
/ r( l+ m+ \! g0 D' V 第二课 命令行远程控制程序
1 C3 x8 W- g/ D, o' W 第三课 Server/Client双人五子棋(Windows版) G$ j, ?' R" _! H5 H+ _
第三课附加 Server/Client双人五子棋(Linux版)
7 b( ]( R% s7 \ L! ^ 2 \+ C2 r9 e" r: O
第二期 图形世界:图形特效的五子棋, C4 r! Y9 P- r9 t' a/ N; x( q
- T8 u* T- X9 ]7 H' s4 s8 _3 R" X2 f
第四课 基于EasyX的图形界面五子棋
; R( O3 D) I9 w3 d 第五课 重构五子棋框架
; T# B4 `+ W# `! N 第六课 基于Windows SDK的图形界面五子棋0 _2 Z3 f7 s5 Z% g7 M) z9 _7 Y
第七课 AI引擎:单机版人机对战五子棋+ h5 T# \' P7 `$ u1 O. s
第八课 记录器:录制下棋过程版五子棋- @+ E8 {# d6 {$ c! V2 D
第九课 第二次重构五子棋框架
$ O0 j# O$ Y& v; O ]2 k7 y7 M 第十课 网络版多人/多个性定制化机器人在线五子棋
5 }# R) L- X0 I5 P0 h6 C9 }/ z" n
( Y7 H- ~% Y b. L0 s3 Y2 C, X 第三期 高级课程:3D图形世界4 `7 E: r2 `# \( ?5 |6 W* [
; G# D ]# m/ V; w. Q1 Q$ R 第十一课 3D引擎的原理基础
0 g& b; s, k5 T K/ V 第十二课 使用现成3D引擎设计3D网络五子棋) s& `8 ?3 s+ N, f, ]' ~
第十三课 用GDI设计自己的3D软渲染引擎+ Q9 [2 {* ?% z1 e0 I- v) D+ {! G
第十四课 3D软渲染器:线渲染4 f; {. G# {' n3 S; i
第十五课 3D软渲染器:三角渲染
, G2 [5 `* }6 R 第十六课 3D软渲染器:空间变换与投影
+ E0 u& X+ N, S3 |* N/ X6 z 第十七课 3D软渲染器:Alpha混合5 C1 W$ O( M2 b* ~% e8 {7 ^- _
第十八课 3D软渲染器:纹理映射 a$ J: b. D" p1 h. b( B8 ?* V
第十九课 3D软渲染器:Ray Tracing0 f4 I H' G3 D) T/ V; z
第二十课 3D软渲染器:防走样算法+ L3 ?- B3 d3 F
第二十一课 引擎测试:3D坦克大战Prototype% a2 d1 L# @4 _' I: Q0 a
第二十二课 引擎测试:3D超级玛丽Prototype- U' E) `( t. y) N8 n; O" M: d
第二十三课 基于web2.0的MMO3D游戏Prototype7 w9 ]- V% b$ ^& |% G
2 M8 [! [7 C3 D- @! ?* \2 o 第四期 脚本引擎:设计基于面向对象的脚本语言及其解释器(子提纲待定)5 [* n0 y _. ?
% g- |8 n; D: \% z; S) | 第五期 编译原理:设计新型数据库语言及其虚拟机(子提纲待定)1 u8 t+ x2 R# T3 J+ F3 z
+ p- a' V) W4 T9 p
第六期 分布式系统及云计算:分布式计算与云计算基础架构设计Prototype(子提纲待定). ?( _/ S( H% q) M! j$ ^3 v
" U" ~# w- f4 Q
8 f, W& ]: f0 Z/ A# u/ c 4 授课作者声明:
0 g5 [9 h8 X9 F, k! u
0 v& @# ^5 e( x4 n! h 以上内容,授课作者均有能力独立实现(5、6期略需要准备时间),但不保证该连载课程能坚持执行到底,这取决于多方面因素(比如大家是否对该课程感兴趣,以及该课程的讲解可行性,作者本人的日常精力时间,作者的少的可怜的授课经验),只能尽力而为,毕竟写项目和教人写项目在投入精力上是完全不同的,但作者本人也相信这也是乐趣所在,每课之间的时间间距完全取决于连载作者的业余时间空闲程度。4 ?! V5 q9 X: t3 A1 J8 v
7 T. }' E/ @ ^5 J+ s* q% n 半年内可能会逐步实施以上计划并可能加入一些有趣的东西,看到以上的提纲,有想法或者idea可以告诉我。
/ x; s8 d" {* d- I8 _) u1 Y) V * F' y5 _6 E0 t, Z/ \% V$ f9 F5 c/ u
授课作者:zblc (www.cppblog.com/zblc )
+ [' p( }, f" u* ^ & `9 F5 f) q$ D$ Z: b; O
联系方式:zblcving@hotmail.com 9 _- H4 P2 n0 B& K
: v4 x( }" B* E: w# D/ z; v% D+ |$ l8 Q
授课平台:数学中国(MADIO)5 U. E' ?% \" S- T0 E& P+ v
! j1 n; I9 n3 r. B
具体开始时间:待定,大概1.5个月内进行第一期(有需要实时更新最新课程信息的可以发帖留下邮件 )( E9 N: o! V4 U! h/ c; W2 t# c
' Z: G' W: a6 _9 u% Q4 O4 A# W9 p 2013-03-230 S8 z! b' R0 L; Q3 K0 K
zan