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

Linux Programming

Course Name (Chinese): Linux编程

(English): Linux Programming

Course Name: Linux Programming

Course Code:S2293200

Semester: 3

Credit: 3

Program: Computer Science/Electronic

Course Module: Specialized Compulsory

Responsible:Sen Li

E-mail: wjr@tju.edu.cn

Department: School of Computer Science & Technology, Tianjin University

Time Allocation (1 credit hour = 45 minutes)

Exercise

Lecture

Lab-study

Project

Internship (days)

Personal Work



12

16

20



15



Course Description

The course is a required course designed for Engineering Master of Computer Science in TIEI. It will systematically describe how to carry on 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 can be more effective and steady to develop program.

Prerequisite

Ÿ Embedded Linux C language programming: independent program.

Ÿ Embedded Linux Operating System: understand the basic principle of 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 which are under Linux,

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

Ÿ Know about the tools which are 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, and to

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

CourseSyllabus

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

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

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

Ÿ Embedded Linux GUI : transplant and Program Qtopia.

Ÿ 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, 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.

Capability Tasks

CT2: Understanding of the basic concepts of Linux.

CT3: Ability to use common Linux tools to process program.

CS1: Understanding of basic theories of Linux programming and its trends.

CS2: Using of embedded Linux tools.

CS3: Ability to analyze the Linux system and propose solutions for practical problems.

Achievements

Ÿ To skilfully build Linux environment. - Level: A

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

Ÿ To master Linux’s multi-process and multi-thread programming and inter-process communication method. - Level: M

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

Students: Computer Science & Electronics, Year 2

Assessment:

Exam

Assignment

Report

Term Paper

Presentation

Others





Language of assessment:Chinese

Attendance: 10 % Homework: 30 %

Mid-term report/test: 0 % Final report/test: 60 %