Instructor Information

Doug Ferguson

Course Information

Course Description

This course enables students without a background in software development to become proficient programmers who are prepared for a follow-on course in data structures. The Java language will be used to introduce foundations of structured, procedural, and object-oriented programming. Topics include input/output, data types, operators, program control flow structures, arrays, strings, and methods. Students will also be introduced to classes, objects, inheritance, polymorphism, exception handling, processing streams and files, collections, wrappers, and generics, and graphical user interfaces. Students will complete several programming assignments and projects to develop their problem-solving skills and to gain experience in detecting and correcting software errors. Prerequisite(s): One year of college mathematics. Course Note(s): Not for graduate credit. A programming methodology course is needed for admission to the Computer Science, Cybersecurity, Data Science, or Information Systems Engineering program. Students who lack this prerequisite can fulfill admission requirements by completing this course with a grade of B– or better.

Course Goal

To become proficient in fundamental object oriented software development techniques with a focus on the Java programming language.

Course Objectives

  • Understand and apply concepts and techniques for developing, debugging, and documenting programs written in the Java language.
  • Understand and apply Java control flow constructs, primitive types, and non-primitive types.
  • Understand and apply object-oriented design and programming concepts in the development of Java programs.
  • Plan, design, and develop programs using the Java programming language.

When This Course is Typically Offered

Spring Online

Summer Online

Fall Online


  • Introduction to Java
  • Java Variables, Operators, and Primitive Types
  • Java Control Structures
  • Methods
  • Arrays Strings
  • Object-Oriented Programming Concepts
  • Inheritance
  • Polymorphism
  • Exception Handling
  • Files and Streams
  • Wrappers, Collections, Generics Intro
  • GUI Components
  • Generics
  • Lambda Expressions

Student Assessment Criteria

Approximately the following 0%
Participation (Module Discussions) 12%
Assignments 62%
Projects 13%
Quizzes 13%

A grade of A indicates achievement of consistent excellence and distinction throughout the course.

A grade of B indicates work that meets all course requirements on a level appropriate for graduate academic work.

A grade of C indicates that the quality of the work falls short of expectations.

EP uses plusses and minuses in grading.

97.5-100 A+

93.5-97.49 A

89.5-93.49 A-

86.5-89.49 B+

82.5-86.49 B

79.5-82.49 B-

69.5-79.49 C

<=69.49 F

Computer and Technical Requirements

No prior programming experience is necessary.

Students may choose a computing platform of their choice.

Participation Expectations

Homework and projects are expected to be turned in on the website as indicated in the assignment tool; it will be considered late if it is received after that time. Special circumstances (e.g., temporary lack of internet access) can be accommodated if the student informs us in advance. Homework and projects that are unjustifiably late will have the grade reduced for lateness.

Students are expected to participate/submit the following to receive a grade for the course:

  • Discussions
  • Assignment
  • Projects
  • Quizzes


Textbook information for this course is available online through the MBS Direct Virtual Bookstore.

Course Notes

There are notes for this course.

Final Words from the Instructor

The Textbook is Java Complete Reference, 10th Edition; Schildt, Herbert; ISBN 10: 1259589331 

                                                          or 11th Edition, Schildt, Herbert; ISBN 10: 1260440230

This course uses Zoom to facilitate weekly, synchronous office hours. You are not required to participate in office hours; however, you may find them very beneficial for receiving more timely answers to questions related to the course content and assignments

(Last Modified: 05/31/2019 09:42:38 AM)