cs046 ยป

Basic skills and concepts of computer programming in an object-oriented approach using Java. Classes, methods and argument passing, control structures, iteration. Basic graphical user interface programming. Problem solving, class discovery and stepwise refinement. Programming and documentation style. Weekly hands-on activity embedded in the course.

Additional References

Java Coding Style Guidelines (http://www.cs.sjsu.edu/web_mater/java_code.html)

Java Standard Edition API Specification (http://java.sun.com/javase/7/docs/api/)

Cay Horstmann's textbook, Java Concepts, 7th Edition (ISBN 978-1-1184-3112-2)

Course Goals

To introduce students to programming concepts and techniques using the Java language in a way appropriate for students without a programming background.

Course Objectives

To learn the basic syntax and semantics of the Java language and programming environment

To understand the concepts of classes and objects

To understand the primitive data types built into the Java language and the difference between variables of primitive types and variables of class types

To understand features of a strongly typed language: variable declaration and type compatibility checking

To learn about lifetime, scope and the initialization mechanism of variables

To be able to implement decisions using if statements

To be able to program loops with while, for and do statements

To learn about parameter passing mechanisms

To be able to write simple graphics programs involving the drawing of basic shapes

To learn the basics needed for testing and debugging programs

To be introduced to inheritance and interfaces

To be able to use arrays and array lists and to learn about simple array algorithms

Student Learning Outcomes

Upon successful completion of this course, students should be able to:

Analyze and explain the behavior of programs involving the fundamental program constructs

Write short programs that use the fundamental program constructs, including standard conditional and iterative control structures

Identify and correct syntax and logic errors in short programs

Write short programs that use arrays or array lists

Design and implement a class based on attributes and behaviors of objects

Construct objects using a class and activate methods on them

Use static and instance members of a class properly

Identify and describe the properties of a variable such as its associated value, scope and lifetime

Describe the parameter passing mechanisms in terms of formal parameters, actual parameters, non-object parameters and object parameters

Write a graphics program that draws simple shapes

Identify super- and subclasses in a class hierarchy

Recognize and trace overrridden and inherited methods in a class hierarchy

Write javadoc comments for classes and methods

Be able to use an integrated development environment and a debugger

Course Topics

Introduction to computers, programming languages, algorithms, and the Java Programming Environment

Introduction to classes and objects


Fundamental Data Types



Arrays, ArrayLists and Simple Array Algorithms

Methods (Parameter Passing, Instance vs. Static Methods)


Ethics and Social Responsibility