所有课程都有弹性(内容与时数)。下面是一份标准规格 (2002/03/21):
■ Win32 API (SDK) programming, 9 hous
主旨 : 本课程讲解 SDK programming model. 让学员了解如何架构出一个
Win32 API 程式骨干 (skeleton)。
注意 : 本课程的重点并不在教导各式各样的 Win32 APIs(数千个之多,查阅书籍即可),
而是让学员清楚知道所谓 message-based, event-driven 的程式架构。
学员基础 : C
教材 : 老师提供讲义,学员自行影印。
(以《深入浅出 MFC》ch1 为骨干,
侯捷网站提供全书下载 http://www.jjhou.com/free-u002p.htm)
更多资讯:《Programming Windows》by Charles Petzold, Microsoft Press.
课程纲要 :
. 概观 (overview)
. 视窗类别 (window class)
. 视窗 (window)
. 选单 (menu) 与资源 (resource)
. 讯息 (message) 与讯息回圈 (message loop)
. 视窗函式 (window procedure or window function)
. MDI (Multiple Document Interface) style
■ MFC programming, 12 hours
主旨 : 本课程讲解 MFC programming model. 让学员了解一个 MFC 应用程式的
各项基础建设(infrastructure)。
学员基础 : SDK programming (basic)
教材 : (1) 老师提供讲义,学员自行影印。
(以《深入浅出 MFC》ch6,7,8,9 为骨干,
(侯捷网站提供全书下载 http://www.jjhou.com/free-u002p.htm)
(2) 老师补充投影片
更多资讯:《Inside Visual C++》by David Kruglinski, Microsoft Press.
《Programming Windows with MFC》by Jeff Prosise, Microsoft Press.
《深入浅出 MFC》2/e, by 侯捷
课程纲要 :
. overview (MFC4+ in VC6, MFC7 in VC7)
. application wizard in VC
. entry point
where is WinMain()?
where is RegisterClass()?
where is CreateWindow()?
where is Message Loop?
why App-object and how it works?
. three-level infrastruction in MFC
. dynamic creation
. seriaization (object persistence)
. mainFrame/docFrame windows
. document/view
. message map
. message routing
. system cleanup
■ C++/OOP, 18 hours
主旨 : 本课程融合 C++ 的语法, 语意, 物件模型, 优良编程风格(programming style),物件导向概念,
让学员从一无所知到具备大家风范,并彻底认识 C++ 的底层运作。
学员基础 : C
教材 : (1) 学员自备书籍:《Essential C++ 中文版》侯捷译, 峰2001
(2) 老师补充投影片
更多资讯:《C++ Primer》, by Stanley Lippman
-- 中译本《C++ Primer 中文版》,侯捷译, 峰
《The C++ Programming Language》, by Bjarne Stroustrup
-- 中译本《C++ 程式语言经典本》,叶秉哲译, 儒林
《The C++ Standard Library》, by Nicolai M. Josuttis
-- 中译本《C++ 标准程式库》,侯捷/孟岩译, 峰
《Effective C++》, by Scott Meyers
-- 中译本《Effective C++ 中文版》,侯捷译, 培生
课程纲要 :
* Object-Based Pogramming
. OOP overview
. class and struct
. object lifetime and scope
. ctor, copy ctor, operator=, dtor
. static vs. non-static
. inline vs. macro
. by reference vs. by value
. 'this' pointer
. function overloading and operator overloading
. misc.
* Object Oriented Programming
. ineritance
. composition
. virtual function
. polymorphism
. revisit 'this' pointer
. build a large class hierarchy (why? how?)
* Generic Programming
. Introduction
■ Design Patterns, 15 hours
主旨 : Design Patterns 是一门高阶课程,如缺乏实务经验,易流於抽象与空泛。
本课程先以一个 MFC-like mini application framework (MFCLite by jjhou)
示范大型设计(的核心模型),然後再解说其中运用的 design patterns。
注意: 大型设计的说明与体会很花时间,然而一旦对实作手法有所掌握,对於其中
的 design patterns 的归纳整理自然便能有所体会。
如无法接受这种上课模式,请勿洽此课程。
本课程之所以采用 MFCLite 为学习与体会(大型设计)之对象,也是因为
大型设计的说明与体会很花时间,采用 MFCLite 可使花费的精力达到
额外附加价值:你同时彻底理解了一套拥有巨量用户的 application framework.
学员基础 : C++, (如有 MFC programming 经验,更能如鱼得水)
教材 : (1) 学员自备:《多型与虚拟》2e, by 侯捷
本课程只使用其中之 chap6,7,侯捷网站提供下载。
http://www.jjhou.com/jjwbooks-pic2.htm)
(2) 老师补充投影片
更多资讯 : 《Design Patterns》, by Gamma, etc.
-- 中译本《设计模式》,叶秉哲译, 培生
《More Effective C++》, by Scott Meyers
-- 中译本《More Effective C++ 中文版》,侯捷译, 培生
课程纲要 :
* MFCLite3 (a MFC-like mini application framework)
* design patterns in MFCLite3 (alphabetically)
. Adapter(Wrapper)
. Bridge(Handle/Body)
. Chain-of-Responsibility
. Composite
. Factory Method(Virtual Constructor)
. Iterator(Cursor)
. MVC(Model-View-Controller)
. Observer(Dependents, Pubish-Subscribe)
. Singleton
. Strategy
. Template Method
■ Generic Programming (GP) and the Standard Template Library (STL), 15 hours
主旨 : 给予泛型程式设计(Generic Programming)之坚实训练。课程包括运用 STL,
认识 STL 之结构设计,并尝试建立相容於 STL 之可复用(reusable)软体组件。
注意 : 本课程不仅谈 STL 的应用,也谈 GP 原理,谈 GP 未来趋势
学员基础 : C++
教材 : (1) 学员自备书籍:
《C++ 标准程式库》,侯捷/孟岩译, 峰2002
-- 译自《The C++ Standard Library》by Nicolai M. Josuttis
(2) 老师补充投影片
更多资讯 :《STL 源码剖析》by 侯捷, 峰2002
《Generic Programming and the STL》by Matthew H. Austern
-- 中译本《泛型程式设计与STL》,侯捷/黄俊尧译, 峰2000
《Modern C++ Design》by Andrei Alexandrescu
-- 中译本《C++ 设计新思维》,侯捷/邱铭彰译, 峰2002
《Effective STL》by Scott Meyers
-- 中译本(未知)
课程纲要 :
* C++ Generic Programming Paradigm
. Overview
. C++ Function Template
. C++ Class Template
. C++ Operator Overloading (++, --, *, ->, ())
* STL (Standard Template Library)
. Overview
. Traits
. Iterators(泛型指标)
. Containers(泛型容器)
. Generic Algorithms(泛型演算法)
. Function Objects(函式物件)or Functor(仿函式)
. Adaptors(泛型配接器)
. Allocator(泛型配置器)
■ Java Programming, 12~18 hours(时数弹性;时间愈多课程内容愈细腻)
主旨 : 帮助学员建立对 Java programming 的全面性认识。
注意 : 本课程主要探讨 Java 语言在 OOP 方面的核心表现(并不着重於所有语法细节),
及重要程式库如 Collections, I/O, Threading, Swing...的运用。
本课程不讨论 EJB,J2EE 等企业应用, 亦不讨论 J2ME 等微型应用。
学员基础 : 曾经有过任何 programming 经验(OOP 经验尤佳)即可。
如果大部份学员有 C++ 基础,本课程可举 Java vs. C++ 之实例。
教材 : 老师自备讲义,邀课单位自行影印给学员。
更多资讯 :《Thinking in Java》by Bruce Eckel, Prentice Hall 2000
可自 http://www.bruceeckel.com 下载
中译本《Thinking in Java 中文版》,侯捷/王建兴译, 峰2002
可自 http://www.jjhou.com/jjtbooks-thinking-in-java-2e.htm
下载前 9 章以及附录 ABCD
课程纲要 :
o. Java/OOP overview
o. Java Standard Library hierarchy
o. Interface/class design and implementation
o. Inheritance and Polymorphism
o. Objects Passing and Returning; Cloneable
o. RTTI (Runtime Type Identification) and Reflection
o. Persistence (Serialization)
o. Java I/O and Decorator pattern
o. Java Collections
o. Java Swing and JavaBeans (GUI)
o. Java Multithreading
o. Generics in Java
-- the end