
Explore java variable assignment and arithmetic using x initializations, short-hand operators like plus equals and increment, and mod operations with practical examples.
Learn to read user input in Java with a Scanner, using nextInt, nextDouble, and nextLine, and resolve the trailing newline by an extra nextLine or by Integer.parseInt and Double.parseDouble.
Explore if, else if, else control flow with input via next line and char conversion. Use equals and not equals, parse doubles, assign grades, and track a running student count.
Explore printf formatting in Java, including leading zero padding, width and precision with %f, %d, and %s. Understand how right and left justification affects output.
Explore the Java random class by creating a random object and using nextInt and nextDouble. Apply a binary search to guess numbers and note cryptographically secure alternatives in Java.
Explore practical problem solving by transforming tasks, comparing approaches, and writing efficient for loops—from checking squares and generating fibonacci sequences to pruning cases and reducing time complexity.
Demonstrate building bigger functions from small ones by computing the expected value, average, standard deviation, and skewness for a numeric array, using for loops and powers.
Explore how a class defines a concept and how to create objects, using a square to demonstrate set side, get area, and get side via the dot operator.
Learn how constructors initialize private variables and objects like square, circle, and rectangle, including default and parameterized forms and constructor overloading.
Return an array from a function and print powers of two with an enhanced for loop, demonstrating arrays and functions that can return multiple values.
Explore an array of objects using a circle class with radius, constructors, getters, and setters. See how each element points to a circle object, enabling radius access, modification, and area.
Learn to build a Java program that outputs words backwards by transforming a string into a char array and reconstructing it in reverse, then converting back to a string.
Learn to evaluate polynomials by plugging in x and summing coefficients times powers of x via an array. Then add polynomials by aligning coefficients and padding with zeros.
Explore how to test palindromes in java by converting strings to char arrays and comparing mirrored characters, with examples like abba and taco cat.
Discover insertion sort and selection sort on arrays, tracing how to find the minimum, swap elements, and use nested for loops to sort.
It is straightforward to code a test for the Collatz Conjecture in terms of loops and recursions. However, how do we successfully attack the p-adic version of the problem?
Explore how to compute n choose k using factorials, recursion, and Pascals triangle, and how to generate every combination by representing choices as binary numbers and converting them to code.
Review of classes covers Java basics: packages, blueprints, private fields, constructors, this keyword, getters and setters, object instantiation, and simple methods like area, plus a student class with grades handling.
Explore how to implement a copy method and a copy constructor in a circle class to create a new object with the same radius and name.
Shows how to model a car with enum types for make and color, implement getColor, getType, and toString, and use a switch to handle different makes like Ferrari.
Model a sandwich with a bread object, illustrating has-a aggregation relationship, default and parameterized constructors, and methods to reveal bread style, filling, and fall status.
Strings are immutable in Java, creating new objects for changes. Use the StringBuilder to efficiently build strings with append, insert, and replace, offering extra methods and security benefits.
There are many different types of programming styles, such as algorithmic programming, functional programming, and object-oriented programming. And while each style is suited to a different programming language, Java is capable of all three of the above and more. Java was originally built to focus on object-oriented programming (OOP) and this course starts with that in mind, explaining all the steps needed to learn standard topics, as would be taught in a college classroom. The course solves standard problems in Java, with attention to general as well as language-specific issues including event-driven programming; elements of graphical interfaces (GUIs), inheritance and polymorphism, recursion, file I/O, exception handling, packages, generics, dynamic data structures such as linked lists, array lists, testing and debugging, applications of simple data structures, multithreaded programming, and more. This will be a full course in Java, including design patterns.
The course begins with a solid understanding of the fundamental concepts of objected oriented programming and java language and builds from there, giving students many, many practice examples to code on their own and learn from for further building. Successful students will be able to write correct and complete Java implementations of homework projects. Successful students will also complete exam questions that test the use cases and will be able to write any program that is asked by employers when applying for internships or jobs. Good luck!