System Linux Programming

Item Remark
Objectives

Upon completion of this course based on a real development sample project of Java technologies, students will be able to:

  • Professionally use software development process in real project.
  • Consolidate object oriented programming (OOP) using C++.
  • Develop client-server network application on Internet based on Unix/Linux framework.
  • Linux programming and many embedded systems support POSIX library in programming. It helps students learn embedded system programming easier upon this course.
Prerequisite
  • 3rd, 4th student or graduated bachelor of computer science.
  • Basic programming skill in C, preferably C++ and understanding about Linux OS.

Training methodolody

  • Each training session is a combination of lectures and hands-on lab exercises to provide the optimum learning experience.
  • A development sample project is assigned from the start of training course. 
  • Trainees are provided necessary soft skill courses for professional working.
  • Actively trainees are required to investigate, refer to the references, document before class.

Course Outline

1. Basic software engineering

  • Requirement.
  • Design using UML: High Level Design, Detail Design,Test Plan & Test Cases.
  • Implementation: Prepare for Implementation, Coding & Unit Test, Integrate & Integration Test.
  • Testing: Testing Process, Testing Phases, Blackbox Testing Techniques Overview.

 

2. C++ language & Linux technologies

  • C++ Overview (Inherit, Encapsulation,Polymorphism).
  • Linux Programming Introduction: Combine, Debug, Create Library.
  • File & Stream
  • Linux Socket Programming: Socket, UDP & TCP, Socket Programming.
  • Multi-threaded Programming using POSIX Pthreads Library: Manage Thread (Create, Destroy), Thread Synchronization (Mutex, Condition Variable).

 

3. Soft skills

  • Communication skill, Presentation skill, Interview skill, Work etiquette.

 

4. Project assignment

  • Group discussion & Project report