<h2>Welcome to CSC 4240!</h2>

<p>This is a bilingual course for people who already know how to 
program; it will be taught using both Python and Java.  We will begin
with Python's type system and with Python expressions.</p>

<p>We will then do the same with Java and we will compare and contrast
how the two languages work.</p>


<p>You should have seen the "big 6" in a prior programming
class.  The language does not matter, what matters is that you
understand these basic things.</p>

<ul>
    <li><strong>variables</strong> These are symbols that refer to
    data in memory.</li>
    <li><strong>objects</strong>  I use this in the "wide sense" in that
    objects are chunks of data in memory.</li>
    <li><strong>functions</strong> These remember a procedure under
    a name.</li>
    <li><strong>conditional logic</strong>  This allows your program
    to make decisions.  Nearly every language has <code>if</code> and
    <code>else</code> along with some mechanism for <code>else if</code>.</li>
    <li><strong>iteration</strong> This causes a chunk of code to be executed
    repeatdly.</li>
    <li><strong>containers</strong> These allow you to store related 
    groups of data under a single name.  Examples include lists, 
    dictionaries, and arrays.</li>
</ul>

<p><strong>Computing Environments</strong> You will have two.  One is
our departmental server, <code>cs.ncssm.edu</code>.  You will learn how to
the command-line interface on this server; it is a full-on UNIX computing
environment.  All computing adults know how to
function in a command-line environment.  There is a bonus for Mac users:
You have a real computer!  Why? It has a UNIX shell.  All other computers
are toys.</p>

<p>The second is your PC.  You are required to install several items to
get ready for this class.  Complete details are in Canvas.  You should 
install both Python and Java (14) on your PC.   You will need a 
text editor for your PC.  <em>No assignment in here should ever be
submitted in a word processor format</em>.   All files you submit
will be in a plain-text format.</p>

<p><strong>A Note About This Site</strong>  I have organized things on this
site to make them easy to find.  Always look on the left in the navigation
area.  Example code can be viewed by clicking on the links on the left.  
The folders B and F will contain the sample code presented to each block
on each day.  On Wednesday or Thursday, there won't be folders B and F
since only one of the blocks meets those days.  You have full access to 
these folders so you can see the examples I do in the other block.  </p>

<p>All programming assignments will appear on the 
<a href="/~morrison/currentClasses/4240/specs">Specs Page</a>.  Big assignments
will have their own subfolder which will hold any shell code I provide for you.
Point values for each assignment are posted on the specs page as well.  The 
<a href="/~morrison/currentClasses">Current Classes Page</a> tells you how
grades are computed in all of my classes.  You will use Canvas to turn in
assignments.