《面向对象程序设计(双语)》课程教学大纲 一、课程基本信息 课程代码:16073504 课程名称:面向对象程序设计(双语) 英文名称:Object--Oriented Programming 课程类别:专业课 时:4 学 分:4 适用对象:计算机科学与技术专业 考核方式:考试 先修课程:程序设计 二、课程简介 本课程是计算机科学与技术专业基础课,也是后续相关课程的核心基础。本课程 以某一面向对象程序设计语言为载体(Java、C+、Python),在程序设计语言基本语 言要素基础上,主要讲解面向对象程序设计思想,围绕封装、继承和多态三大核心 内容,以实践为导向,培养学生的程序解决能力。本课程采用双语授课方式,结合学 生特点,提供多样化的教学方式。 This course is the basic course in the computer science and technology, also is the core basic of the following related courses.It introduces one of object-oriented programming language,such as Java,C++and Python.Based on the program language syntax,it mainly illustrates the core idea of ob jected-oriented programming,which includes encapsulation,inheritance and polymorphism.This course is guided by the practice and aiming at improving the students'programming solution abilities.Combined with the features of students,we provide diversified teaching methods by the bilingual teaching. 三、课程性质与教学目的 本门课程是计算机科学与技术专业必修课。通过本门课程的学习,使学生掌握面 向对象编程思想,理解结构化程序设计与面向对象程序设计的区别,熟练掌握一种面 向对象程序设计语言的语法,能够运用该门语言解决具体程序问题,具备一定的程序 问题解决能力,为后续实践课程学习奠定基础:使学生深刻理解“科技是第一生产力, 1
1 《面向对象程序设计(双语)》课程教学大纲 一、课程基本信息 课程代码:16073504 课程名称:面向对象程序设计(双语) 英文名称:Object-Oriented Programming 课程类别:专业课 学 时:4 学 分:4 适用对象: 计算机科学与技术专业 考核方式:考试 先修课程:程序设计 二、课程简介 本课程是计算机科学与技术专业基础课,也是后续相关课程的核心基础。本课程 以某一面向对象程序设计语言为载体(Java、C++、Python),在程序设计语言基本语 言要素基础上,主要讲解面向对象程序设计思想, 围绕封装、继承和多态三大核心 内容,以实践为导向,培养学生的程序解决能力。本课程采用双语授课方式,结合学 生特点,提供多样化的教学方式。 This course is the basic course in the computer science and technology, also is the core basic of the following related courses. It introduces one of object-oriented programming language, such as Java, C++ and Python. Based on the program language syntax, it mainly illustrates the core idea of objected-oriented programming, which includes encapsulation, inheritance and polymorphism. This course is guided by the practice and aiming at improving the students’ programming solution abilities. Combined with the features of students, we provide diversified teaching methods by the bilingual teaching. 三、课程性质与教学目的 本门课程是计算机科学与技术专业必修课。通过本门课程的学习,使学生掌握面 向对象编程思想,理解结构化程序设计与面向对象程序设计的区别,熟练掌握一种面 向对象程序设计语言的语法,能够运用该门语言解决具体程序问题,具备一定的程序 问题解决能力,为后续实践课程学习奠定基础;使学生深刻理解“科技是第一生产力
创新实第一动力”,掌握扎实的基础理论,坚持科技兴国,实干兴邦,服务社会主义 现代化国家建设。 四、教学内容及要求 第一章Introduction (一)目的与要求 1.Describe the relationship between hardware and software. 2.Define various types of software and how they are used. 3.Identify the core hardware components of a computer and explain their roles. 4.Explain how the hardware components interact to execute programs and manage data 5.Introduce the Java programming language. 6.Describe the steps involved in program compilation and execution. 7.Present an overview of object-oriented principles. (二)教学内容 第-节Computer Processing 1.主要内容 (1)the relationship between hardware and software (2)various types of software and how they are used 2.基本概念和知识点 Computer system.software.digital computers.binary number 3.问题与应用(能力要求) 根据日常实际理解计算机处理。 融入点: (1)中国计算机发展史一1956年,周总理亲自主持制定的《十二年科学技 术发展规划》中,就把计算机列为发展科学技术的重点之一,并在1957 年筹建中国第一个计算技术研究所。 由中国计算机发展史引入相关概念,让同学们理解我国科技复兴之路发展 历程 (2)二十大报告指出,十年来,从载人航天到探月探火,从超级计算机到 量子信息,我国取得一批重大成果,成功进入创新型国家。 未来检查科技创新将是人才培养的一项重要内容。 2
2 创新实第一动力”,掌握扎实的基础理论,坚持科技兴国,实干兴邦,服务社会主义 现代化国家建设。 四、教学内容及要求 第一章 Introduction (一)目的与要求 1.Describe the relationship between hardware and software. 2.Define various types of software and how they are used. 3.Identify the core hardware components of a computer and explain their roles. 4.Explain how the hardware components interact to execute programs and manage data. 5.Introduce the Java programming language. 6.Describe the steps involved in program compilation and execution. 7.Present an overview of object-oriented principles. (二)教学内容 第一节 Computer Processing 1.主要内容 (1) the relationship between hardware and software (2) various types of software and how they are used 2.基本概念和知识点 Computer System, Software, Digital Computers, Binary number 3.问题与应用(能力要求) 根据日常实际理解计算机处理。 融入点: (1)中国计算机发展史--1956 年,周总理亲自主持制定的《十二年科学技 术发展规划》中,就把计算机列为发展科学技术的重点之一,并在 1957 年筹建中国第一个计算技术研究所。 由中国计算机发展史引入相关概念,让同学们理解我国科技复兴之路发展 历程。 (2) 二十大报告指出,十年来,从载人航天到探月探火,从超级计算机到 量子信息,我国取得一批重大成果,成功进入创新型国家。 未来检查科技创新将是人才培养的一项重要内容
第二节Hardware Components 1.主要内容 (1)the core hardware components of a computer (2)how the hardware components interact to execute programs and manage data. 2.基本概念和知识点 Computer Architecture,Input/Output Devices,Main Memory and Secondary Memory,The Central Processing Unit 3.问题与应用(能力要求) 理解组件间的联系。 融入点: (1)对比我国社会矛盾的变化讲解计算机硬件组件的协作与发展。 (2)进入新时代,我国社会主要矛盾已经转化为人民日益增长的美好生活 需要和不平衡不充分的发展之间的矛盾,发展中的矛盾和问题更多体现在 发展质量上,这一演化过程可以映射到当前的计算机硬件发展上,包括国 家对于“卡脖子问题”的重点布局也是高质量发展的需求。 第三节The Java Programming Language 1.主要内容 (1)Introduce java programming language 2.基本概念和知识点 Java Program structure comments,identifiers and reserved words. 3.问题与应用(能力要求) 对比C语言程序,理解Java基本程序Hello World 第四节Program Development 1.主要内容 (1)Programming Language Levels (2)Editors,Complilers,and Interpreters (3)Development Environments (4)Syntax and Semantics (5)Errors 2.基本概念和知识点 (1)All programs must be translated to a particular CPU's machine language in order to be executed. (2)High-level languages allow a programmer to ignore the 3
3 第二节 Hardware Components 1.主要内容 (1) the core hardware components of a computer (2) how the hardware components interact to execute programs and manage data. 2.基本概念和知识点 Computer Architecture,Input/Output Devices,Main Memory and Secondary Memory,The Central Processing Unit 3.问题与应用(能力要求) 理解组件间的联系。 融入点: (1)对比我国社会矛盾的变化讲解计算机硬件组件的协作与发展。 (2)进入新时代,我国社会主要矛盾已经转化为人民日益增长的美好生活 需要和不平衡不充分的发展之间的矛盾,发展中的矛盾和问题更多体现在 发展质量上,这一演化过程可以映射到当前的计算机硬件发展上,包括国 家对于“卡脖子问题”的重点布局也是高质量发展的需求。 第三节 The Java Programming Language 1.主要内容 (1) Introduce java programming language 2.基本概念和知识点 Java Program structure, comments, identifiers and reserved words, 3.问题与应用(能力要求) 对比 C 语言程序,理解 Java 基本程序 Hello World 第四节 Program Development 1.主要内容 (1) Programming Language Levels (2) Editors,Complilers,and Interpreters (3) Development Environments (4) Syntax and Semantics (5) Errors 2.基本概念和知识点 (1) All programs must be translated to a particular CPU ’s machine language in order to be executed. (2) High-level languages allow a programmer to ignore the
underlying details of machine language. (3)A Java compiler translates Java source code into Java bytecode,a lowlevel,architecture-neutral representation of the program. (4)Many different development environments exist to help you create and modify Java programs. (5)Syntax rules dictate the form of a program.Semantics dictate the meaning of the program statements. (6)The programmer is responsible for the accuracy and reliability of a program. (7)AJava program must be syntactically correct or the comler will not produce bytecode. 3.问题与应用(能力要求) 学会使用命令行模式和IDE方式编译执行程序。 第五节Object--Oriented Programming 1.主要内容 (1)Problem Solving (2)Object-Oriented Software Principles 2.基本概念和知识点 (1)Object-oriented programming helps us solve problems,which is the purpose of writing a program. (2)Program design involves breaking a solution down into manageable pieces (3)Each object has a state,defined by its attributes,and a set of behaviors,defined by its methods. (4)A class is a blueprint of an object.Multiple objects can be created from one class definition. 3.问题与应用(能力要求) 无 融入点:面向对象思想来源于哲学思想,在讲解过程中引入习近平新时 代哲学观。 (三)思考与实践 联系程序设计课程中C语言的特点,对比Java的特点。 能够用Java语言编写入门的简单程序。 (四)教学方法与手段 4
4 underlying details of machine language. (3) A Java compiler translates Java source code into Java bytecode, a lowlevel,architecture-neutral representation of the program. (4) Many different development environments exist to help you create and modify Java programs. (5) Syntax rules dictate the form of a program. Semantics dictate the meaning of the program statements. (6) The programmer is responsible for the accuracy and reliability of a program. (7) A Java program must be syntactically correct or the compiler will not produce bytecode. 3.问题与应用(能力要求) 学会使用命令行模式和 IDE 方式编译执行程序。 第五节 Object-Oriented Programming 1.主要内容 (1) Problem Solving (2) Object-Oriented Software Principles 2.基本概念和知识点 (1) Object-oriented programming helps us solve problems, which is the purpose of writing a program. (2) Program design involves breaking a solution down into manageable pieces. (3) Each object has a state, defined by its attributes, and a set of behaviors, defined by its methods. (4) A class is a blueprint of an object. Multiple objects can be created from one class definition. 3.问题与应用(能力要求) 无 融入点:面向对象思想来源于哲学思想,在讲解过程中引入习近平新时 代哲学观。 (三)思考与实践 联系程序设计课程中 C 语言的特点,对比 Java 的特点。 能够用 Java 语言编写入门的简单程序。 (四)教学方法与手段
本章主要采用分组讨论和课堂讲授方法。 第二章Data and Expressions (一)目的与要求 1.Discuss the use of character strings.concatenation.and escape Sequences 2.Explore the declaration and use of variables. 3.Describe the Java primitive data types. 4.Discuss the syntax and processing of expressions. 5.Define the types of data conversions and the mechanisms for Accomplishing them. 6.Introduce the Scanner class to create interactive programs. (二)教学内容 第节Character Strings 1.主要内容 (1)The print and printIn Methods (2)String Concatenation (3)Escape Sequences 2.基本概念和知识点 (1)The print and println methods represent two services provided by the System.out object (2)An escape sequence can be used to represent a character that would otherwise cause compilation problems 3.问题与应用(能力要求) 掌握字符串的使用方法,包括连接符与转义符 第二节Variables and Assignment 1.主要内容 (1)Variables (2)The Assignment Statement (3)Constants 2.基本概念和知识点 (1)A variable is a name for a memory location used to hold a value of a particular data type. (2)Accessing data leaves it intact in memory,but an assignment statement overwrites the old data. 5
5 本章主要采用分组讨论和课堂讲授方法。 第二章 Data and Expressions (一)目的与要求 1.Discuss the use of character strings, concatenation, and escape Sequences. 2.Explore the declaration and use of variables. 3.Describe the Java primitive data types. 4.Discuss the syntax and processing of expressions. 5.Define the types of data conversions and the mechanisms for Accomplishing them. 6.Introduce the Scanner class to create interactive programs. (二)教学内容 第一节 Character Strings 1.主要内容 (1) The print and println Methods (2) String Concatenation (3) Escape Sequences 2.基本概念和知识点 (1) The print and println methods represent two services provided by the System.out object. (2) An escape sequence can be used to represent a character that would otherwise cause compilation problems. 3.问题与应用(能力要求) 掌握字符串的使用方法,包括连接符与转义符 第二节 Variables and Assignment 1.主要内容 (1) Variables (2) The Assignment Statement (3) Constants 2.基本概念和知识点 (1) A variable is a name for a memory location used to hold a value of a particular data type. (2) Accessing data leaves it intact in memory, but an assignment statement overwrites the old data
(3)We cannot assign a value of one type to a variable of an incompatible type. (4)Constants hold a particular value for the duration of their existence. 3.问题与应用(能力要求) 会正确定义变量和常量,使用赋值语句 第三节Primitive Data Types 1.主要内容 (1)Integers and Floating Points (2)Characters (3)Booleans 2.基本概念和知识点 (1)Java has two kinds of numeric values:integer and floating point.There are four integer data types and two floating point data types (2)Java uses the 16-bit Unicode character set to represent character data 3.问题与应用(能力要求) 根据基本数据类型以及其占据的内容空间合理定义变量类型 融入点: (1)数据类型定义与内存空间分配关系紧密,由空间分配引入促进人 与自然和谐共生的相关思想,引导学生思考如何在有限的空间和资源下, 达到最大的效用。 (2)结合习近平生态文明思想,探讨资源利用问题。 第四节Expressions 1.主要内容 (1)Arithmetic Operators (2)Operator Precedence (3)Increment and Decrement Operators (4)Assignment Operators 2.基本概念和知识点 (1)Expressions are combinations of operators and operands used to perform a calculation. (2)Java follows a well-defined set of precedence rules that governs the order in which operators will be evaluated in an
6 (3) We cannot assign a value of one type to a variable of an incompatible type. (4) Constants hold a particular value for the duration of their existence. 3.问题与应用(能力要求) 会正确定义变量和常量,使用赋值语句 第三节 Primitive Data Types 1.主要内容 (1) Integers and Floating Points (2) Characters (3) Booleans 2.基本概念和知识点 (1) Java has two kinds of numeric values: integer and floating point. There are four integer data types and two floating point data types. (2) Java uses the 16-bit Unicode character set to represent character data. 3.问题与应用(能力要求) 根据基本数据类型以及其占据的内容空间合理定义变量类型 融入点: (1)数据类型定义与内存空间分配关系紧密,由空间分配引入促进人 与自然和谐共生的相关思想,引导学生思考如何在有限的空间和资源下, 达到最大的效用。 (2)结合习近平生态文明思想,探讨资源利用问题。 第四节 Expressions 1.主要内容 (1) Arithmetic Operators (2) Operator Precedence (3) Increment and Decrement Operators (4) Assignment Operators 2.基本概念和知识点 (1) Expressions are combinations of operators and operands used to perform a calculation. (2) Java follows a well-defined set of precedence rules that governs the order in which operators will be evaluated in an
expression. 3.问题与应用(能力要求 掌握表达式的优先级 第五节Data Conversion 1.主要内容 (1)Conversion Techniques 2.基本概念和知识点 (1)Narrowing conversions (2)Widening conversions 3.问题与应用(能力要求) 掌握什么情况下用narrowing和widening conversion 第六节Interactive Programs 1.主要内容 The Scanner Class 2.基本概念和知识点 The Scanner class provides methods for reading input of various types from various sources. 3.问题与应用(能力要求) 掌握Scanner类的使用方法 (三)思考与实践 利用Scanner类与屏幕交互,计算表达式结果,并在屏幕输出。 (四)教学方法与手段 课堂讲授为主。 第三章Using Classes and0 bjects (一)目的与要求 1.Discuss the creation of objects and the use of object reference variables. 2.Explore the services provided by the String class. 3.Describe how the Java standard class library is organized into packages 4.Explore the services provided by the Random and Math classes. 5.Discuss wrapper classes and the concept of autoboxing. 6.Introduce components and containers used in graphical user interfaces. 7
7 expression. 3.问题与应用(能力要求) 掌握表达式的优先级 第五节 Data Conversion 1.主要内容 (1) Conversion Techniques 2.基本概念和知识点 (1) Narrowing conversions (2) Widening conversions 3.问题与应用(能力要求) 掌握什么情况下用 narrowing 和 widening conversion 第六节 Interactive Programs 1.主要内容 The Scanner Class 2.基本概念和知识点 The Scanner class provides methods for reading input of various types from various sources. 3.问题与应用(能力要求) 掌握 Scanner 类的使用方法 (三)思考与实践 利用 Scanner 类与屏幕交互,计算表达式结果,并在屏幕输出。 (四)教学方法与手段 课堂讲授为主。 第三章 Using Classes and Objects (一)目的与要求 1.Discuss the creation of objects and the use of object reference variables. 2.Explore the services provided by the String class. 3.Describe how the Java standard class library is organized into packages. 4.Explore the services provided by the Random and Math classes. 5.Discuss wrapper classes and the concept of autoboxing. 6.Introduce components and containers used in graphical user interfaces
7.Describe a label component and the use of images. (二)教学内容 第一节Creating ob iects 1,主要内容 How to create an obiect? 2.基本概念和知识点 (1)The new operator returns a reference to a newly created object. (2)Multiple reference variables can refer to the same object. (3)Usually a method is executed on a particular object,which affects the results. 3.问题与应用(能力要求) 提供创建对象,理解对象在内存中的存储原理。 第二节The String Class 1.主要内容 Methods of the String class 2.基本概念和知识点 Methods:charAt(int index),compareTo(String str),concat(String str),equals(String str),equalsIgnoreCase(String str),length(),replace(char oldChar,char newChar),substring(int offset,int endIndex),toLowerCase(),toUpperCase() 3.问题与应用(能力要求) (1)学会使用String类的方法。 (2)了解String类在初始化上与其他类的区别, (3)学握String类的内存存储模式 第三节Package 1,主要内容 (1)Class Libraries (2)The Java API (3)Packages (4)The import Declaration 2.基本概念和知识点 (1)A class library provides useful support when developing programs
8 7.Describe a label component and the use of images. (二)教学内容 第一节 Creating Objects 1.主要内容 How to create an object? 2.基本概念和知识点 (1) The new operator returns a reference to a newly created object. (2) Multiple reference variables can refer to the same object. (3) Usually a method is executed on a particular object, which affects the results. 3.问题与应用(能力要求) 提供创建对象,理解对象在内存中的存储原理。 第二节 The String Class 1.主要内容 Methods of the String class 2.基本概念和知识点 Methods:charAt(int index),compareTo(String str),concat(String str),equals(String str),equalsIgnoreCase(String str),length(),replace(char oldChar,char newChar),substring(int offset,int endIndex),toLowerCase(),toUpperCase() 3.问题与应用(能力要求) (1)学会使用 String 类的方法。 (2)了解 String 类在初始化上与其他类的区别。 (3)掌握 String 类的内存存储模式 第三节 Package 1.主要内容 (1) Class Libraries (2) The Java API (3) Packages (4) The import Declaration 2.基本概念和知识点 (1) A class library provides useful support when developing programs
(2)The Java standard class library is organized into packages. (3)All classes of the java.lang package are automatically imported for every program. 3.问题与应用(能力要求 熟悉常见的java包。 融入点:结合国家治理体系讲解Java中的包和类库的作用,双向融合的 方式,既帮助同学们理解包和类库的本质作用,也帮助同学们建立我国国 际治理体系的认知。 第四节The Random and Math Class 1.主要内容 (1)Random Class (②)Math Class 2.基本概念和知识点 (1)A pseudorandom number generator performs a complex calculation to create the illusion of randomness (2)All methods of the Math class are static,meaning they are invoked through the class name. (3)Methods of Random and Math class. 3.问题与应用(能力要求) 学会使用Random和Math的方法。 第五节Wrapper Class 1.主要内容 (1)Wrapper classes that correspond to each primitive type. (2)Autoboxing 2.基本概念和知识点 (1)A wrapper class allows a primitive value to be managed as an object (2)Autoboxing provides automatic conversions between primitive values and corresponding wrapper objects. 3.问题与应用(能力要求) 学会使用基本数据类型所对应的Wrapper class。 第六节Components and Containers 1.主要内容 (1)Graphical Applications (2)GUI Component 9
9 (2) The Java standard class library is organized into packages. (3) All classes of the java.lang package are automatically imported for every program. 3.问题与应用(能力要求) 熟悉常见的 java 包。 融入点:结合国家治理体系讲解 Java 中的包和类库的作用,双向融合的 方式,既帮助同学们理解包和类库的本质作用,也帮助同学们建立我国国 际治理体系的认知。 第四节 The Random and Math Class 1.主要内容 (1) Random Class (2) Math Class 2.基本概念和知识点 (1) A pseudorandom number generator performs a complex calculation to create the illusion of randomness. (2) All methods of the Math class are static, meaning they are invoked through the class name. (3) Methods of Random and Math class. 3.问题与应用(能力要求) 学会使用 Random 和 Math 的方法。 第五节 Wrapper Class 1.主要内容 (1) Wrapper classes that correspond to each primitive type. (2) Autoboxing 2.基本概念和知识点 (1) A wrapper class allows a primitive value to be managed as an object. (2) Autoboxing provides automatic conversions between primitive values and corresponding wrapper objects. 3.问题与应用(能力要求) 学会使用基本数据类型所对应的 Wrapper class。 第六节 Components and Containers 1.主要内容 (1) Graphical Applications (2) GUI Component
(3)GUI Containers (4)Labels (5)Nested Panels 2.基本概念和知识点 (1)Containers are special GUI components that hold and organize other components. (2)A frame is displayed as a separate window,but a panel can be displayed only as part of another container. (3)Every container is managed by a layout manager. (4)Panels can be nested to create an intricate containment hierarchy of components. (5)A label can contain text,an image,or both. 3.问题与应用(能力要求) 完成个嵌套Panel,带Label的用户界面程序。 (三)思考与实践 理解用户界面的构造思路。 (四)教学方法与手段 课堂讲授为主 第四章Writing Classes (一)目的与要求 1.Discuss the structure and content of a class definition. 2.Establish the concept of object state using instance data 3.Describe the effect of visibility modifiers on methods and data 4.Explore the structure of a method definition,including parameters and return values. 5.Discuss the structure and purpose of a constructor. 6.Explore the creation of graphical objects. 7.Introduce the concepts needed to create an interactive graphical user interface. 8.Explore some basic GUI components and events. (二)教学内容 第-节Classes and Objects 1.主要内容 (1)The relationship between an object and a class 10
10 (3) GUI Containers (4) Labels (5) Nested Panels 2.基本概念和知识点 (1) Containers are special GUI components that hold and organize other components. (2) A frame is displayed as a separate window, but a panel can be displayed only as part of another container. (3) Every container is managed by a layout manager. (4) Panels can be nested to create an intricate containment hierarchy of components. (5) A label can contain text, an image, or both. 3.问题与应用(能力要求) 完成一个嵌套 Panel,带 Label 的用户界面程序。 (三)思考与实践 理解用户界面的构造思路。 (四)教学方法与手段 课堂讲授为主 第四章 Writing Classes (一)目的与要求 1.Discuss the structure and content of a class definition. 2.Establish the concept of object state using instance data. 3.Describe the effect of visibility modifiers on methods and data. 4.Explore the structure of a method definition, including parameters and return values. 5.Discuss the structure and purpose of a constructor. 6.Explore the creation of graphical objects. 7.Introduce the concepts needed to create an interactive graphical user interface. 8.Explore some basic GUI components and events. (二)教学内容 第一节 Classes and Objects 1.主要内容 (1) The relationship between an object and a class