Introduction to programming, CS 308

The Java programming language is a relatively recent programming language but arguably the most successful and widely used.  Unlike most languages, Java runs identically on all computers (C for example will have subtle changes from machine to machine), and this portability is a tremendous advantage to both students and professionals who can “write once, run anywhere”.  Java also interacts seamlessly with web pages, web servers, and databases, making it the first choice for many companies and institutions.   Java is an advanced object-oriented language, but also works as a more traditional and simpler procedural language.  This combination makes Java an excellent choice as an introduction to programming.  Students can learn the fundamentals in Java, and then use these basic constructs in a later course on object-oriented techniques.  We will cover all of the basics that would apply to any language (Java, C++, C, Javascript, Basic, Perl, Pascal, Fortran, and anything new that comes along later!).

Homework Assignments

Current Lab Assignment


Installing Java

Running And Compiling Java

Setting Up Java Packages

Installing Eclipse on a PC

Installing Eclipse on Mac OSX (may be slightly dated, but mostly correct)


Class Notes Part 1 (Intro and Programming Architecture)

Class Notes Part 2 (Pseudo-Code and Flowcharts)

Class Notes Part 3 (Variables)

Class Notes Part 4 (Arithmetic)

Class Notes Part 5 (Ifs and Loops)

Class Notes Part 6 (JavaScript Diversion)

Class Notes Part 7 (Methods)

Class Notes Part 8 (Methods Examples)

Class Notes Part 9 (Static Methods)

              (Test your knowledge of static.)

Class Notes Part 10 (Arrays)

Class Notes Part 11 (Arrays and Pointers)

            (A subtlety: Java passes references by value.  Ouch!)

            (Extra: How to convert from decimal to hexadecimal)

Class Notes Part 12 (File I/O)

Class Notes Part 13 (Intro to Graphics)

Class Notes Part 14 (Security and Encryption)