Home - Students - My Studies - Courses - L - Content

Linux Programming


Computer science,Electronics

Sen Li



Course Name: Linux Programming

Course Code:S2293200

Semester: 2

Credit: 3

Program: Electronics

Course Module: Compulsory

Responsible: Sen Li


Department:Tianjin International Engineering Institute

Time Allocation(1 credit hour = 45 minutes)















Course Description

The course is a required course designed for Engineering Master of Computer Science in TIEI. It will systematically describe how to carry out programming under Linux environment. It not only introduces the main components of Linux system, but also explains in detail the Linux Kernel, the guidance system, file system, etc. At the same time, it combines some experimental projects to cultivate students’ practical application ability and innovation ability. Through learning of this course, students will have a preliminary understanding of Linux programming, and they are supposed to be more effective and steady to develop programs.


Embedded Linux C language programming: independent programming; embedded Linux Operating System: understanding the basic principles of the Operating System; ARM Architecture and Programming: understand the ARM architecture and program independently.

Course Objectives

This course introduces how to use Linux, Linux system architecture and Linux programming to help students better understand programs which can enhance their professional ability. After this course, students should be able to:

  • Master how to use the tools such as editor, compiler, debugger and project manager under Linux,

  • Know about how to build the embedded Linux development environment,

  • Know about the tools commonly used in embedded development, including how to use TFTP, configure the serial ports, compile the Linux kernel, make the root file system, and how to use u-boot,

  • Master the I/O ports, file system development, process control and communication development, etc.

Course Syllabus

  1. Embedded Linux Primer: building the embedded Linux environment, Linux C Programming, Linux multi-threaded programming, Process creation and Inter-process communication.

  2. Embedded Linux kernel, Guidance System and File System: Linux Kernel configure, tailoring and add, building the embedded guidance systems and file systems.

  3. The transplantation of embedded open source software: SQLite transplantation

  4. Embedded Linux GUI: transplant and Program Qtopia.

  5. Communication and Application of Embedded Linux: serial communication under embedded Linux, Embedded Linux Network Programming.

Textbooks & References

  • Robert Love.Linux Kernel Development(2nd ed). Sams Publishing, 2000.

  • Justin Davies, Roger Whittaker, and William von Hagen.SUSE Linux 9 Bible. Wiley Publishing, 2005.

  • Keir Thomas.Beginning SUSE Linux: From Novice to Professional/SUSE Linux. Apress, 2005.

  • Richard Stones.Beginning Linux Programming. Wrox Pr/Peer Information Inc., 2007.

Grade Distribution

Final Exam:100%

Capability Tasks

CT2: The understanding of the basic concepts of Linux.

CT3: The ability of using Linux common tools to process program.


  • To skilfully build Linux environment. - Level: A

  • To grasp the method of C programming under Linux.- Level: M

  • To master the method of multi-process and multi-thread programming and inter-process communication under Linux. - Level: M

  • To be familiar with Linux kernel customization and the construction of a file system. - Level: A

Students:Electronics,Year 1, Computer Science,Year 1