Skill Set Name: All

Topics Level Sub topics Skill Category No Code Share comment
Welcome to NEAOSS Wiki: Open Source Wiki for Learners and Students in North-East Asia

NEAOSS Wiki  is formed to intend to help learners and students to understand OSS.

Architecture of Linux Kernel


Understanding the basic architecture and functions of the Linux kernel, including process management, memory management, file systems, networking, device management and interrupt mechanism.


Architecture of Linux kernel
Introduction to OSS II

Understanding situations on deployment and development of OSS.

  • Understanding the collaboration of OSS
  • Understanding OSS business models
  • Understanding type of OSS communities
  • Understanding difference in concept between Free Software and OSS


Introduction to OSS I

Understand the definition of open source software (OSS) and the concept of OSS, OSS development models.

  • Understanding the definitions of Open Source Software (OSS)
  • Understanding the concepts of OSS
  • Understanding the collaboration of OSS
  • Understanding the reason for business focus on OSS
  • Understanding OSS development models


Multi-screen support I

Understanding and practicing multi-screen support

  • Multi-screen support layout
  • Resolution characteristic per device
  • Layout measure(DP)
  • Relative Layout
  • Positioning the 320dp base layout on various resolution
  • Positioning fit layout on various resolution

Understanding GPL-similar OSSL.


  • Understanding the LGPL
  • Understanding the Affero GPL
  • Understanding other similar OSSL
  • Understanding the problems of GPL-similar OSSL
Security functions and cryptography positioning I

Knowing the basic concepts and the big picture of security, knowing the risks in Open Source Software (OSS).

  •  Introduction of the basic concepts of information security and knowing the risks in Open Source Software.
  •   Knowing the basic knowledge and history of cryptography.
  •  Knowing which objectives of information security can be achieved with cryptography
    • privacy or confidentiality
    • data integrity
    • authentication
    • non-repudiation.
  •  Background on functions
  •  Basic terminology and concepts
  •  Knowing the classification, i.e. symmetric key encryption and asymmetric key encryption.
Outline of network security I

Knowing The basics of network security.

  • Introduction to network security
  • Background and Problem
  • Network security model
  • Attack process
  • Attack technology
  • Malicious code
  • Development
OS Security Concepts I

Understanding security threats and attacks on operating systems.
Understanding basic concepts on operating system security
Understanding related criteria on secure operating system
Understanding OS security related criteria

  • Understanding OS Security threats and attacks
    • virus & worms
    • Trojan horse
    • buffer overflow
    • logic bomb
    • covert channel
  • Understanding basic OS security concepts
    • reference monitor
    • trusted computing base
    • security function & security assurance
  • Understanding OS security related criteria
    • TCSEC
    • CC
    • Other criteria
General introduction to the kernel of Linux I

Understanding the basic roles of OS and the history of OSes which have been developed to date. Knowing today's most popular OSes. Understanding the features of each OS.

  • Understanding the basic roles of OSes
  • Understanding the background to the deployment of an OS on a computer
  • Understanding the history of OSes
  • Understanding the introduction to today’s popular OSes
  • Understanding the type and features of OSes
  • Understanding the basics of system call
  • Understanding the basics of context switch
The basics of C I

Knowing the basic of C and its history.

  • Introduction history and features of C language
  • Comparison of C with other languages
  • Development cases using C
  • Flow of operations
  • C-based program development procedure
    •  Creation by an editor to compilation and execution of a program
    •  gcc command line basic options
      •  -o, -c, -l
    •  Basic concept of optimizations
      •   On
History of Script Languages I
  • History of Script Languages
  • Execute Environment/Programming-style
  • Features
  • Popular Script Languages: Perl/ PHP/ Python/ Ruby
  • Concept of LAMP Stack
Understanding Web architecture and Web 2.0 technology I

Describe the Web architecture overview and Web 2.0 trends. Also explain the social Web and Web 2.0 related components.

Basic database theory I


  • The advantages of databases and the status of Database Management Systems (DBMSs)
    • Concurrent access
    • Integrity
  • Basic concepts of using databases
    • OSS implementation
    • Outline of database structure
Basics of embedded computer systems I

Understanding the basic concept and substance of embedded computer systems. Describe the general architecture of hardware, software, and networks in embedded computer systems.

  • Basics of embedded computer system
  • Application of embedded computer systems
  • Architectures for embedded computer systems
  • Software architecture for embedded systems
  • Network architecture for embedded systems
  • Design methods for embedded computer systems
  • Needs and application for OSS embedded computer systems
  • Relations between embedded systems and OSS
  • Practical cases of OSS embedded OSS systems
  • Precautions to be taken in using OSS in embedded systems
Makefile II

To have ability to build own projects by fluently writing Makefiles that can build and install static and/or dynamic libraries.

  • Prerequisite:
    • 6-2-1-I : Development flow and tools
    • 6-2-2-I : Outlone of software development environment


  • Able to write Makefiles
    • Primitives of Makefile (target, dependency, rule)
    • Pre-defined macro
    • $<, $@, $?
    • Functions
    • Make depend
  • Able to write Recursive Makefiles
    • Multiple and hierarchical directories
  • Able to write Makefiles for building and installing libraries
    • Static libraries
    • Shared libraries - -fPIC & -shared options in GCC
    • PATH and Environment variables
    • Linux commands – ar, ldconfig


Linux kernel I

Understand the basics of Linux Architecture.

Linux kernel II

Use kernel primitive functions.

  • Use various kernel memory primitives including kmalloc() / kfree(), vmalloc() / vfree(), alloc_page() / free_page(), slab primitives
  • Understand the process control primitives such as schedule(), sleep() and wakeup()
  • Understand kobject
  • Use primitive functions for /proc, /sys file system
  • Use the macros and primitives to handle kernel lists and queues
  • Understand kernel timer data structures and primitives
Overview I

Understanding the yesterday, today and tomorrow of IoT. Understanding the developments of IoT in different countries and industries. Understanding the IoT functions in different layers. Make students to understand IoT from different perspectives, to understand IoT as the whole industry, not only sensors and protocols.

  • Understanding the definitions
    • IoT is Internet of Things  
    • IoT includes device recognition, data collection, device control, node status, connections and data analyzation
  •  Get known of
    • Origin 
    • History 
    • Period
  • Get known of
    • Current Situations
    • Main Achievements
    • Industry Scenarios
  • Prospect
Javascript for Node.js I

Understanding Javascript syntax

  • Javascript Syntax
    • Data type
    • Variable scope
    • Closure
    • Hoisting
    • This
    • Prototype
    • First-class Object
OSS License(OSSL) II

Understanding Non-GPL OSSL.

  • Understanding the definition of BSDL
  • Understanding the BSDL similar OSSL
  • Understanding the definition of MPL
  • Understanding the MPL similar OSSL


OSS License(OSSL) I

Understanding OSS license (OSSL) and other important information related thereto.

  • Understanding the definition of OSSL
  • Understanding the various OSSL
  • Understanding the category of OSSL
  • Understanding the effect of OSSL
  • Understanding the compatibility issues of OSSL



Understanding GPL.


  • Understanding the definition of GPL
  • Understanding the history of GPL
  • Understanding the GPL Version 2
  • Understanding the GPL Version 3
  • Understanding the problems of GPL
The concept and mechanism of open networks I

Understanding basic concept of networking

  • Networking introduction, characteristics and types
    • Introduction to networking
    • Packet & circuit switching networks
    • Connection-oriented and connectionless protocols
  • Type and size of networks 
    • Internet, intranets, and extranets
Android overview, Eclipse and Emulator I

Understanding how Android works

  • Overview and history of Android
    • Framework Architecture overview
    • Mechanism
    • Key Components
    • Control and Composite features
  • Preparation an IDE(Eclipse)
    • Install and Configuration the plug-in
  • Preparation a Simulator(Genymotion)
    • How to use emulator



Understanding GPL-similar OSSL.


  • Understanding the LGPL
  • Understanding the Affero GPL
  • Understanding other similar OSSL
  • Understanding the problems of GPL-similar OSSL
A general introduction to the Cloud Computing I

Understanding the basic concepts of Cloud Computing and the history of Cloud Computing. Understanding features of Cloud Computing and typical applications of Cloud Computing.

  • Understanding the basic concepts of Cloud Computing
  • Understanding the background to the deployment of Cloud Computing
  • Understanding the history of Cloud Computing
  • Understanding features of Cloud Computing
  • Understanding typical applications of Cloud Computing
General introduction to the management of Linux system I

Understanding the roles of common system management tools. Knowing the essential role and tasks of the system administrator and the major administrative systems, identifying the different pieces of each and explaining how they work together.

  • Understanding the basic roles of common system management tools.
  • Understanding the essential role of the system administrator.
  • Understanding the essential tasks of the system administrator.
  • Understanding the importance of practice in learning system management well.
  • Understanding the basic theory, concept, needs involved in system management.
  • Understanding the major administrative systems and the importance of cooperation between each of them.
History of UNIX and Linux I

Describe the history of UNIX from its start in the late 1960s, development into BSD, and contribution to the appearance and development of Linux. In connection with these topics, also address GNU projects and the Free Software Foundation (FSF).

  • Understanding the history of UNIX
  • Understanding the history of Linux
  • Understanding the history of GNU Projects
Communications forms and protocols I

Understanding network protocol primitives and components

  • Messages
    • packets, frames, datagrams, and cells
    • Message formatting
  • Network protocols
  • Network performance issue and measurement
    • Performance issue
    • Understanding performance measurements and units