Introduction to Programming in Java

Thank you for signing up for the course! We look forward to working with you and hearing your feedback in our forums.

Need help getting started?


Course Overview

In this class, you will learn basic skills and concepts of computer programming in an object-oriented approach using Java.

You will learn concepts like classes, methods and argument passing, loops, and general problem solving abilities that will become building blocks to your programming skills.

Course Syllabus

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

  • Graphics

  • Fundamental Data Types

  • Decisions

  • Iteration

  • Arrays, ArrayLists and Simple Array Algorithms

  • Methods (Parameter Passing, Instance vs. Static Methods)

  • Inheritance

  • Ethics and Social Responsibility


Course Resources

  1. In this course you will be using the BlueJ coding environment.  Look here first for any BlueJ information you need. If you can't find an answer, ask a question on the forums.

  2. We have provided some code for the class that you can download here.

  3. Some of the questions in the lessons will ask you to read a fact sheet.  Those fact sheets can be found here.

  4. Useful documentation to help you use some of the java Classes we learn about in this course.

  5. Transcripts for the videos.

  6. FAQ

Additional Resources

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

Java Documentation

You can find all documentation to Java's standard Classes here.

Downloadable Materials

You can download Supplemental Materials, Lesson Videos and Transcripts from Downloadables (bottom right corner of the Classroom) or from the Dashboard (first option on the navigation bar on the left hand side).

Final Project

The Final Project gives you the chance to apply everything you've learned in the course to design a game-playing agent to play Connect Four. Navigate to this section to read a description of the project and download the necessary BlueJ files.