目录

  • 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
课程简介(Introduction)

Introduction


The name of the course changed along with the revision of teaching plans. At the beginning, the course was named as Programming Foundation, and then Object-Oriented Program Foundation. And finally, the course got the current name Programming Language Foundation.

The course originated from one of the public fundamental courses (Programming in Language C) for students of science and technology, and one of the specialized fundamental courses (Programming Design Foundation) for students in computer science or related majors. Both of them have a history of over 30 years.

Since 2006, in order to cultivate international talents in the area of computer science and software engineering, NUIST (Nanjing University of Information Science and Technology) began to cooperate with overseas higher education institutions with good reputations in a mode of 4+0 (4 means that the students need to study in NUIST for full four years, and 0 means that the students don't need to go aboard to study in the cooperated universities). The way of cooperation was mainly to introduce the international education resources of good quality into NUIST. The resources included the teaching plans, the syllabus, the textbooks and other materials. The course was taught in a bilingual mode, which meant that the educational resources were in English but the teachers and the students spoke Chinese during the class. As one of the cooperation results, the Programming Foundation course was created. And based on the plentiful teaching experiences and the introduced valued resources, the course created good reputations.

From 2009, the mode changed to be 3+1 (3 means that the students need to study in NUIST for the first three years, and 1 means that the students need to further the study in the overseas universities in the fourth year). Along with the change, the teaching plans and the syllabus were revised. Meanwhile, the course Programming Foundation was renamed as Object-Oriented Programming Foundation, in order to enhance the abilities of object-oriented programming for students. And the programming language was chosen as Java.

From 2010, the school of international education in NUIST began to enroll international students for computer science, software engineering, and electrical engineering. Most of the international students were from the countries in which English were used as the offical language. Therefore, in order to guarantee the teaching effects, all of the instructors for the international students were chosen from teachers with solid knowledge foundation and a background of studying abroad at least for six months or can use oral and written English fluently. And at the same time, an instructor from the overseas partner was invited to NUIST as a counselor to help to improve the teaching effects. Right now, there are more than 200 international students on campus in computer science and related majors. Averagely, 50 international students in the area of software engineering, electrical engineering, and computer science were enrolled per year.

In order to fit with the demands of international students, the teaching plans and the syllabus for the course of Object-Oriented Programming Foundation were revised again. The revision concentrated on the language foundation more than the object-oriented programming. Therefore the name of the course was renamed as Programming Language Foundation in 2012. 

Right now, based on the construction of almost 10 years for the course Programming Language Foundation, a perfect curriculum system has been set up, a stable teaching team has been cultivated, a bunch of good education resources including the syllabus, the teaching plans and the teaching slides have been developed, and a special website for the course has been created. All of these will guarantee the teaching effects for the international students.