1
课程详述
COURSE SPECIFICATION
以下课程信息可能根据实际授课需要或在课程检讨之后产生变动。如对课程有任何疑问,请联
系授课教师。
The course information as follows may be subject to change, either during the session because of unforeseen
circumstances, or following review of the course at the end of the session. Queries about the course should be
directed to the course instructor.
1.
课程名称 Course Title
计算机程序设计基础 A Introduction to Computer Programming A
2.
授课院系
Originating Department
计算机科学与工程系 Department of Computer Science and Technology
3.
课程编号
Course Code
CS102A
4.
课程学分 Credit Value
3
5.
课程类别
Course Type
通识必修课程 General Education (GE)Required Courses
6.
授课学期
Semester
秋季 Fall
春季 Spring
7.
授课语言
Teaching Language
英文 English
中英双语 English & Chinese
8.
他授课教师)
Instructor(s), Affiliation&
Contact
For team teaching, please list
all instructors
刘烨庞,助理教授,计算机科学与工程系,liuyp1@sustech.edu.cn
Yepang Liu, Assistant Professor, Department of Computer Science and Technology,
liuyp1@sustech.edu.cn
张煜群,助理教授,计算机科学与工程系,zhangyq@sustech.edu.cn
Yuqun Zhang, Assistant Professor, Department of Computer Science and Technology,
zhangyq@sustech.edu.cn
高汝霆,助理教授,计算机科学与工程系,kot@sustech.edu.cn
Ruting Gao, Assistant Professor, Department of Computer Science and Technology,
kot@sustech.edu.cn
9.
/
方式
Tutor/TA(s), Contact
朱悦铭,教学实验员,计算机科学与工程系,zhuym@sustech.edu.cn
Yuming Zhu, Teaching laboratory technician, Department of Computer Science and
Technology, zhuym@sustech.edu.cn
胡春风,教学实验师,计算机科学与工程系,hucf@sustech.edu.cn
Chunfeng Hu, Teaching laboratory technician, Department of Computer Science and
Technology, hucf@sustech.edu.cn
沈昀,教学实验员,计算机科学与工程系,sheny@mail.sustech.edu.cn
Yun Shen, Teaching laboratory technician, Department of Computer Science and
Technology, sheny@mail.sustech.edu.cn
10.
选课人数限额(不填)
2
Maximum Enrolment
Optional
授课方式
Delivery Method
习题/辅导/讨论
Tutorials
实验/实习
Lab/Practical
其它(请具体注明)
OtherPlease specify
总学时
Total
11.
学时数
Credit Hours
32
64
12.
先修课程、其它学习要求
Pre-requisites or Other
Academic Requirements
13.
后续课程、其它学习规划
Courses for which this course
is a pre-requisite
14.
其它要求修读本课程的学系
Cross-listing Dept.
教学大纲及教学日历 SYLLABUS
15.
教学目标 Course Objectives
本课程主要面向具有一定编程基础的大学本科生。本课程将介绍面向对象程序设计语言的基础知识和编程技术。学生将学
习一门主流的程序设计语言 Java,学会如何使用该语言进行程序设计,解决实际问题。
The course aims to cultivate talented students who have programming experience before their university study. In this
course, we will introduce the fundamentals of object-oriented programming language and programming techniques. The
students will be familiar with the popular programming language Java and be able to construct programs for solving
general problems.
16.
预达学习成果 Learning Outcomes
在课程结束时,学生应该获得以下技能:
1.了解软件系统的基本模块,因特网和互联网的运行机制。
2.掌握 Java 程序设计语言的基本语法
3.掌握面向对象程序设计的四大特性:抽象,封装,继承,多态。
4.熟悉集成开发环境,并能够设计程序解决实际问题。
On completion of this course, the students should be able to:
1. Understand the basic components in a software system and the working mechanism of the Internet and the Web.
2. Know the basic syntax of the Java programming language.
3. Understand the features of object-oriented programming: abstraction, encapsulation, inheritance, polymorphism.
4. Develop programs to solve real problems using integrated development environments.
17.
课程内容及教学日历 (如授课语言以英文为主,则课程内容介绍可以用英文;如团队教学或模块教学,教学日历须注明
主讲人)
Course Contents (in Parts/Chapters/Sections/Weeks. Please notify name of instructor for course section(s), if
this is a team teaching or module course.)
3
理论课教学大纲
第一讲 引言:计算机,因特网,互联网
计算机:硬件与软件
计算机组成原理
操作系统
Web 2.0
软件技术
第二讲 Java 应用程序简介
Java 开发环境
Java 程序样例解析
基本数据类型
算术运算
第三讲 控制语 1
算法与伪代码
控制结构
选择语句 if if…else…
循环语句 while
第四讲 控制语 2
循环语句 for do…while
选择语句 switch
break continue 语句
逻辑运算符
结构化编程
第五讲 数组
数据结构与数组
for-each 语句
多维数组
第六讲 方法简
模块化编程
方法声明与调用(静态方法)
方法调用栈
方法重载
第七讲 类与对象简介
类、对象、方法
类的声明及实例化
实例变量
用构造方法初始化对象
第八讲 字符串与包装类
字符与字符串
String
4
StringBuilder
基本数据类型的包装类
第九讲 类、对象及方法:深层探究 1
类成员的访问控制
默认和无参构造方法
Set Get 方法
类的设计:组合
第十讲 类、对象及方法:深层探究 2
枚举类型
垃圾回收和 finalize 方法
静态类成员:方法与域
方法重载简介
第十一讲 面向对象程序设计:继承
父类与子类
protected 类成员
利用继承进行软件设计与实现
Object
第十二讲 面向对象程序设计:多态
多态
方法重写
抽象类与抽象方法
Final 类与方法
第十三讲 泛型类与方法
泛型方法
泛型类
通配符
第十四讲 泛型集合
Collection 接口与 Collections
常见集合类型
常用集合方法
第十五讲 异常处理
异常及其处理机制
异常类层次结构
受检异常与未受检异常
Stack traces 及异常链
第十六讲 图形界面编程
图形界面发展历史
容器与模块
事件驱动模型
5
布局管理
Syllabus of Theory Couse
Chapter 1 Introduction to Computers, the Internet and the Web
Computers: Hardware and Software
Computer Organization
Operating Systems
Web 2.0
Software Technologies
Chapter 2 Introduction to Java Applications
Java Development Environment
Programming Examples in Java
Primitive Data Types
Arithmetic Computation
Chapter 3 Control Statements 1
Algorithms and Pseudo Code
Control Structures
Selection Statements if and if…else
Repetition Statements while
Chapter 4 Control Statements 2
Repetition statements for and do…while
Selection statement switch
Break and continue Statements
Logical Operators
Structured Programming
Chapter 5 Arrays
Data Structure and Arrays
Enhanced for Statement
Multidimensional Arrays
Chapter 6 Methods
Modular programming
Method declaration and invocation (static methods)
Method call stack
Method overloading (an introduction)
Chapter 7 Introduction to Classes and Objects
Classes, Objects, and Methods
Declaring a Class and Instantiating an Object of a Class
Instance Variables
Initializing Objects with Constructors
Chapter 8 Strings and Wrapper Classes
Fundamentals of Characters and Strings
Class String