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(H) Introduction to Computer Programming A (H)
2.
授课院系
Originating Department
计算机科学与工程系 Department of Computer Science and Engineering
3.
课程编号
Course Code
CS107
4.
课程学分 Credit Value
3
5.
课程类别
Course Type
通识必修课程 General Education (GE)Required Courses
6.
授课学期
Semester
秋季 Fall
7.
授课语言
Teaching Language
中英双语 English & Chinese
8.
他授课教师)
Instructor(s), Affiliation&
Contact
For team teaching, please list
all instructors
余剑峤,助理教授,计算机科学与工程系,yujq3@sustech.edu.cn
Jianqiao Yu, Assistant Professor, Department of Computer Science and Engineering,
yujq3@sustech.edu.cn
9.
/教、学系
方式
Tutor/TA(s), Contact
待公布 To be announced
10.
选课人数限额(不填)
Maximum Enrolment
Optional
授课方式
Delivery Method
习题/辅导/讨论
Tutorials
实验/实习
Lab/Practical
其它(请具体注明)
OtherPlease specify
总学时
Total
11.
学时数
32
64
2
Credit Hours
12.
先修课程、其它学习要求
Pre-requisites or Other
Academic Requirements
NA
13.
后续课程、其它学习规划
Courses for which this course
is a pre-requisite
14.
其它要求修读本课程的学系
Cross-listing Dept.
教学大纲及教学日历 SYLLABUS
15.
教学目标 Course Objectives
本课程主要面向具有一定编程基础的大学本科生。本课程将介绍面向对象程序设计语言的基础知识和编程技术,并对
基本数据类型和数据结进行教授。学生将要学习两门主流程设计语言 Java Python,学会如何使用编程语言进
程序设计,解决实际问题。
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.
We will also introduce preliminary knowledge on data types and data structures. The students will be familiar with two
popular programming languages, i.e., Java and Python. They will be able to construct programs for solving general
problems.
16.
预达学习成果 Learning Outcomes
在课程结束时,学生应该获得以下技能:
1. 了解软件系统的基本模块,因特网和互联网的运行机制。
2. 掌握 Java Python 程序设计语言的基本语法。
3. 掌握面向对象程序设计的四大特性:抽象,封装,继承,多态。
4. 熟悉集成开发环境,并能够设计程序解决实际问题。
5. 了解基础数据类型及数据结构。
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.
5. Understand basic data types and data structures.
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 程序样例解析
基本数据类型
算术运算
第三讲 控制语
算法与伪代码
控制结构
选择语句 if if…else…
循环语句 while
循环语句 for do…while
选择语句 switch
break continue 语句
逻辑运算符
结构化编程
第四讲 数组与方法
数据结构与数组
for-each 语句
多维数组
模块化编程
方法声明与调用(静态方法)
方法调用栈
方法重载
第五讲 类与对象简介
类、对象、方法
类的声明及实例化
实例变量
用构造方法初始化对象
第六讲 字符串与包装类
字符与字符串
String
StringBuilder
基本数据类型的包装类
第七讲 类、对象及方法:深层探究 1
类成员的访问控制
4
默认和无参构造方法
Set Get 方法
类的设计:组合
第八讲 类、对象及方法:深层探究 2
枚举类型
垃圾回收和 finalize 方法
静态类成员:方法与域
方法重载简介
第九讲 面向对象程序设计:继
父类与子类
protected 类成员
利用继承进行软件设计与实现
Object
第十讲 面向对象程序设计:多
多态
方法重写
抽象类与抽象方法
Final 类与方法
第十一讲 泛型类与方法
泛型方法
泛型类
通配符
第十二讲 泛型集合
Collection 接口与 Collections
常见集合类型
常用集合方法
第十三讲 异常处理
异常及其处理机制
异常类层次结构
受检异常与未受检异常
Stack traces 及异常链
第十四讲 Python 编程语言基础 1
变量
列表、多元组、字典
控制流
循环
第十五讲 Python 编程语言基础 2
列表解析式
Python 模块与引用
方法与类
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
Algorithms and Pseudo Code
Control Structures
Selection Statements if and if…else
Repetition Statements while
Repetition statements for and do…while
Selection statement switch
Break and continue Statements
Logical Operators
Structured Programming
Chapter 4 Arrays and Methods
Data Structure and Arrays
Enhanced for Statement
Multidimensional Arrays
Modular programming
Method declaration and invocation (static methods)
Method call stack
Method overloading (an introduction)
Chapter 5 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 6 Strings and Wrapper Classes
Fundamentals of Characters and Strings
Class String
Class StringBuilder