This course is a foundation course for learning software programming using the Java language.
The course will introduce the student to programming concepts, programming techniques, and other software development fundamentals.
Students will learn the concepts of Object Oriented programming using Java.
The course will present an extensive coverage of the Java programming language including how to write,
compile and run Java applications.
The purpose of this course is to learn programming concept and Object Oriented fundamentals using Java.
Students will receive a solid understanding of the Java language syntax and semantics including Java program structure,
data types, program control flow, defining classes and instantiating objects, information hiding and encapsulations,
inheritance, exception handling, input/output data streams, memory management and Swing window components.
2. Student Learning Outcomes:
Be able to differentiate between Procedural vs. Object Oriented programming style.
Understand and work with the various Java Data Types
Obtain a solid understanding of how to control program flow
Master the use of conditional processing, loops & iterations, and method creation and calls
Gain knowledge of Objects and Classes
Learn how abstraction, encapsulation, inheritance and polymorphism work
Create method overriding and overloading to enhance your Object Oriented coding techniques
Appreciate Java Exception handling paradigm
Work with input and output files and streams
Obtain an initial learning of Swing and graphical user interface
Class Attendance and Participation: To receive full credit for the course, you must attend all classes since much of the learning occurs during class presentation and discussions.
Please contact the instructor if you anticipate missing any part of the class.
Grades will be based on:
Involvement in class discussions and activities
Participation which demonstrates integration of reading, class work, relevance and application.
Willingness to learn by accepting feedback, trying new skills and approaches, etc.
Quality/quantity of providing effective and balanced feedback.
Homework: Homeworks must be submitted on time within 1 week after date assigned.
Late submission will severely impact your homework grade, or may not be accepted altogether at instructor discretion.
All homework pages must be stapled together. No exception (paper clips or other binding not accepted)
Print out your homework code and output and bring with you to class (I may collect, or ask students to discuss solutions)
All code must be properly indented as shown in class. No exception. If not properly indented, homework will not be accepted
Do not use the Java*Tester to submit your homework. Use command line execution, or an IDE if you like.
I will not accept homework via email unless you are not able to attend the class on homework due date.
Midterm Exam: There will be a midterm exam. The exam will be an open book, open notes style exam.
The exam will test the student's acquisition of topics, concepts and competencies learned by midterm.
Final Exam: There will be a final exam. The exam will be an open book, open notes style exam.
The exam will test the student's acquisition of topics, concepts and competencies learned in this class.
The final exam will not be cumulative. It will only cover topics discussed since the midterm.
Grades are FINAL
Please do not negotiate for a better grade. If you are expecting to receive a grade of an "A" at the end of the semester,
then I expect you to attend all sessions (unless you previously notify me), to participate in all classes,
to turn in your homework on time, and to keep up with the class reading material.
If you see yourself falling behind do not hesitate to ask for help.
This will ensure that you stay current with the class, and will ensure that you get a good grade on your work.
Introduction to Programming
What is a Programming Language
Compiled vs. Interpreted Languages
Procedural vs. Object Oriented Languages
The Java Environment
The Java Compiler, The JVM Java Virtual Machine
Downloading and Installing the SDK
What is Path and Classpath
Compiling and running a Java Program
The Java Language Keywords
The if statement, and the switch statement
Loops and Iterations
The for and while statements
Creating and Using Methods
The String class
String and Substring Operations
Comparing Strings for equality and inequality
Array of Strings
Array of Arrays (Multi-dimensional Arrays)
Iterating through arrays
Sorting arrays with a comparator object
What is a Superclass, what is a Subclass
The Universal Superclass
The toString( ) Method
Determining the type of an Object
Inheritance and Polymorphism