目录

  • 1 课程概况(Course Description)
    • 1.1 课程简介(Introduction)
    • 1.2 教师团队(Team)
    • 1.3 教学条件(Conditions)
    • 1.4 教学方法(Methods)
    • 1.5 教学内容(Contents)
    • 1.6 参考文献(References)
  • 2 课程资源(Course Materials)
    • 2.1 教学大纲(Syllabus)
    • 2.2 电子教材(Text Book)
    • 2.3 教学课件(Slides)
    • 2.4 编程练习(Programming Exercises)
    • 2.5 实验指导(Practice Manuals)
    • 2.6 复习题目(Review Questions)
    • 2.7 平时测验(Quizzes)
    • 2.8 考试样卷(Sample Tests)
  • 3 教学视频(Videos)
    • 3.1 Preface
    • 3.2 Chapter 1 Introduction to Computers, Programs and Java
      • 3.2.1 Chapter 1-1 Basics of Java
      • 3.2.2 Chapter 1-2 Antonamy of Java Program
      • 3.2.3 Chapter 1-3 Programming Errors
    • 3.3 Chapter 2 Elementary Programming
      • 3.3.1 Chapter 2-1 An Elementary Programming Example
      • 3.3.2 Chapter 2-2 Variables
      • 3.3.3 Chapter 2-3 Numerical Data Types and Operators
      • 3.3.4 Chapter 2-4 Number Literals
      • 3.3.5 Chapter 2-5 Arithmetic Expressions
      • 3.3.6 Chapter 2-6 Type Conversion
      • 3.3.7 Chapter 2-7 Case Studies
      • 3.3.8 Chapter 2-8 Common Errors and Pitfalls
    • 3.4 Chapter 3 Selections
      • 3.4.1 Chapter 3-1 Relational Operators and Boolean Type
      • 3.4.2 Chapter 3-2 If Statements
      • 3.4.3 Chapter 3-3 Examples for If Statements
      • 3.4.4 Chapter 3-4 Logical Operators
      • 3.4.5 Chapter 3-5 switch Statements
      • 3.4.6 Chapter 3-6 Conditional Expressions
      • 3.4.7 Chapter 3-7 Operator Precedence and Associativity
    • 3.5 Chapter 4 Mathematical Functions, Characters, and Strings
      • 3.5.1 Chapter 4-1 Mathematical Methods
      • 3.5.2 Chapter 4-2 Characters
      • 3.5.3 Chapter 4-3 Strings
      • 3.5.4 Chapter 4-4 Case Studies
    • 3.6 Chapter 5 Loops
      • 3.6.1 Chapter 5-1 Introduction
      • 3.6.2 Chapter 5-2 while and do-while Loops
      • 3.6.3 Chapter 5-3 for Loops
      • 3.6.4 Chapter 5-4 Nested Loops
      • 3.6.5 Chapter 5-5 Case Studies
      • 3.6.6 Chapter 5-6 Using break and continue
    • 3.7 Chapter 6 Methods
      • 3.7.1 Chapter 6-1 Introduction
      • 3.7.2 Chapter 6-2 Defining and Calling Methods
      • 3.7.3 Chapter 6-3 Call Stacks
      • 3.7.4 Chapter 6-4 void Method Example
      • 3.7.5 Chapter 6-5 Passing Arguments by Values
      • 3.7.6 Chapter 6-6 Modularizing Code
      • 3.7.7 Chapter 6-7 Overloadinig Methods
      • 3.7.8 Chapter 6-8 Scope of Variables
      • 3.7.9 Chapter 6-9 Case Study
      • 3.7.10 Chapter 6-10 Method Abstraction
    • 3.8 Chapter 7 Single-Dimensional Arrays
      • 3.8.1 Chapter 7-1 Introduction
      • 3.8.2 Chapter 7-2 Declaring and Creating Arrays
      • 3.8.3 Chapter 7-3 Processing Arrays
      • 3.8.4 Chapter 7-4 Passing Arrays to Methods
      • 3.8.5 Chapter 7-5 Returning an Array from a Method
      • 3.8.6 Chapter 7-6 Searching Arrays
      • 3.8.7 Chapter 7-7 Sorting  Arrays
      • 3.8.8 Chapter 7-8 Command-Line Arguments
    • 3.9 Chapter 8 Multidimensional Arrays
教学方法(Methods)

Teaching Methods


The course Programming Language Foundation is one of the specialized fundamental courses, which means that it is a basic and prerequisite program for the follow-up professional courses. In order to improve the students' learning interest, and to obtain better learning effects, the task-based or problem-driven teaching mode should be used often in the class. In the problem-driven teaching mode, a problem will be proposed first, and then a series of analysis will be made on the problem, after that the algorithm to solve the problem will be given out, and finally the way how to use Java as a language tool to realize the algorithm in the computer will be shown.

For example, when the array needs to be introduced in the class, the instructor can guide the students to ask the following three questions consequently.  

1. Why it is necessary to introduce arrays?

2. How to define an array in Java?

3. What are the applications of arrays?

In order to answer the first question. The instructor can propose a sorting problem in a scale of 10 numbers to the students and give enough time to the students to try to find a solution by themselves. Usually, the students will be puzzled. At an appropriate moment, the instructor should hint the students that it is not good to store the 10 numbers to be sorted in 10 independent variables. It is better to group them together. Furthermore, the instructor should tell the students that an array can help us to group the 10 numbers together in java, because an array is used as a good space to store the data with the same data type together in Java.

After the first question, the second question can be answered easily. Just tell the syntax for how to define arrays in Java.

As for the third question, the applications of arrays can be further discussed based on the sorting problem mentioned above, and then be expanded into the area of searching problems and others.

Problem-driven teaching model can let the students grasp the theoretical knowledge in practical problems or applications. From practice to theory, and vise visa. The application of problem-driven teaching model in the class can help the students to understand and grasp the knowledge well, and know how to use the knowledge effectively.