<?xml version="1.0" standalone="no" ?>

<!--  FAI_JNI.xml	Course Outline in XML format
 *
 * Copyright 2009 Affinity IT Training, LLC. All Rights Reserved.
 *
 -->

<!DOCTYPE FAI:CourseOutline SYSTEM "FAI_CourseOutline.dtd">

<?xml-stylesheet type="text/xsl" href="FAI_CourseOutline.xsl" ?>	

<FAI:CourseOutline FAI:link="FAI_JNI.xml"
     xmlns:FAI="http://www.fisher-assoc.com/DTDs/FAI_CourseOutline.dtd" >

  <FAI:CourseTitle FAI:level="Intermediate" FAI:code="JNI">
    Java Native Interface (JNI)
  </FAI:CourseTitle>  
  
  <FAI:CourseCategory>Java</FAI:CourseCategory>
  <FAI:CourseCategory>J2SE</FAI:CourseCategory>

  <FAI:SummaryInfo>

    <FAI:CourseDesc FAI:version="1.0" >
	Prepares the Java programmer to integrate native code into Java programs     
    </FAI:CourseDesc>

    <FAI:CourseDuration>
	1 Day
    </FAI:CourseDuration>

    <FAI:CourseAudience>
	Java programmers 
	seeking to implement Java solutions 
	that utilize new or existing "C" or "C++" code    
    </FAI:CourseAudience>

    <FAI:CourseObjectives>

      <FAI:Objective FAI:desc="Understand the strengths and limitations of using native code" />
      <FAI:Objective FAI:desc="Understand the classes, tools, and techniques involved in utilizing native code" />
      <FAI:Objective FAI:desc="Be prepared to design, implement, and test Java classes that utilize native code" />
      <FAI:Objective FAI:desc="Be familiar with the representation of primitive data types, arrays, strings, and objects as native types" />
      <FAI:Objective FAI:desc="Understand how to pass different data types between Java methods and native functions" />

    </FAI:CourseObjectives>

    <FAI:CourseSetupList>

      <FAI:Setup FAI:desc="Java 2 Standard Edition (J2SE)"  
                 FAI:link="http://www.java.sun.com/downloads" />
      <FAI:Setup FAI:desc="Optional Text Editor or Java IDE"  />
      <FAI:Setup FAI:desc="C or C++ Compiler"  />
      <FAI:Setup FAI:desc="Optional C/C++ IDE"  />
      <FAI:Setup FAI:desc="Internet access preferred"  />

    </FAI:CourseSetupList>    

    <FAI:CourseTextList>

      <FAI:Text FAI:title="Course Workbook" />

    </FAI:CourseTextList>    

    <FAI:CoursePrerequisiteList>

      <FAI:CoursePrerequisite FAI:title="Java Fundamentals" 
			      FAI:link="FAI_IntroJava.xml" />
      <FAI:CoursePrerequisite FAI:title="C or C++ programming experience" />

    </FAI:CoursePrerequisiteList>    

  </FAI:SummaryInfo>  

  <FAI:TopicList>

    <FAI:SuperTopic FAI:title="Introduction">

      <FAI:Topic FAI:title="Welcome" />
      <FAI:Topic FAI:title="Prerequisites and Setup" />
      <FAI:Topic FAI:title="Course Objectives" />
      <FAI:Topic FAI:title="What is the java Native Interface ? " />
      <FAI:Topic FAI:title="Accessing Native Code " />
      <FAI:Topic FAI:title="Example Program" />
      <FAI:Topic FAI:title="Lab Exercise: Number Crunch" />

    </FAI:SuperTopic>                
                                
    <FAI:SuperTopic FAI:title="Numeric Data and Arrays">

      <FAI:Topic FAI:title="Numeric Data Type Mapping" />
      <FAI:Topic FAI:title="Arrays" />
      <FAI:Topic FAI:title="Using JNI Methods" />
      <FAI:Topic FAI:title="Example Program: An Average Function" />
      <FAI:Topic FAI:title="Lab Exercise: Numbers of Numbers " />

    </FAI:SuperTopic>                
                                
    <FAI:SuperTopic FAI:title="Strings">

      <FAI:Topic FAI:title="String Mapping" />
      <FAI:Topic FAI:title="Example Program: Stamp Out T's" />
      <FAI:Topic FAI:title="Lab Exercise: Word Count" />

    </FAI:SuperTopic>                
                                
    <FAI:SuperTopic FAI:title="Objects">

      <FAI:Topic FAI:title="Object Mapping " />
      <FAI:Topic FAI:title="JNI Object Functions" />
      <FAI:Topic FAI:title="Example Program: Person Printer" />
      <FAI:Topic FAI:title="Using Object Methods" />
      <FAI:Topic FAI:title="JNI Functions for Methods" />
      <FAI:Topic FAI:title="Example Program: Ping Pong" />
      <FAI:Topic FAI:title="Lab Exercise: Double Trouble " />

    </FAI:SuperTopic>                
                                
 </FAI:TopicList>
 
</FAI:CourseOutline>
