Java
Skip navigation Structured Programming Research School of Computer Science Search query Search ANU web, staff & maps Search current site content Search Menu Search query Search COMP1110/6710 Lectures Labs Assessments Help Search ANU web, staff & maps Search current site content COMP1110/6710 Lectures Labs Assessments Help menu Search query Search COMP1110/6710 Search query Lectures Lectures Complete Lectures Introduction Admin Java Object Orientation Software Engineering Core Computer Science Abstract Data Types JavaFX Guest Lectures Biographies Revision Bonus Related sites Piazza You are here » Lectures » Java J1 Introductory Java 1 (15 mins) Topics: Imperative programming languages | Java Standard Library | Types | Hello World Java Visualizations: HelloWorld IOTest IOTest, bad input References: Oracle Java Tutorials Waterloo Java Visualizer Standard libraries Java 7 libraries Imperative and functional programming Relevant ACM Curriculum Learning Outcomes: PL Basic Type Systems 1 J2 Introductory Java 2 (15 mins) Topics: Types | Objects | Classes | Inheritence | Interfaces Java Visualizations: BasicImperative References: Objects Classes Inheritence Interfaces Object-oriented programming Inheritence Relevant ACM Curriculum Learning Outcomes: PL Basic Type Systems 1 PL Basic Type Systems 2 PL Basic Type Systems 3 J3 Introductory Java 3 (15 mins) Topics: Naming | Literals | Primitives Java Visualizations: Booleans Doubles Integers Strings References: Packages Variables Primitive data types and literals Object-Oriented Programming Concepts Relevant ACM Curriculum Learning Outcomes: SDF Fundamental Programming Concepts 2 SDF Fundamental Programming Concepts 3 J4 Introductory Java 4 (35 mins) Topics: Arrays | Operators | Expressions | Statements | Blocks | Random Java Visualizations: Arrays Booleans Doubles Integers Strings References: Arrays Variables Operators Operators Expressions, Statements, and Blocks Expressions, Statements, and Blocks Relevant ACM Curriculum Learning Outcomes: SDF Fundamental Data Structures 3 J5 Control Flow 1: Selection (25 mins) Topics: Control flow | if-then-else | switch Java Visualizations: ControlFlowIfThenElse ControlFlowSwitch References: Control flow if-then-else switch Sequence, selection, iteration, recursion Control flow: selection (choice) Jacquard loom ENIAC simulation of trajectories Relevant ACM Curriculum Learning Outcomes: SDF Fundamental Programming Concepts 4 J6 Control Flow 2: Iteration (30 mins) Topics: Control flow | while and do-while | for | break, continue Java Visualizations: ControlFlowFor ControlFlowWhile References: while and do-while for Branching statements (break, continue) Control flow Control flow: selection (loops) Relevant ACM Curriculum Learning Outcomes: SDF Fundamental Programming Concepts 4 J7 Methods (20 mins) Topics: Methods | Parameters | Return values Java Visualizations: Methods References: Defining methods (instance methods) Class members (class methods) Parameters Branching statements (return) Returning a value Relevant ACM Curriculum Learning Outcomes: SDF Fundamental Programming Concepts 5 J8 Nested Classes (25 mins) Topics: Nested classes References: Nested classes Nested classes J9 Lambda Expressions (20 mins) Topics: Lambda expressions Java Visualizations: Lambda References: Lambda expressions Method references J10 Number, Autoboxing (15 mins) Topics: Number, Integer, Short, Float | Autoboxing | Math Java Visualizations: Autoboxing and unboxing References: Numbers Autoboxing and unboxing Beyond basic arithmetic Numbers What is Autoboxing and Unboxing in Java? Why 1000 == 1000 returns false but 100 == 100 returns true in java? Java's implementation of a number pool and it effect on equality J11 Character and String (20 mins) Topics: Character and String Java Visualizations: Arrays of strings with Boggle References: Characters Strings Manipulating characters in a String Comparing strings and portions of strings Relevant ACM Curriculum Learning Outcomes: SDF Fundamental Data Structures 3 J12 Generics (10 mins) Topics: Generics Java Visualizations: Integer linked list Generic linked list References: Generics Why use generics? Generic types Generic methods Relevant ACM Curriculum Learning Outcomes: PL Basic Type Systems 10 PL Basic Type Systems 11 J13 Type Inference (20 mins) Topics: Type Inference References: Generic Type Inference Java 10 Local Variable Type Inference Lambda Expressions: Target Typing Relevant ACM Curriculum Learning Outcomes: PL Basic Type Systems 6 J14 Collections (150 mins) Topics: Collections | forEach | Ordering collections References: Introduction to collections Collections interfaces The Collection interface Collection implementations The Set interface The Set implementation The List interface The List implementation The Map interface The Map implementation Aggregate operations forEach Object Ordering Comparable Comparator Prefer lists to arrays Relevant ACM Curriculum Learning Outcomes: SDF Fundamental Data Structures 3 J15 Exceptions (25 mins) Topics: Java Exceptions | Catch or specify References: Exceptions What is an exception? The catch or specify requirement Catching and handling exceptions Exception handling Relevant ACM Curriculum Learning Outcomes: IAS Defensive Programming 4 SE Software Construction 2 SF Reliabilitythrough Redundancy 1 J16 Threads (60 mins) Topics: Thread and Runnable | start(), join() and sleep() | Races and synchronized References: Concurrency Thread objects Defining and starting a thread Pausing execution with sleep Joins A simple threads example Synchronization Thread interference Memory consistency errors Synchronized methods Concurrency Thread Process Relevant ACM Curriculum Learning Outcomes: OS Scheduling and Dispatch 4 IAS Defensive Programming 4 PD Communication and Coordination 1 PL Concurrency and Parallelism 3 Updated: 22 Jan 2021 / Responsible Officer: Head of School / Page Contact: Josh Milthorpe Contact ANU Copyright Disclaimer Privacy Freedom of Information +61 2 6125 5111 The Australian National University, Canberra CRICOS Provider : 00120C ABN : 52 234 063 906 You appear to be using Internet Explorer 7, or have compatibility view turned on. Your browser is not supported by ANU web styles. » Learn how to fix this » Ignore this warning in future