This course is an introduction to computer programming.It will also touch on programming graphical user interfaces, another priority in the design of Java.Whereas Python has flexible support for a variety of strategies for software design, Java was originally designed with a strong emphasis on object-oriented programming.Python tends to be used for quick prototyping and small-scale programming projects, while Java tends to be used for large-scale, complex development projects with multiple developers.It is an activity that requires you to think logically, to solve problems, to express yourself clearly, and often to endure frustration as you try to get your programs to work.Two important differences are: (1) this course uses the Java programming language instead of Python and (2) this course emphasizes object-oriented programming.A primary goal of this course is to introduce the main concepts of object-oriented programming.Some students may have already taken CS 1101: Programming Fundamentals.Python and Java are both very popular and powerful programming languages.The course topics are intended to lead directly into the follow-on course, CS 1103 Programming 2.Programming is the task of explaining to a computer what you want it to do, in exact detail and in a language that the computer can understand.This course has no prerequisites, although a general familiarity with computers would be helpful.CS 1102 will cover some related concepts at first, but it will quickly introduce new concepts and different details.The result, though, can be very rewarding.