<html>
<head>
    <title>Learning Java - One Week of SL-275</title>
    <meta name="description" content="learning java by going to a Sun training class">
    <meta name="keywords" content="learn,help,teach,professional,
    Java,programming,training,course,class,Sun,Microsystems,">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" type="text/css" HREF="https://netbeans.org/netbeans.css">
</head>

<body>


<h1>Learning Java - One Week of SL-275</h1>

<p><br></p>
<blockquote><p><em>Chances are good that you, like many programmers, are self-taught, either
    in part or in full. You ask questions on forums, learn from code samples and APIs, 
    and you feel familiar enough with the features your language of choice has to offer. 
</p>
<p>This approach gets you pretty far and is free, so why take a formal programming course at all? 
    We had our intrepid reporter attend SL-275, a Java training class offered by Sun Microsystems. 
Here is her report.</em></p></blockquote>

<p><br></p>
<h2>Project + 3 Months Dev == Project + 1 Week Class + 3 Weeks Dev</h2>
<p><br></p>

<P>A formal programming class gives you the background and theory which is missing in on-the-job training. 
As your applications grow more sophisticated, you reach a point where 
you can save months in developing time by investing one week in training. 
Training provides a framework on which to hang the details of a new technology.  
It provides you with clear technical vocabulary and accurate search terms 
which enable you to quickly deep-dive into a new API. 
Also, the certificate looks great on your resume.  

<div style="float:right;color:rgb(150,150,150);padding-left:15px;padding-bottom:8px;
        font-weight:bold;padding-right:20px;font-size:120%;">
As your applications grow<br> 
more sophisticated, you reach<br> 
a point where you can save<br> 
months in developing time by<br> 
investing one week in training.</div>
<p>Of course, you learn analysing and designing an application best by doing it.
    As beginners, autodidacts may miss a piece of the theoretical background 
    that would make existing knowledge fall into place in the bigger picture.
<p>You may know that you can pass command line switches to your Java application at start-up,
    but what API do you search for to create such a switch? 
    What is the best practice to prevent graphical user interfaces from 
    growing irresponsive under load? 
    And what is the difference between an exception and an error anyway?
</p>

<p><br></p>
<h2>What Class Should I Take?</h2>
<p><br></p>

    <p>The most important step before deciding on a class is determining your entry-level. 
    A good advanced class teaches one technology in depth;
    a good beginner's class gives you a wide overview of all the language features and technical terms.
<p>
When look for a solid and comprehensive introduction 
    to platform-independent software development, 
    <em>SL-275: The Java Programming Language</em> is for you:
    This class covers object-oriented programming concepts in general, 
    and the Java environment and syntax in particular. 
</p>


<p>If you have no prior experience with general programming concepts, 
    consider taking the <em>SL-110: Fundamentals of the Java Programming Language</em> 
    class first. 
<p>SL-275 assumes that you already have fundamental programming experience. 
    You should be familiar with terms like variable or operator,
    and with using a text editor and a web browser. When you have created and
    run short programs in another programming language before,
    SL-275 will bridge the gap to accomplish the same feat in Java. 
</p>

<p><br></p>
<h2>The Course Materials</h2>
<p><br></p>

<p>The course consists in equal parts of practical and theoretical sections.
    And of course it includes comprehensive learning materials:
    Every student receives an annotated copy of the lecture script, 
    a NetBeans IDE reference guide, sample code, and a student workbook.
</p>
<p>The workbook presents the student with actual tasks to put
    the theoretical session  into action. 
    Each task comes in three levels: 
<p>The first level outlines steps to accomplish the task, 
    leaving the implementation as an exercise to the student. 
    To check whether your solution is on the right track, 
    turn the page and read level 2. If you should get stuck, 
    turn to level 3 which will guide you through each step to the best solution.
    This allows you to repeat the exercises even at home without the teacher.
</p>

<p><br></p>
<div class="align-center"><p>
        <a href="../../../images_www/articles/java-training/java-training-1.png"><img 
            src="../../../images_www/articles/java-training/java-training-1-small.png" ></a><br><em>Learn how to store
        user data: Save it to and restore it from a data file.</em>
</p></div>

<p><br></p>
<h2>Learn Java -- and NetBeans As Well</h2>
<p><br></p>

<p>During the exercises, the teacher introduces NetBeans editor features
   when the situation asks for it. 
   It is good to know that the IDE takes care of repetitive tasks for you.
</p>
<p>
    Notice how often you type <code>System.out.println("");</code> or for-loop code? 
    Then remember to use abbreviations for common code snippets in the IDE: 
    For instance, NetBeans auto-completes the abbreviation <code>sout_</code> 
    (four letters followed by a blank) to a println statement. 
    The abbreviation <code>fori_</code> (also followed by a blank) expands to a for-loop block. 
</p>
<div style="float:right;color:rgb(150,150,150);padding-left:15px;padding-bottom:8px;
        font-weight:bold;padding-right:20px;font-size:120%;">
The goal is not to learn it all <br>
by heart, but rather to know<br> 
what is available and how to <br>
find it when you need it.
</div>
<p>After five days, you will know what is needed about objects, flow control and data structures. 
    You will have implemented sample applications with graphical and textual user interfaces. 
    And you will even have employed event handling, threading, networking, exception handling, 
    and input/output streams.
<p>Don't worry if such a comprehensive overview of Java Platform features seems overwhelming. 
    The goal is not to learn it all by heart, but rather to know what is available 
    and how to find it when you need it.
</p> 


<p>Now that you know that a Java application's command line switches are accessible through the
    System Properties API, you know what to search for when you need them.
    The next time your graphical user interface bogs down and stalls,
    you keep it responsive by creating threads for each subtask.
    You may not be able to prevent <em>errors</em> (like the user running out of memory), 
    but now you create solid applications by catching common <em>exceptions</em> (like the user mistyping a file path).
<p>Again the IDE assists you: It displays possible methods, constants, and variables
    in its code completion window, and surrounds tricky statements with
    exception handling code skeletons.
</p>
<p><br></p>
<div class="align-center"><p>
        <a href="../../../images_www/articles/java-training/java-training-2.png"><img 
            src="../../../images_www/articles/java-training/java-training-2-small.png" ></a><br><em>Learn how to
        implement client/server communication over the network.</em>
</p></div>

<p><br></p>
<h2>Verdict</h2>
<p><br></p>

<p>I really liked how clearly structured the course was. 
    After I came home I was able to set up my first larger Java project in one go. 
    Even if I did not get everything perfect right away, this time
    I at least knew what solution to look for. 
    <p>The only thing I was disappointed about was 
    that the course only briefly touched GUIs (graphical user interfaces) in its AWT chapter. 
    I would have liked to learn more about Swing and the NetBeans GUI builder. 
    But Swing is a vast topic that is certainly worth spending an extra day in a 
<a href='http://www.sun.com/training/catalog/courses/WJO-1107.xml'>web-based training</a> on.</p>
<p>Apart from that, SL-275 gave me the much-needed bird's eye view of the Java API, 
    and it supplied me with solid background information to allow me
    to proceed developing Java SE tools and applications in a more efficient way.
</p>

<p><b>Update 2007-02-20:</b> SL-275 is currently being updated and the new version will replace AWT topics with Swing!

</body>
</html>
