Java软件工程师课程体系专业课程分为两个阶段:第一个阶段为代码实训阶段,第二个阶段为项目实战阶段。每个阶段对应的岗位表将会在下面列出。
第一阶段课程:Java程序员
1、IT行业计算机应用基础
本课程首先学习计算机软硬件及网络的基础知识,然后了解如何使用流行的办公自动化软件Microsoft Office编写软件项目开发中的相关文档。在本书结束后,学习中心教师还可以演示如何使用IT人士中流行的最新工具软件,例如流程图绘制软件SmartDraw、图形图像捕获软件Snagit、即时通讯软件、点对点下载工具软件等等。
本课程的内容大部分讲解的是应用软件的使用,不牵涉到开发。有计算机应用基础的学员会觉得本课程内容简单,未免会产生懈怠的心理。值得提醒的是,这门课程是根据多年的教学经验和学生就业反馈信息设计的,是为了达到如下教学目的:
首先,刚进入学习中心的学员中很多人已经很久没有在类似高考那种超压力学习环境中生活过。而后面的课程的学习强度将是逐步上升的。我们用这门课程作为缓冲,希望学员在本书学习期间,体验集体学习的气氛,养成好的班风。同时,逐步调节自己的状态,养成好的学习习惯,尽早进入高强度高压力的学习状态中。
其次,学习IT职场行业人士常用的一些工具软件,有助于我们提高学习效率,同时锻炼我们的总结、沟通、表达能力。根据多年的就业推荐和就业反馈,我们知道学员就业最大的障碍来自于个人对技术的总结能力,以及如何把自己对技术的理解表达出来。我们希望参训学员从本书开始养成每天总结老师所讲内容、并将其写到博客的习惯,在有限的参训时间内逐步提升自己的总结能力。同时,我们必须清楚的是,Java技术体系的内容博大精深,我们所能涵盖的内容有限。我们希望学员从本门课程开始,能够逐渐养成借助搜索引擎,了解更多课程相关技术内容,从而最大限度地扩大知识面。
最后,我们要清楚的是,看似简单的Word/Excel/PowerPoint等应用软件,其实有很多决窍。假若我们想在将来的项目答辩、产品演示、数据分析等工作中表现出众,熟练使用这些应用软件也是一个必备的前提。
相关工作岗位:
职位:企业信息化管理员。
2、Web应用程序客户端界面设计
基于浏览器/服务器(B/S)架构的Web应用程序已经成为当前应用程序开发的主流,而XML/XHTML/CSS是开发Web应用程序必备的技能之一。本课程主要讲解如何利用基于Web标准的XML/XHTML/CSS技术开发Web应用程序客户端界面。
与市面上其它培训课程体系及教程不同的是,本课程是对客户端网页编程技术的实训,而不是DreamWeaver、FrontPage等网页编程工具的使用以及网页的设计。其特色在于:以最新的Web标准为导向,着重培养学员在Web应用程序开发中的客户端网页编程技术,同时为2005年2月开始流行的最新Web开发技术--AJAX打下基础,使实训学员能够顺利掌握后续课程中的AJAX相关内容。此外,我们在课程中加入了搜索引擎优化(SEO)技术的理念。部分学员可以根据本课程的Web标准及SEO技术,进一步学习软件开发行业中UI工程师或用户体验工程师所需的更多知识。
相关工作岗位:
职位:网络管理员。
3、Java程序设计基础
Java软件工程师课程体系对于没有任何计算机语言及程序设计基础的学员来说,掌握程序设计的基本方法、熟悉计算机语言的基础知识,是入门的第一步。本课程以Java语言为例,逐步讲解软件开发中所必需的基础知识。
对于没有任何计算机编程基础的学员来说,为什么要有关键字、为什么要有数据类型、为什么要用变量和常量等基础问题,是他们进入程序设计、掌握编程语言的第一关。只有完全理解了这些概念,我们才能进一步传授编程语言的更高级的思想。
此外,刚刚踏入学习中心的学员,可能很多已经长期未遭受过逻辑思维的折磨,而逻辑思维能力又恰恰是程序员所必备的核心能力之一。根据我们多年IT培训的经验,没有基础编码能力的初学者往往在遇到需要使用嵌套循环、嵌套选择,或者循环嵌套选择时不知所措。突破这一关,需要一个痛苦的饱受煎熬的过程。本课程会引导学员使用基本流程图分析算法,逐步锻炼分析问题、解决问题的能力,从而突破学员的逻辑思维障碍。
其次,参训的很多学员会发现:刚开始编写代码的时候,要么是无从下手,要么是代码一写出来就是错误累累。这时候,请不要气馁,不要怀疑自己。编程如同我们学打字时候一样,是一个逐步适应和熟练的过程。只要我们每天坚持不懈地编写代码,不停地思考,加上授课老师的辅导,很快学员会豁然开朗的,最终会找到编程的感觉和乐趣。
最后,参训学员开始会发现在编写程序时经常出错的。我们需要知道的:即使顶级的编程高手在编写代码时也会出错。只有从来不编写代码的人不会出错,这样的人永远不能理解编程的真谛。正是经历了一次一次的代码出错,我们才能学会如何正确地编写程序,才能锻炼出在以后遇到程序出错时迅速找到问题根源所在的能力,即程序员的另一核心能力——调试能力。
本课程的重点在于理解编程语言的基本概念,了解编程语言的基本语法形式,掌握编程语言的基本控制结构,培养用流程图解决基本算法问题的习惯,锻炼逻辑思维能力和程序调试能力。
相关工作岗位:
职位:Java程序员、中级软件工程师、数据库初级管理员。
第二阶段课程:J2EE软件工程师/Android软件工程师
1、Java面向对象编程
通过本课程,学员可以全面系统地学习Java SE技术体系的内容,包括Java语言的基础知识、JDK类库常用类、面向对象基础概念(类、对象、继承、封装、多态、接口等)、I/O、Socket、集合框架、多线程、XML解析、JavaBean组件编程等。
我们在多年的教学中发现,Java初学者在被问到Java SE包含了哪些内容时,往往缺乏系统全面的观念。如果我们换个角度问初学者:Java SE中你究竟哪些地方不懂。通常,我们得到的回答是:什么都懂一点,但是究竟哪里不懂不知道。
为解决此类问题,我们从朗沃项目案例库中抽取了一个最简单的案例,从最简单的功能需求和界面需求开始,一步一步提出更深入的技术需求,将一个项目案例分别用五个不同的版本(控制台版本、单机GUI版本、C/S Socket网络版本、多线程版本、XML解析版本)循序渐进地实现。每一个版本都是一个完整的应用程序,从而让学员了解每天所学的知识会用在一个具体的应用程序开发中的哪一个点上,最后对整个技术体系有一个清晰的理解。
2、Java数据库编程
本课程讲解复杂SQL查询(包括使用聚合函数、分组查询、子查询、联接查询、组合查询等)、JDBC、Java应用程序持久层等。
3、Java SE项目实训
本课程采用代码实训的方式,由学习中心教员带领学员完成一个贷款计息查询服务器系统的分析、设计和编码工作。在实训中融合了使用前面课程所学技术,包括HTML、Socket、I/O、集合框架、日期日历类、多线程、反射机制、JDBC、JAXP、DAO、接口、抽象、动态加载、HTTP协议解析等,同时引入数据库连接池、MVC、开源组件等技术内容。
本课程一方面对前面所学课程做一个综合性的总结练习,加深面向对象思想的理解和代码编写能力,一方面又通过引入开源组件以及HTTP协议的解析,为后续Java Web编程课程打开良好的基础,起到了一个承前启后的作用。
除了贷款计息查询服务器系统外,我们还选取了朗沃项目案例库中的一些Java桌面游戏系统做为可选Java SE代码实训方案,包括模拟空战、勇敢的猪、松鼠大战、赤色要塞、贪吃鱼、打砖块、泡泡堂、五子棋等。
4、Java Web编程
本课程讲解Java Web编程的基础知识,包括HTTP协议、Web容器、Servlet、JSP、JavaBean、EL、JSTL、MVC等。
从Java SE到Java Web的中间有个理解的鸿沟,如何让Java初学者平滑地过渡是教学中的难题之一。此外,Java Web基础教学中最容易陷入的误区是忽视Servlet,本末倒置地将JSP做为主线。而本课程的教学思路是:基于前面贷款计息查询服务器系统代码实训中的Socket加深练习以及HTTP协议解析编码的基础,从Socket和HTTP协议着手,根据技术需求,逐步从只能提供静态内容Web服务器,推导到提供动态内容的CGI辅助应用,再推导到Web容器、Servlet、Servlet API。然后,我们以Servlet做为主线,将Servlet当作对HTTP协议解析的Java封装,引入维护Web应用程序状态的会话机制、事件监听器、过滤器。根据Servlet的弱点,引入JSP,并从底层的角度详细解析JSP的生命周期。然后引入无JSP脚本编程的EL、JavaBean、定制标记库、JSTL。最后,讲解Java Web编程常用的MVC模式思想以及实现步骤。
5、Java Web代码实
本课程从朗沃企业项目案例库中选取一个中型项目案例,做为Java Web代码实训的基本素材。通过代码实训,加深对Servlet、JSP基础知识的理解,同时练习MVC模式的使用。
6、JavaScript和AJAX基础
本课程讲解JavaScript的语言基础、JavaScript面向对象编程、JavaScript浏览器对象模型BOM、JavaScript文档对象模型DOM、JavaScript事件模型以及AJAX基础知识。
7、AJAX代码实训
本课程为Java Web代码实训中的项目添加AJAX功能。
8、Java Web项目实训
本课程使用Servlet和JSP、XML、反射技术、动态绑定技术、前端控制器设计模式,模拟Struts,实现一个简单的Java Web层框架。
9、Oracle数据库编程
本课程讲解企业级数据库服务器Oracle相关知识,包括Oracle体系架构、Oracle开发工具的使用、PL/SQL、Oracle数据库对象、存储过程、函数、包、游标、事务、触发器、Oracle SQL性能优化等。同时,练习在JDBC中调用Oracle存储过程。
10、面向对象系统分析与设计
本课程讲解软件工程的基本概念、软件开发过程、UML、OOA、OOD、设计模式、架构等。在课程讲解过程中,让学员用面向对象的系统分析与设计方法,完成一个项目的需求、分析、设计过程,并编写软件开发过程的各种软件工程文档。
11、Java EE企业级应用程序开发
本课程讲解Java 企业级应用程序开发所需技术,包括Java EE体系架构、EJB3.0、Web层开源框架Struts、业务层开源框架Spring、持久层开源框架Hibernate和iBatis、AJAX开源服务器和客户端框架、Web Services等。
12、Java EE项目实训
本课程按照软件工程和面向对象系统分析与设计相关思想,使用Struts、Spring、Hibernate、等流行开源框架技术,完整地做完一个业务较为复杂的大型项目,包括需求、分析、设计、实现、测试等过程。
13、Android与移动应用开发
本课程讲解最新Android移动应用开发技术,掌握最新Android移动应用开发技术。
14、Android项目实训
本课程讲解Android技术开发移动互联网应用以及Android游戏,提升Android移动应用开发技能。
15、职业素质课
我们提高学员职业素质,我们还提供了职业素质培训课,包括准职业人、职场礼仪、高效团队、增强意识、即时团队、创新思维、提升自信、情绪控制及压力管理、开发潜能、适应企业文化。学习中心可以根据学员班级实际情况,在教学过程中插入职业素质培训课。职业素质课的讲解由学习中心班主任完成。
此外,学习中心增加几场名师讲座,包括实用软件开发方法、算法分析与代码优化、大型软件实现程序和技术、中美IT企业比较、面向对象流程技术与发展趋势、现代经济与服务科学等,以提高学员视野。
16、就业强化辅导
学员学习完专业课程后,在就业前,学习中心应对学员进行一周的就业强化培训辅导,包括串讲整个Java技术内容、就业技术准备、项目准备、简历编写、面试技巧、简历审核、模拟面试,以提高学员的就业竞争力。
相关工作岗位:
职位:J2EE软件工程师、Android软件工程师、高级软件开发工程师、项目经理、系统架构师。