个人介绍
C语言程序设计

主讲教师:Li Ping (李平)

教师团队:共4

  • Li Ping
  • Tan Min
  • 张新
  • 张灵均
学校: 杭州电子科技大学
开课院系: 计算机学院(软件学院)
课程负责人: 李平 / LI Ping
课程英文名称: Programming for C Language
课程编号: A050101G
学分: 4.0
课时: 80
Course Description
The C Programming Language course aims to introduce the widely used programming language C for general purpose. It aims to cultivate programming-thinking centered exploration spirit, innovation & practice ability, and team spirit for international students. The teaching goal is to make students master primary applications of C language, and equip them with some basic abilities of designing and writing simple algorithms and programs.
Teaching Faculty

Li Ping

职称:Professor

单位:Hangzhou Dianzi University

部门:School of Computer Science

Tan Min

职称:Professor

单位:Hangzhou Dianzi University

部门:School of Computer Science

张新

职称:讲师

单位:杭州电子科技大学

部门:计算机学院

张灵均

职称:讲师

单位:杭州电子科技大学

部门:计算机学院

Textbook & Reference

Textbook:

The C Programming Language(2nd Edition). Brian W. Kernighan, Dennis M. Ritchie. China Machine Press. 2016.7.

Reference:

C Primer Plus (6th Edition). Stephen Prata. Posts & Telecom Press. 2016.3.

Syllabus

I.  Course Objectives and Teaching Tasks

This is a publically fundamental course focusingon C Programming Language in English. This syllabus is tailored for internationalstudents in Science and Technology majors except for Computer Science. It aimsto cultivate programming-thinking centred exploration spirit, innovation &practice ability, and team spirit of international students.

The teaching task of this course is to makestudents: understand basic concepts of programming and fundamental methods ofsolving computer problems; master the basic idea of programming; be equippedwith the ability of reading and designing programs; accomplish the task ofwriting and debugging C programmes so as to solve simple practical problems.

Through lectures and practical courses, we aim to achieve the following goals:

1. Make students understand and master the basic concepts, commonly used functions and algorithms of C language; cultivate theirexploration ability and creative thought in programming.

2. Make students master the idea and the methods of programming; equip them with the fundamental ability of writing anddebugging programmes; cultivate their ability of solving practical problems using engineering thought. 

II. Course Content and Basic Requirements

1.    C Language Basics

Knowthe history background and features of C language; master at least one IDE suchas CodeBlocks and Visual C++ including practice procedure, editing, compiling,connection and running; master the structure of main function; master thenaming ways of variables; understanding the usage of library function; mastertypical input and output functions including printf(), scanf(), putchar(),getchar(); master some commonly used library functions, e.g., sqrt(), fabs(),pow().

2.    Data Types, Operators and Expressions

(1)  Basic data types: Understand the concepts of integer, float, char datatypes; master the definition, initialization and usage of int, float, char variables; master the constant representation ofdifferent types.

(2)  Operators and expressions: Master the definition of arithmetic operators(+, -, *, /, %) and the calculation rules of different data types; master increment (++) and decrement operators (--); master the applications of six relational operators (<, <=, >, >=, ==, !=) in expressions; master three logical operators (&&, ||, !) and the definition of logical expression value; master assignment operators (=, +=, -=, /=, *=, %=, >>=, <<=, ^=, &=,|=); master comma operator (,) and conditional operator (? :).

(3)  Evaluation rules, precedence and associativity: Master the evaluation rules of different operators and their precedence as well as associativity.

3.    Control Statement

(1)  Basic statements: Master the definition and usage of expressionstatement, assignment statement, compound statement, null statement.

(2)  Flow control statements: Master typical control statements including break, continue, return, compound control statements including for, while, do-while, and branch control statements including if and switch-case; learnhow to write programs using control statements.

(3)  Basic programming: Master some simple programming idea, e.g., calculate the maximum value and the minimum value of a group of data; apply double-loopor multiple-loop to programming.

4.    Function and Program Structure

(1) Function definition: Master the definition form offunction and how to define those function returning different values in variousdata types (including the function returning the pointer type)

(2) Function calling: Masterthe definition and declaration of formal arguments and actual arguments in thefunction; understand the argument passing mechanism, and value-pass calling andaddress-pass calling; master nested calling of function; know the meaning,definition and usage of recursive function.

(3) Variable scope and storage class:Understand the declaration way and the scope of local variable and globalvariable; understand the concept of storage class and the valid period ofdifferent storage types; correctly declare variables with different storage classes.

(4) The C pre-processor: Master theusage of file inclusion, macro definition and macro function; know conditionalcompiling commands.

5.    Array and Pointer

(1)    Master the declaration, initialization and element accessin one-dimensional array and two-dimensional array;

(2)    Master the storage way of character array in memory andinput/output methods; master popular character string functions, e.g.,strlen(), sizeof().

(3)    Learn how to handle some simple problems using array;master the implementations of sorting and matrix transpose.

(4)    Understand the concept of pointer and address; understandthe data storage in memory, the address of memory unit and the content ofmemory unit.

(5)    Understand the concept of direct access and indirectaccess.

(6)    Master the declaration, initialization and usage ofpointer variable.

(7)    Understand the practical meaning of pointer as functionargument and can flexibly apply pointer according to real-world situations.

(8)    Master the relations between array and pointer, as wellas different applications; master the relations between pointer and string, aswell as different applications.

(9)    Learn how to resolve practical problems using array andpointer.

6.    Structure and Union

Master the declaration, initialization andapplication of structure variable; master the declaration and application ofstructure array and structure pointer; know the concepts of union.

7.    File Input and Output

Master the usage of some standard functions relating to file read and write, such as fprintf(), fscanf(), fgets(), fputs(); learn how to input and output data using file in programs; learn how to handle practical problems using file.

III. Practical Course and Basic Requirements

This course includes 32 practical sessions in class and 32 sessions outside class.

This course requires students to capture the skills to develop C language programs on the popular IDE, such as CodeBlocks, and also be able to debug programs when necessary.

The main contents are as follows:

  1. Write simple programs.

  2. The declaration, initialization and usage of variableswith different data types

  3. The precedence and associativity of various operators

  4. The composition rule and calculation of expressions

  5. The usage of basic statements and control statements

  6. The usage of one-dimensional array and two-dimensionalarray

  7. Handle strings using pointer

  8. The usage of function, argument passing mechanism, macrodeclaration, local variables and global variables

  9. The usage of standard functions relating to file read andwrite

 

IV. Correlations with Other Courses

There is one previous course and two subsequent courses w.r.t. this course.

Previous courses: College Computer Basics

Subsequent courses: C++ Programming, Java Programming

 V. Teaching Organization

During the teaching process,this course adopts several appropriate teaching approaches for internationalstudents.

The details teaching approaches are listed in the following:

(1)  Seminar-style teaching;

(2)  Small-class teaching;

(3)  Case-based teaching;

(4)  Mini-discussion and quiz in the class. 

VI. Teaching Period Distribution                                                                                                                                                                  

 

Teaching Content

 
 

Teaching Hours

 
 

Experiment

 
 

Practice

 
 

Computer

 
 

Self-study

 
 

Exercise

 
 

Discussion

 
 

C Language Basics

 
 

6

 


 

4

 
 

4

 


 

Data Types

 
 

3

 


 

2

 
 

2

 


 

Operators and Expressions

 
 

3

 


 

2

 
 

2

 


 

Control Statement

 
 

6

 


 

4

 
 

4

 


 

Function and Program Structure

 
 

6

 


 

4

 
 

4

 


 

Array

 
 

6

 


 

4

 
 

4

 


 

Pointer

 
 

6

 


 

4

 
 

4

 


 

                 Structure and  Union

 
 

3

 


 

2

 
 

2

 


 

File Input and Output

 
 

3

 


 

2

 
 

4

 


 

Exercise (quiz)

 
 

3

 


 

2

 
 

2

 


 

Review (course project)

 
 

3

 


 

2

 



 

Total

 
 

48

 


 

32

 
 

32

 


 

Total

 
 

80 sessions + 32  off-class sessions

 

 

Course Schedule

                                                                                                                                  

Note: “HW” denotes Homework and “PE” denotes Practical Exercises.        

 

No.

 
 

Content

 
 

Credit   hour

 
 

HW/PE

 
 

Time

 
 

1

 
 

Introduction

 

(C Language Basics)

 
 

3

 

 

Week 1

 
 

2

 
 

Introduction

 

(Data Types)

 
 

3

 

 

Week 2

 
 

3

 
 

Introduction

 

(Operators & Expressions)

 
 

3

 
 

HW-1

 
 

Week 3

 
 

4

 
 

Flow Control

 

(if…else/for)

 
 

3

 

 

Week 4

 
 

5

 
 

Flow Control

 

(while loop)

 
 

3

 

 

Week 5

 
 

6

 
 

Flow Control

 

(break/continue/switch statement)

 
 

3

 
 

HW-2

 
 

Week 6

 
 

7

 
 

Functions

 

 (definition/calling)

 
 

3

 

 

Week 7

 
 

8

 
 

Functions

 

(variable scope/pre-processor)

 
 

3

 
 

HW-3

 
 

Week 8

 
 

9

 
 

Arrays-A

 
 

3

 

 

Week 9

 
 

10

 
 

Arrays-B

 
 

3

 
 

HW-4

 
 

Week 10

 
 

11

 
 

Pointers-A

 
 

3

 

 

Week 11

 
 

12

 
 

Pointers-B

 
 

3

 
 

HW-5

 
 

Week 12

 
 

13

 
 

Structure & Union

 
 

3

 

 

Week 13

 
 

14

 
 

File Input & Output

 
 

3

 

 

Week 14

 
 

15

 
 

Exercise & Quiz

 
 

3

 

 

Week 15

 
 

16

 
 

Course Review

 
 

3

 

 

Week 16

 
 

17

 
 

Practice: Introduction

 

(C Language Basics)

 
 

2

 

 

Week 1

 
 

18

 
 

Practice: Introduction

 

(Data Types & Operators)

 
 

2

 

 

Week 2

 
 

19

 
 

Practice: Introduction

 

(Expression)

 
 

2

 
 

PE-1

 
 

Week 3

 
 

20

 
 

Practice: Flow Control

 

(if…else/for)

 
 

2

 

 

Week 4

 
 

21

 
 

Practice: Flow Control

 

(while loop)

 
 

2

 

 

Week 5

 
 

22

 
 

Practice: Flow Control

 

(break/continue/switch statement)

 
 

2

 
 

PE-2

 
 

Week 6

 
 

23

 
 

Practice: Functions

 

 (definition/calling)

 
 

2

 

 

Week 7

 
 

24

 
 

Practice: Functions

 

(variable scope/pre-processor)

 
 

2

 
 

PE-3

 
 

Week 8

 
 

25

 
 

Practice: Arrays-A

 
 

2

 

 

Week 9

 
 

26

 
 

Practice: Arrays-B

 
 

2

 
 

PE-4

 
 

Week 10

 
 

27

 
 

Practice: Pointers-A

 
 

2

 

 

Week 11

 
 

28

 
 

Practice: Pointers-B

 
 

2

 
 

PE-5

 
 

Week 12

 
 

29

 
 

Practice: Structure & Union

 
 

2

 

 

Week 13

 
 

30

 
 

Practice: File Input & Output

 
 

2

 

 

Week 14

 
 

31

 
 

Practice: Exercise

 
 

2

 

 

Week 15

 
 

32

 
 

Course Project

 
 

2

 

 

Week 16

 


Assessment

This course adopts closed-book examination. The overall grading policy is elaborated below.

In principle, the final score iscomposed of regular grade (daily performance) and final examination. The regular grade takes up 50%, the final examination takes up 50%, and the full mark is 100. *Note that if the course project is added into the teaching process(check the electronic material to support the project), then the percentage can be adjusted, i.e., regular grade: 60%, final examination: 40%.

Regular grade is composed of several parts, and its full mark is 100 points taking up 50% (the percentage of each part is adjustable accordingly)

1)     Class-evaluation (20 points): random attendance check at least 5 times, discussion is evaluated in terms of the group performance and individuals, and at least have one quiz

2)     Course homework (30 points): evaluated in terms of the quality of submitted handwritten homework (no less than 3 assignments)

3)     Practical course (30 points): accomplish all the assigned exercises by group and the grade is evaluated in terms of the performance and the solution quality.

4)     Course project (20 points): evaluated in terms of demo, course report and source code.(If the course project in not included, then increase the “Class-evaluation”part to 40 points)

Final examination takes up 50%,and its full mark is 100 points. The problem types refer to choice questions,reading program, simple Q&A, correct program, and programming.

教学资源
课程章节 | 文件类型   | 修改时间 | 大小 | 备注
1.1 Preliminaries
视频
.mp4
2020-10-14 28.33MB
 
视频
.mp4
2020-10-14 27.46MB
1.2 Submit practice work
视频
.mp4
2020-10-14 5.69MB
 
视频
.mp4
2020-10-14 31.08MB
 
视频
.mp4
2020-10-14 19.85MB
1.3 Administrative Information
视频
.mp4
2020-10-14 14.70MB
1.4 Introduction to C
视频
.mp4
2020-10-14 52.00MB
 
视频
.mp4
2020-10-14 53.46MB
2.1 Data Types
视频
.mp4
2020-10-14 9.92MB
 
视频
.mp4
2020-10-14 20.89MB
 
视频
.mp4
2020-10-14 153.38MB
2.2 Keywords &amp; Identifiers
视频
.mp4
2020-10-14 32.99MB
 
视频
.mp4
2020-10-14 52.12MB
2.3 Operators &amp; Expressions
视频
.mp4
2020-10-14 65.66MB
 
视频
.mp4
2020-10-14 125.28MB
3.1 C if ... else Statement
视频
.mp4
2020-10-14 21.16MB
 
视频
.mp4
2020-10-14 29.04MB
3.2 C for Loop
视频
.mp4
2020-03-03 14.28MB
 
视频
.mp4
2020-03-03 54.65MB
3.3 C while Loop
视频
.mp4
2020-03-03 11.97MB
 
视频
.mp4
2020-03-03 8.49MB
 
视频
.mp4
2020-03-03 53.63MB
3.4 break and continue
视频
.mp4
2020-03-03 21.37MB
 
视频
.mp4
2020-03-03 42.79MB
3.5 switch Statement
视频
.mp4
2020-03-03 12.26MB
 
视频
.mp4
2020-03-03 40.50MB
4.1 Function Types
视频
.mp4
2020-03-03 24.34MB
 
视频
.mp4
2020-03-03 34.19MB
4.2 User-defined Functions
视频
.mp4
2020-03-03 25.65MB
 
视频
.mp4
2020-03-03 47.06MB
4.3 Recursion
视频
.mp4
2020-03-03 28.51MB
 
视频
.mp4
2020-03-03 27.62MB
 
视频
.mp4
2020-04-26 28.51MB
 
视频
.mp4
2020-04-26 27.62MB
4.4 Variable Scope &amp; Preprocessor
视频
.mp4
2020-04-14 25.64MB
5.1 C Arrays Basics
视频
.mp4
2020-04-14 28.69MB
 
视频
.mp4
2020-04-14 28.61MB
5.2 Multidimensional Array
视频
.mp4
2020-04-14 31.78MB
 
视频
.mp4
2020-04-14 30.78MB
5.3 Arrays and Functions
视频
.mp4
2020-04-14 43.80MB
 
视频
.mp4
2020-04-14 90.18MB
5.4 C Strings
视频
.mp4
2020-04-14 43.10MB
 
视频
.mp4
2020-04-14 77.71MB
6.1 C Pointers Basics
视频
.mp4
2020-04-14 45.34MB
 
视频
.mp4
2020-04-14 48.15MB
6.2 Pointers and Arrays
视频
.mp4
2020-04-14 53.25MB
 
视频
.mp4
2020-04-14 58.25MB
6.3 Pointers and Functions
视频
.mp4
2020-04-14 31.73MB
 
视频
.mp4
2020-04-14 88.74MB
7.1 C Structure
视频
.mp4
2020-04-14 37.43MB
 
视频
.mp4
2020-04-14 59.41MB
7.2 C Union
视频
.mp4
2020-04-14 8.44MB
 
视频
.mp4
2020-04-14 23.03MB
8.1 File Handling
视频
.mp4
2020-04-14 26.49MB
 
视频
.mp4
2020-04-14 49.37MB
8.2 Standard Input & Output
视频
.mp4
2020-04-14 8.16MB
 
视频
.mp4
2020-04-14 13.17MB
提示框
取消 进入课程
提示框
确定要报名此课程吗?
确定取消

京ICP备10040544号-2

京公网安备 11010802021885号