This repository was created for my 6 week class Java Programming Principles 1 and 2 at Southwestern College. The book utilized for the course was Starting Out with Java: From Control Structures through Objects, 7th edition by Tony Gaddis. This course presents Java object-oriented programming logic and fundamental techniques – from the basic concepts of primitive data types, operations, and control statements, to user defined methods, objects, classes, class inheritance and GUIs – to construct robust business solutions.
IMPORTANT: If you are going to use any of this repo whether it be for learning, homework, or whatever please be sure to Star it on github so I can see people are utilizing this repo
- Demonstrate the mastery of the fundamentals of Java programming language.
- Apply and analyze the principles of object-oriented programming using the Java programming language.
- Perform basic, common computational tasks using Java techniques.
- Design, create and execute Java programs using Java IDE.
- Build programming skills with hands-on experience for problem solving with Java
- Understand the fundamentals of hardware, software, programming languages and programming process in general.
- Comprehend the concepts of Java compiler, JVM, source code, byte code, and the portability of a Java program.
- Distinguish between an OOP and a procedural programming language.
- Analyze and apply different parts of a Java Program.
- Demonstrate the mastery of Java syntax, data types, arithmetic operations, Java API, in particular System, String and Scanner classes.
- Analyze and apply decision structure, in particular if, if-else, if-else-if and switch statements.
- Explore relational operators and relational expressions.
- Extend the discussions on variable scope and declaration
- Demonstrate the application of Java API, in particular Decimal Format and String classes
- Analyze and apply repetition structure, in particular while, do-while and for loop statements.
- Discuss counters, accumulators, running totals, sentinels, and other application-related topics.
- Explore break and continue statements.
- Demonstrate the application of Java API File and Random classes.
- Create user-defined methods.
- Comprehend the concept of problem solving with methods.
- Demonstrate an understanding of data structures Array and Array List.
- Analyze and apply array-processing methods.
- Demonstrate the mastery of concepts of object and class.
- Analyze and apply class designing techniques.
- Explore object oriented design utilizing UML diagram and CRC cards.
- Understand the concepts of instantiation, inheritance, polymorphism and composition.
- Review, solidify and apply knowledge, techniques and problem-solving skills learned in the previous weeks by implementing a final project.
Upon successfully completing this course, the learner will be able to:
- Demonstrate the mastery of the fundamentals of Java programming language
- Analyze and apply the principles of object-oriented programming using the Java programming language.
- Develop enhanced error trapping techniques using exceptions.
- Design, create and execute Java programs using Java IDE.
- Analyze and apply problem-solving techniques using iterative techniques such as recursion.
- Develop database applications in Java.
- Build programming skills with hands-on experience for problem solving with Java.
- Analyze and apply the principles of object-oriented programming, in particular inheritance and polymorphism
- Explain the concepts of super class and subclass.
- Use the techniques of calling constructors of super classes and overriding superclass methods.
- Examine the Object class.
- Analyze and apply abstract class, abstract method and interface.
- Use the techniques of Java exception handling and exception throwing using the try, catch, finally, throw statements and etc.
- Analyze and apply the methods of writing data to and reading data from a binary file, and the application of the RandomAccessFile class.
- Explain the concept of serialization.
- Develop GUI applications using JFrame, JLabel, JTextFields, JButton, JRadioButton, JCheckBox, JPanel classes.
- Create event listener classes to handle action events.
- Explore the application of the layout managers and the BorderFactory class.
- Explain the JavaFX class hierarchy.
- Develop GUI applications using RadioButton, CheckBox, ListView, ComboBox, Slider, TextArea, and Menus
- Create event listener classes to handle action events.
- Create mnemonics and tool tips for GUI components.
- Use the techniques of recursion to create advanced algorithms.
- Analyze and apply classes to create Graphics and Effects.
- Create mouse listener and mouse motion listener classes to handle mouse events.
- Use problem solving skills with recursion.
- Explain the concepts of relational database management systems and SQL.
- Analyze and apply the JDBC API.
- Use the techniques of processing SQL statements with JDBC including retrieving data, inserting rows, updating and deleting existing row, creating and deleting tables and displaying result sets.
- Apply concepts, techniques and problem-solving skills from Units 1-5 by in a final project.