课程编号:08230
课程英文名称:Advanced Programming Language
学时数:45 学分数:3
适用层次和专业:地理信息科学、测绘工程本科
一、课程的性质和目的
《高级语言程序设计》是地理信息科学专业的一门应用性理论课程。目的是掌握用计算机进行程序设计(使用Java语言)的一般方法。通过本课程的学习,学生应当利用JDK开发工具包开发简单的java应用程序,熟悉Java开发的基础知识和基本语法,初步了解面向对象程序设计的方法及其思想,为进一步进行计算机高级应用程序的开发打下基础。
二、课程教学内容及各章节学时分配
理论部分:
第1章 Java概述(4学时)
主要知识点:Java语言概述、特点和发展历史,Java应用程序和小应用程序的开发过程与运行环境, java的起源 , java运行机制,JDK、JRE和JVM, java的特点 ,Java环境变量的配置。
第2章 java基础(20学时)
主要知识点:Java的数据类型,运算符和表达式语法,数组的声明和使用方法,字符串的基本使用,
表达式的书写,运算符优先级,程序控制语句,if else语句 while语句 switch语句和for语句,声明数组,使用数组,数组的初始化,向量 。
第3章 面向对象程序设计基础(12学时)
主要知识点:面向对象的基本思想,继承、封装和多态,面向对象的基本概念,类与对象的差别,接口和包的使用方法。
实验部分:
实验一 Java开发工具(2学时)
教学要求:
熟悉JDK开发环境
Java应用程序开发的结构和过程
java小程序的功能和结构
实验二 标识符、关键字和数据类型(2学时)
教学要求:
标识符的定义规则
各种基本数据类型及其转换方法
实验三 运算符、表达式和语句(2学时)
教学要求:
各种运算符的使用及其优先级
熟练表达式的组成
java控制语句和循环语句
实验四 数组和字符串(2学时)
教学要求:
一维数组的使用方法
字符串的使用方法
三、课程教学基本要求
第一章 Java概述
了解Java语言的特点和发展历史,理解java的起源及其运行机制,掌握JDK、JRE和JVM分别是什么,对于java程序的开发过程,重点掌握Java环境变量的配置、Java开发应用程序的一般过程,了解开发Java小程序的一般过程。
第二章 java基础
掌握Java的数据类型,运算符和表达式等基本语法。重点掌握表达式的书写,运算符优先级。掌握程序控制语句:if else语句、while语句、switch语句和for语句,能够熟练运用这些语句进行简单的编程,掌握数组的声明和使用方法以及字符串的基本使用。
第三章 面向对象程序设计基础
掌握面向对象的基本概念,理解面向对象的基本思想:继承、封装和多态。理解类与对象的差别,接口和包的使用方法,重点掌握接口的定义和使用inteface关键字、implements关键字。包的定义和使用package语句和import语句。
四、本课程与其他有关课程的联系
高级语言程序设计课程是学习计算机编程的入门语言,它是一门应用性理论课程,又是学生学习数据结构的基础课程,与地理信息系统、数字图像处理、地理信息系统设计与开发、WebGIS等课程联系密切。
五、教学方法与手段
根据教学目的,采用多媒体等现代教学设施进行讲授、演示,辅助讨论、师生互动、板书等形式,有效地调动学生的积极性,促进学生的积极思考,激发学生的潜能。
六、学时分配表
理论部分:
章 |
学 时 分 配 |
合计 |
讲课 |
习题课 |
实验课 |
上机课 |
讨论课 |
其他 |
1 |
4 |
|
|
2 |
|
|
6 |
2 |
20 |
|
|
4 |
|
|
24 |
3 |
12 |
|
|
2 |
|
|
14 |
实验部分:
实验项目 |
实验性质 |
学时 |
实验一 Java开发工具 |
综合性试验 |
2 |
实验二 标识符、关键字和数据类型 |
综合性试验 |
2 |
实验三 运算符、表达式和语句 |
综合性试验 |
2 |
实验四 数组和字符串 |
综合性试验 |
3 |
七、成绩考核方式
1、平时成绩考核办法:出勤情况(占30%中的30%),提问情况等课堂表现(占30%中的20%)
2、实验成绩考核办法:实验成果及实习报告(占30%中的50%)
3、期末考试考核办法:闭卷笔试占70%
4、课程综合成绩评定:期末占70%,平时和实验共占30%,
八、推荐教材与教学参考书
1、推荐教材:
张思民编著. Java语言程序设计. 清华大学,2013.
2、主要学习资源:
1. Java面向对象程序设计.Ralph Morelli著 董永乐等译 电子工业出版社
2. JAVA 2编程指南.电子工业出版社
3. JAVA面向对象编程指南.电子工业出版社
4. JAVA数据编程指南.电子工业出版社
5. Java大学实用教程.第2版,耿祥义,电子工业出版社,2008年版
6. Java 语言程序设计.(美) Y.Daniel Liang 机械工业出版社 2004.4
7. Java大学教程.Harvey M.ditel著北京,电子工业出版社,2002
大纲修订人:隋晓丽
大纲审定人: 李长坡
制订日期:2014年10月
《高级语言程序设计(2)》课程教学大纲
课程编号:08230
课程英文名称:Advanced Programming Language
学时数:48 学分数:3
适用层次和专业:地理信息科学、测绘工程本科
一、课程的性质和目的
《高级语言程序设计》是地理信息科学专业的一门应用性理论课程。目的是在掌握计算机进行程序设计的基础知识的基础上。通过本课程的学习,学生对java的类库有一个基本的熟悉和了解,对于一些重要的类库要熟练应用,在此基础上能够自主地运用java语言进行初步的高级程序设计。
二、课程教学内容及各章节学时分配
理论部分:
第3章 面向对象程序设计基础(6学时)
主要知识点:面向对象的基本思想,继承、封装和多态,类与对象的差别,接口和包的使用方法,面向对象的基本概念,接口的定义和使用inteface关键字、implements关键字,包的定义和使用package语句和import语句。
第4章 图形用户界面设计(2学时)
主要知识点:Java语言中使用AWT包建立图形用户界面的方法,Java语言的事件处理机制, applet及awt类包,文本组件及按钮类,面板与布局管理,各种布局空间的特点,事件处理,Java的委托处理机制。各种事件的监听器、对应的方法和适配器。
第5章java swing基础(2学时)
主要知识点:Java语言中使用Swing包建立图形用户界面的方法。swing概述 ,jframe类的使用,jcomponent类组件的使用 , 表格(jtable), 树(jtree), 对话框(joptionpane)。
第6章java图形与图像处理2学时)
主要知识点:Java中与图形与图像处理相关的类和使用方法,图形与图形的描绘, 数字图像处理,java 3d基础。
第7章 多线程与异常处理(2学时)
主要知识点:Java中创建多线程程序的两种方法:继承Thread类或者实现Runable接口,Java中的异常处理机制。多线程的基本概念,线程的生命周期和各种状态,线程的使用方法,创建Thread类的子类或者实现Runable接口, 线程同步, 异常处理,异常如何抛出、如何捕获处理。
第8章 输入/输出流(2学时)
主要知识点:Java中进行输入和输出的一般方法。文件的读取和写入操作。数据流和对象流,输入/输出流,流的概念、io类库、字符流与字节流。 文件处理,文件类File、文件流FileInputStream、FileOutputStream、FileReader和FileWriter的用法, 随机存取文件和本地可执行文件, 数据流与对象流, Java多媒体技术。
第9章 高级编程实例讲解与演练(16学时)
实验部分:
实验五 类、对象和接口(2学时)
教学要求:
类的基本使用方法和继承机制
对象的创建、定义和调用实现
熟悉接口的使用规则
实验六 本框和文本区(2学时)
教学要求:
文本框的使用方法
文本区的使用方法
实验七 按钮和标签(2学时)
教学要求:
按钮的创建于监听机制
练习标签的使用方法
实验八 面板和画布(2学时)
教学要求:
面板的创建与使用
画布Canvas的用法
实验九 布局设计(2学时)
教学要求:
各种布局对象的使用方法
实验十 高级编程实例实现(6学时)
教学要求:
设计菜单与工具栏等用户界面
添加菜单、工具栏等的事件响应
实现文件的读取与显示
三、课程教学基本要求
第三章 面向对象程序设计基础
掌握面向对象的基本概念,理解面向对象的基本思想:继承、封装和多态。理解类与对象的差别,接口和包的使用方法,重点掌握接口的定义和使用inteface关键字、implements关键字。包的定义和使用package语句和import语句。
第四章 图形用户界面设计
掌握Java语言中使用AWT包建立图形用户界面的方法。重点掌握applet及awt类包、文本组件及按钮类、面板与布局管理。理解Java语言的事件处理机制。
第五章java swing基础
掌握Java语言中使用Swing包建立图形用户界面的方法,重点掌握jframe类、 jcomponent类组件、表格(jtable)、树(jtree)和对话框(joptionpane)的使用
第六章java图形与图像处理
掌握Java中与图形与图像处理相关的类和使用方法。
第七章 多线程与异常处理
掌握多线程的基本概念,熟悉在Java中创建多线程程序的两种方法:继承Thread类或者实现Runable接口。Java中的异常处理机制。
第八章 输入/输出流
熟悉在Java中进行输入和输出的一般方法。掌握文件的读取和写入操作。熟悉数据流和对象流的相关属性和方法。
第九章 高级编程实例讲解与演练
讲前面所有的章节的知识点在实例中进行综合应用与实现。
四、本课程与其他有关课程的联系
高级程序语言设计课程是在计算机基础课程的基础上,开设的一门应用性理论课程,又是学生学习数据结构的基础课程,与地理信息系统、数字图像处理、地理信息系统设计与开发、WebGIS等课程联系密切。
五、教学方法与手段
根据教学目的,采用多媒体等现代教学设施进行讲授、演示,辅助讨论、师生互动、板书等形式,使学生有效地调动学生的学习积极性,促进学生的积极思考,激发学生的潜能。
六、学时分配表
理论部分:
章 |
学 时 分 配 |
合计 |
讲课 |
习题课 |
实验课 |
上机课 |
讨论课 |
其他 |
3 |
6 |
|
|
|
|
|
6 |
4 |
2 |
|
|
2 |
|
|
4 |
5 |
2 |
|
|
2 |
|
|
4 |
6 |
2 |
|
|
2 |
|
|
4 |
7 |
2 |
|
|
2 |
|
|
4 |
8 |
2 |
|
|
2 |
|
|
4 |
9 |
16 |
|
|
10 |
|
|
26 |
实验部分:
实验项目 |
实验性质 |
学时 |
实验四 类、对象和接口 |
综合性试验 |
2 |
实验六 文本框和文本区 |
综合性试验 |
2 |
实验七 按钮和标签 |
综合性试验 |
2 |
实验八 面板和画布 |
综合性试验 |
2 |
实验九 布局设计 |
综合性试验 |
2 |
实验十 高级编程实例讲解与演练 |
综合性试验 |
16 |
七、成绩考核方式
1、平时成绩考核办法:出勤情况(占30%中的30%),提问情况等课堂表现(占30%中的20%)
2、实验成绩考核办法:实验成果及实习报告(占30%中的50%)
3、期末考试考核办法:闭卷笔试占70%
4、课程综合成绩评定:期末占70%,平时和实验共占30%,
八、推荐教材与教学参考书
1、推荐教材:
张思民编著. Java语言程序设计. 清华大学,2013.
2、主要学习资源:
1. Java面向对象程序设计.Ralph Morelli著 董永乐等译 电子工业出版社
2. JAVA 2编程指南.电子工业出版社
3. JAVA面向对象编程指南.电子工业出版社
4. JAVA数据编程指南.电子工业出版社
5. Java大学实用教程.第2版,耿祥义,电子工业出版社,2008年版
6. Java 语言程序设计.(美) Y.Daniel Liang 机械工业出版社 2004.4
7. Java大学教程.Harvey M.ditel著北京,电子工业出版社,2002
大纲修订人:隋晓丽
大纲审定人: 李长坡
制订日期:2014年10月
《数据结构(含实验)》课程教学大纲
课程编号:08232
课程英文名称:Data Structure
学时数:48 学分数:3
适用层次和专业:地理信息科学、测绘工程本科
一、课程的性质和目的
数据结构(Data Structure)是信息学科中的核心课程之一,也是基础和必修的科目。数据结构是介于数学,计算机硬件和计算机软件三者之间的一门核心课程,它是一门综合性的专业基础课,是学习操作系统、编译原理、数据库原理等计算机专业核心课程的基础,掌握好这门课程的内容,是学习计算机其他相关课程的必备条件。
通过本课程的学习,使学生掌握数据结构和算法设计与分析的基本知识,掌握各种基本数据结构的定义,存储结构、相应的算法以及应用。对于地理信息科学专业的学生,要求培养学生分析问题、解决问题的能力,学会对处理的数据建立抽象数据类型,利用抽象数据类型进行程序设计。
二、本课程主要教学内容及各章节学时分配
理论部分:
第1章 数据结构与算法分析(4学时)
主要知识点: 数据结构的基本概念和术语,算法分析的两种方法,空间复杂度和时间复杂度,掌握big-o的时间复杂度的表示。
第2章 递归(4学时)
主要知识点:递归的定义,重点掌握递归的应用(n的阶乘,斐波纳契数列、汉诺塔)。
第3章 线性结构(10学时)
主要知识点:线性表的定义,线性结构的顺序存储和链式存储的基本算法实现,栈与队列的顺序存储和链式存储的基本算法的实现。(包括入队、出队、入栈、出栈,中缀表达式的计算问题)。数组和字符串的基本算法。
第4章 树结构(4学时)
主要知识点:树的一些专有名词,二叉树的定义、性质,满二叉树与完美二叉树的定义,二叉树的存储与实现,二叉树遍历,二叉查找树的定义、插入、删除,将树和森林转化为二叉树,决定唯一的二叉树,平衡二叉查找树的定义、平衡二叉查找树结点的插入与删除操作。
第5章 图结构(4学时)
主要知识点: 图的定义和术语,图的邻接矩阵和邻接表表示法,图的深度优先搜索、广度优先搜索,最小生成树的三种算法:prim、krushal和sollion算法,最短路径的Dijkstra算法。
第6章 查找(2学时)
主要知识点:顺序查找、二叉查找、二叉搜索树、哈希查找。
第7章 排序 (4学时)
主要知识点:冒泡排序、选择排序、插入排序、归并排序、快速排序、堆排序、希尔排序、二叉树排序、基数排序
实验部分:
实验一 数组求和(2学时)
主要内容:
1. 设计一个方法,完成数组中所有元素相加求和的功能
2. 在main方法中调用,实现计算一个数组的求和工作。
教学要求:
独立完成实验,会应用循环求数组各元素的和,完成算法设计。
实验二 斐波那契序列和n的阶乘的递归与非递归的实现(4学时)
教学要求:
掌握斐波那契序列和n的阶乘的算法设计,包括递归和非递归两种方式。
实验三 链表(4学时)
主要内容:
1. 实现单向链表的节点的插入与删除的功能
2. 实现单向循环链表的节点的插入与删除的功能
3. 实现双向链表的节点的插入与删除的功能
教学要求:
1.掌握单向链表、单向循环链表和双向链表的节点的插入与删除的算法设计与实现。
2.掌握单向链表、单向循环链表和双向链表的节点的插入与删除的区别。
实验四 栈与队列(2学时)
主要内容:
1. 实现栈的入栈与出栈
2. 实现队列的入队与出队
教学要求:
掌握栈的入栈出栈和队列的入队出队的具体算法实现。
实验四 排序(4学时)
主要内容:
1.冒泡排序
2.选择排序
3.插入排序
4.快速排序
教学要求:
掌握冒泡排序、选择排序、插入排序和快速排序的方法,及其算法实现。
四、本课程与其他有关课程的联系
学习本课程前,学生应具有计算机技术的基础知识,以便使学生顺利掌握程序设计等内容。先修课程为《计算机基础》、《高级语言程序设计》。
五、教学方法与手段
根据教学目的,采用多媒体等现代教学设施进行讲授、演示,辅助讨论、师生互动、板书等形式,使学生有效地调动学生的学习积极性,促进学生的积极思考,激发学生的潜能。
六、学时分配表
理论部分:
章 |
学 时 分 配 |
合计 |
讲课 |
习题课 |
实验课 |
上机课 |
讨论课 |
其他 |
1 |
4 |
|
|
2 |
|
|
6 |
2 |
4 |
|
|
4 |
|
|
8 |
3 |
10 |
|
|
6 |
|
|
16 |
4 |
4 |
|
|
|
|
|
4 |
5 |
4 |
|
|
|
|
|
4 |
6 |
2 |
|
|
|
|
|
2 |
7 |
4 |
|
|
4 |
|
|
8 |
实验部分:
实验项目 |
实验性质 |
学时 |
实验一 数组求和 |
综合性实验 |
2 |
实验二 斐波那契序列和n的阶乘的递归与非递归的实现 |
综合性实验 |
4 |
实验三 链表 |
综合性实验 |
4 |
实验四 栈与队列 |
综合性实验 |
2 |
实验五 排序 |
综合性实验 |
4 |
七、成绩考核方式
1.平时成绩考核办法:出勤情况(占30%中的30%),提问情况等课堂表现(占30%中的20%)
2.实验成绩考核办法:实验成果及实习报告(占30%中的50%)
3.期末考试考核办法:闭卷笔试占70%
4.课程综合成绩评定:期末占70%,平时和实验共占30%,
八、推荐教材与学习资源
1、推荐教材:
罗文劼数据结构与算法(java版).机械工业出版社.2013.7
2、主要学习资源:
(1) 严蔚敏 吴伟民.数据结构.清华大学出版社.1997
(2) 黄国瑜.数据结构c语言版.清华大学出版社. 2002.1
(3) 李春堡.数据结构习题与解析.清华大学出版社. 2000.1
(4)王晓东.数据结构与算法设计.电子工业出版社. 2002.3
(5)蔡明志.数据结构(java版).中国铁道出版社. 2006.7
大纲修订人:隋晓丽
大纲审定人: 李长坡
制订日期:2014年10月