C/C++ Programming - Part1  (2013 Fall Advancd Class)

Goals

(1) Understand the fundamental conceptions of C/C++ language, including data type, control statements, functions, array, pointer, …;
(2) Understand the principles of process-based/object-oriented software design, including Functions, Points, Arrays/ Class, object, Inheritance, …;
(3) Have the basic ability and skill in C/C++ basic programming;
(4) Know about the background of software programming and software engineering.


Classroom and Laboratory

(1) Every Thursday Afternoon in Week 6-18: Lecture hour 5-8, Laboratory N1-East204
(2) Programming Test: in Week 18
(3) Paper Test: in Week 19


Syllabus
, Course Organization, C/C++ Coding Guidelines

Week

Type

Date

Lecuture

Experiment

6

Lecture1

13-10-10

Topic: Introduction [slides]
Textbook: Chapter1.

Instruction: Basic coding with codeblocks development tool [slides]
Task: menu.

7

Lecture2

13-10-17 Topic: Basic programming with C [slides]
Textbook: Chapter2.
Instruction: Basic debugging with codeblocks development tool [slides]
Task: week day.

8

Lecture3

13-10-24
-->
13-10-21
Topic: Control statement 1 [slides]
Textbook: Chapter3.
Instruction: Control statement [slides]
Task: month calendar

9

Lecture4

13-10-31 Topic: Control statement 2 [slides]
Textbook: Chapter4, Chapter9

Instruction: Control statement [slides]
Task: week calendar

10

Lecture5

13-11-07 Topic: C function 1 [slides]
Textbook: Chapter5
Instruction: Function1 [slides]
Task: national holiday
main.c, funs.h, date.h

11

Lecture6

13-11-14 Topic: C function 2 [slides]
Textbook: Chapter5
Instruction: Function2 [slides]
Task: semester course day
main.c, funs.h, funs.c, date.h, date.c

12

Lecture7

13-11-21 Topic: C array 1 [slides]
Textbook: Chapter6

Instruction: Array1 [slides]
Task: array based calendar

13

Lecture8

13-11-28 Topic: C array 2 [slides]
Textbook: Chapter6

Instruction: Array2 [slides]
Task: random game2

14

Lecture9

13-12-05 Topic: C pointer 1 [slides]
Textbook: Chapter7
Instruction: Pointer1 [slides]

15

Lecture10

13-12-12 Topic: C pointer 2 [slides]
Textbook: Chapter7, Chapter8
Instruction: Pointer2 [slides]

16

Lecture11

13-12-19 Topic: C struct [slides]
Textbook: Chapter10, Chapter11
Instruction: Struct [slides]

17

Lecture12

13-12-26 Topic: Linked list [slides]
Textbook: Chapter12

Instruction: Linked list [slides]

18 Programming Test
19 Paper Test

 

Reference Textbooks

[1] H.M.Deitel, P.J.Deitel, C How to program, 5th ,Pearson 2005
[2] H.M.Deitel, P.J.Deitel, C++ How to program  [digital version download], 5th ,Pearson 2005
[3] 谭浩强,《C++程序设计》,清华教育出版社,2004.6
[4] 郑莉 等,《C++ 语言程序设计》,清华大学出版社,2005.7
[5] 钱能 等,《C++ 程序设计教程》(第2版),清华大学出版社,2005.9

 

Resources

(1) Textbook[1] source code [download]
(2) Reference book for standard C/C++ functions [download]
(3) Development tool: Virsual C++ 6.0 for teaching and study [download]
(4) Development tool: Virsual C++ Assistant [download]
(5) Development tool: Code Blocks [download] and in Chinese language patch [download]

Feedback

If you have questions, welcome write e-mail to liuwei@hust.edu.cn.
Due to the large number of spam e-mails, please add ``[C++][Question]'' as the prefix in the title of your e-mail.
That will help me to identify your e-mails, thank you.


<Last Updated: 2013-11-22>