Examination: Linux System Programmer Professional Examination Code: ICT-LPP-1 The letters in bold are the domain ID. |
| A. Linux C Program |
| A1. File Operation | A1.1 Understand file structures of Linux. A1.2 Understand the theory of system call and device driver. A1.3 Know the usage of file operation library functions. A1.4 Able to use system call such as write, read, open to visit hardware device file. A1.5 Able to use system call such as chmod, chown to handle the permission and ownership of file and directory. |
| A2. Process Control | A2.1 Understand the concept of process. A2.2 Able to use system call such as fork, exec, exit to control processes.. A2.3 Able to use system call such as setuid, setgid, chdir to control processes. |
| A3. Interprocess Communication | A3.1 Able to use pipe for interprocess communication. A3.2 Able to use signal for interprocess communication. A3.3 Able to use message queue for interprocess communication. A3.4 Able to use semaphore for interprocess communication. A3.5 Able to use shared memory for interprocess communication. |
A3. Network Programming | A4.1 Know what is TCP/IP protocol. A4.2 Understand the principle of socket. A4.3 Able to use socket functions such as socket, bind, connect to implement network programming. |
| B. GTK+/GNOME Application Development |
| B1. Interface Layout | B1.1 Able to add caption to window. B1.2 Able to adjust size and position of window. B1.3 Able to add one or more widgets to window and adjust their size and position. B1.4 Able to use packing boxes and using packing tables. |
| B2. GTK+ Widget | B2.1 Understand widget life cycle. B2.2 Able to use commonly-used widgets including button widgets, adjustments, range widgets, miscellaneous widgets and container widgets. B2.3 Able to set widget attributes statically or dynamically. |
| B3.Menu | B3.1 Able to create menu. B3.2 Able to create menu items and add them to the menu. B3.3 Able to attach the callback functions to the activate signal. B3.4 Able to create menu using item factory. B3.5 Able to create pop-up menu. |
| B4. Timeouts, IO and Idle Functions | B4.1 Able to create a timeout function that will be called periodically. B4.2 Able to use function such as gdk_input_add to realize IO monitor. B4.3 Know how to create a function which to be called when nothing else happen. |
| B5. GNOME Dialog | B5.1 Able to create and fill in GnomeDialog. B5.2 Able to dispose the signal of GnomeDialog. B5.3 Able to use GnomeAbout, GnomePropertyBox and GnomeMessageBox. |
| B6. GNOME Widget | B6.1 Able to use commonly-used gnome widget such as GnomeCalculator, GnomeNumberEntry, GnomeColorPicker, GnomeFontPicker, GnomeDateEdit, GnomeEntry, GnomeFileEntry, GnomeIconEntry, GnomeDruid. |
| B7. GNOME Canvas | B7.1 Understand the two modes of GnomeCanvas. B7.2 Know how to add GnomeCanvas widget like GnomeCanvasItems into GnomeCanvas. |
| B8. GNOME Configuration files | B8.1 Understand the concept and usage of configuration files. B8.2 Able to place configuration files on correct location. B8.3 Able to read and write stored configuration data of configuration files. |
| B9. Internationalization | B9.1 Understand the concept and importance of i18n. B9.2 Able to use tool like gettext to implement message internationalization . |
| C. Linux Development Environment |
| C1. GConf Configuration System | C1.1 Understand the significance of gconf. C1.2 Able to to store and retrieve configuration data using gconf. |
| C2. Visual Program Tool Glade | C2.1 Able to download and setup glade. C2.2 Able to design interface and code by glade. |
| C3. Debug Tool Gdb | C3.1 Able to download and setup gdb. C3.2 Able to use the basic command of gdb to debug simple program. |
| C4. GTK+/GNOME IDE Anjuta | C4.1 Able to download and setup Anjuta. C4.2 Able to design interface and code by Anjuta. C4.3 Able to compile and execute program by Anjuta. |