An Introduction to CS239
Advanced Programming
Prof. David Bernstein
James Madison University
Computer Science Department
bernstdh@jmu.edu
About CS239: Objectives
Help you understand the theory of object-oriented programming
Help you become a better object-oriented programmer
Give you an introduction to abstract data types (which will be covered in detail in CS240)
About CS239: Side Benefits
You will learn a particular object-oriented programming language (Java this year)
You will acquire some expertise in software development tools
You will become a better algorithmic problem solver
About Prof. Bernstein
The Early University Years
Working for a Living
The Quest for a Ph.D.
The Esteemed Professor
Now
About You: Material You Must Know "Cold"
Basics:
Data Types
Literals
Variables (Declarations and the Assignment Operator)
Arithmetic Operators
Conditional Processing:
Logical Operators
Block Statements
if
and
switch
Statements
Iterative Processing:
for
,
while
and
do
Statements
Nested Loops
do
Statement
Functions and Methods:
Declarations (Parameters and Return Types)
Calls
Implementing
About You: Material You Must be Aware Of
Classes and Objects:
Static Members
Non-Static Members
Visibility/Accessibility
Arrays:
Declaration
Construction
Use
About You: Purpose of the Review
Help you identify the things you don't know well enough
Develop common terminology
About CS239: Setting Up Your Computer
Access to Course Materials:
A browser that supports XHTML, CSS, MathML, ECMAscript, Java
A PDF viewer
Development Tools:
Java SDK version 1.5 or higher
An editor or IDE (e.g., jGrasp)
Knowledge of a command shell
About CS239: Overview
The Syllabus:
Lectures
Labs
Requirements:
Readings
Exams (Types, Dates/Times)
Programming Assignments (Submission, Policies)
Labs (Types, Policies)
Grading
There's Always More to Learn