Java -
Overview -
COMP1110
Skip navigation Structured ProgrammingANU College of Engineering & Computer Science Structured Programming ANU College of Engineering & Computer Science Search query Search ANU web, staff & maps Search COMP1110 Lectures Labs Assessments Help COMP1110 Labs Assessments Help Search COMP1110 lectures Overview Admin Introduction Java Object Orientation Software Engineering Core Computer Science Abstract Data Types JavaFX Guest Lectures Biographies Revision Bonus related sites Piazza » Overview » Java Java J1 Introductory Java 1 (15 mins) Topics: Imperative programming languages | Java Standard Library | Types | Hello World Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. References: Nested classes Nested classes J9 Lambda Expressions (20 mins) Topics: Lambda expressions Your browser does not support HTML5 video. Java Visualizations: Lambda References: Lambda expressions Method references J10 Number, Autoboxing (15 mins) Topics: Number, Integer, Short, Float | Autoboxing | Math Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. 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 Your browser does not support HTML5 video. 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: 19 Sep 2017/ 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