CS-140 Sect. B
Lectures
Fall 2020
home
 
Lecture Video
Due Date
Source Code
Review Questions
Oracle Tutorials
W3School Tutorials
javaTpoint Tutorials
Java2s Tutorials
GeekForGeeks Tutorials
Other References
L01 Intro to CS140
---
Zoom Recording
Wed. Aug 26 2:20-3:20
Zoom Recording
Fri. Aug 28 2:20-3:20
Lecture Notes
N/A
---
---
---
---
---
Class Web Page
L02
Meet the Professor
Aug 31
Lecture Notes
N/A
---
---
---
---
---
Prof. Bartenstein's Home Page
L03
Java Hello World
Aug 31
Lecture Notes
HelloWorld.java
Hello World Questions
HelloWorld
Getting Started
Basic Excercises
What is Java?
Introduction
How to start learning Java
Matt Helm's
Hello World
Page
NewThinkTank
Learn Java in 30 minutes
video
L04
Development Environment - Installation
Aug 31
Lecture Notes
---
---
---
---
---
---
Class Web Page - Development Environment
L05
Development Environment Demonstration
Sep 07
HelloWorld.java
---
---
---
---
---
---
Class Web Page - Development Environment
L06
Introduction to Git
Sep 07
Lecture Notes
Git Questions
---
---
---
---
GitHub Intro
Class Web page:
Using GitHub
Git Reference Manual
The GIT Introduction Tutorial
Atlassian
Git Tutorials
GitHub
Resources to learn Git
L07
Using Git - Terminal Mode
Sep 07
Test Invitation
Using Git Questions
---
---
---
---
---
Class Web page:
Using GitHub
L08
Introduction to Object Oriented Programming
Sep 07
Lecture Notes
Factorial.java
Object Orientation Questions
OOP Concepts
What is OOP
OOP Concepts
OOP Concepts
Classes and Objects
New Think Tank
Object Oriented Design
Video
L09
Writing Java Code
Sep 07
Lecture Notes
Car.java et. al.
Writing Java Code Questions
Classes and Objects
---
---
Defining Classes
Hello World
---
L10
Compiling and Running Java Code
Sep 07
Lecture Notes
HelloWorld.java
Compiling/Running Questions
Hello World
Getting Started
First Java Program
Introduction
Java Programming Basics
Matt Helm's
Compiling
Java Ranch:
How to create your first Java program
L11
Java Packages
Sep 14
Lecture Notes
race package
Java Packages Questions
Packages
Packages
Package
---
Packages
---
L12
Java Fields
Sep 14
Lecture Notes
Java Fields Questions
Classes
Classes
Objects and Classes
Data Types
(2.1-2.14)
Class Definition
Classes and Objects
---
L13
Using Java Fields
Sep 14
Lecture Notes
Using Java Fields Questions
L14
Classes as Types & Reference Variables
Sep 14
Lecture Notes
Classes as Types Questions
Objects
More on Classes
---
---
Class Fields
Classes and Objects
---
L15
Defining Methods Part I
Sep 21
Lecture Notes
Defining Methods I Questions
Language Basics
Contents Page
See the
Java Tutorial
section for languages basics, and the
Java Methods
section for more on method definition.
Method
Defining Method
Methods
---
L16
Defining Methods Part II
Sep 21
Lecture Notes
methods package
Defining Methods II Questions
L17
Invoking Methods
Sep 21
Lecture Notes
methods package
Invoking Methods Questions
L18
Object Life Cycle
Sep 28
Lecture Notes
dll package
Object Life Cycle Questions
Creating Objects
Using Objects
Constructors
Constructors
Garbage Collection
Creating Constructors
Constructors
Garbage Collection
---
L19
Java Arrays
Sep 28
Lecture Notes
myArray package
Java Arrays Questions
Arrays
Arrays
Arrays
Collections
9.3-9.10
Arrays
Matt Helm's
Working with arrays
L20
Programming Arrays
Sep 28
Lecture Notes
myArray package
(updated)
Programming Arrays Questions
L21
Shared References
Sep 28
Lecture Notes
movingShapes package
copyShapes package
immutableShapes package
Shared References Questions
---
---
Immutable Classes
Immutable Objects
Immutable Classes
---
Test 01 covers L01-L21
L22
Number Representation
Oct 05
Lecture Notes
Number Representation Questions
Primitive Data Types
Data Types
Data Types
Data Type
Data Types
---
L23
Type Conversion
Oct 05
Lecture Notes
typeConv package
Type Conversion Questions
Numbers and Strings
Expressions, Statements, and Blocks
Java Type Casting
Strings
Tutorials
Expand the
Java Conversion
section on the left
Data Types
2.13-2.18, 2.36-2.37
Type conversion
---
T2
Using Eclipse
Oct 05
Lecture Notes
Questions
---
---
---
---
---
Eclipse Documentation
IBM (Steve Perry) Install/Getting Started Video
vogella Install/Getting Started tutorial
Tutorialspoint Eclipse Tutorial
Java Tutorial Network Getting Started
Software Testing Help Eclipse Tutorials for Beginners
L24
Inheritance
Oct 12
Lecture Notes
rawShapes package
inherShapes package
Inheritance Questions
What is Inheritance?
Inheritance
Inheritance
Inheritance
Inheritance
Inheritance
---
L25
Subtypes
Oct 12
Lecture Notes
subtype package
Subtypes Questions
Overriding and Hiding Methods
Inheritance
Inheritance
Inheritance
---
---
L26
Dynamic Types
Oct 12
Lecture Notes
Dynamic Types Questions
Multiple Inheritance
Inheritance
Static and Dynamic Binding
Downcasting and Run-Time Type Identification
Compile Time vs. Run-Time Polymorphism
---
L27
Overriding Methods
Oct 19
Lecture Notes
inherShapes package
Overriding Methods Questions
Overriding and Hiding Mehods
---
Method Overriding
Method Override
Overriding
---
L28
Polymorphism
Oct 19
Lecture Notes
poly package
Polymorphism Questions
Polymorphism
Polymorphism
Java Tutorials
See
Java Polymorphism
in the contents on the left
Polymorphism
Polymorphism
JavaRanch
How my Dog Learned Polymorphism
L29
The Universal Class
Oct 19
Lecture Notes
inherShapes package
(Modified)
Universal Class Questions
Object as a Superclass
---
Object Class
All Classes Descend from Ojbect
Object class
equals() and hashCode() methods
---
L30
Abstract Methods
Oct 26
Lecture Notes
inherShapes package
with abstract methods
inherShapes package
with "bad" methods
Abstract Methods Questions
Abstract Methods and Classes
Abstraction
Abstract Class
Abstract Class
Abstract Classes
---
L31
Enumerations
Oct 26
Lecture Notes
demoEnum package
Enumerations Questions
Enum Types
Enums
Enums
Enum
enum
---
L32
Throwing Exceptions
Oct 26
Lecture Notes
Throwing Exceptions Questions
How to Throw Exceptions
throw keyword
throw exception
Demonstrate throw
throw and throws
---
L33
Catching Exceptions
Oct 26
Lecture Notes
Catching Exceptions Questions
Catching and Handling Exceptions
Exceptions Try...Catch
Exception Handling
Exception
Exceptions
---
L34
Checked Exceptions
Oct 26
Lecture Notes
XmpChecked.java
Checked Exceptions Questions
Specifying Exceptions Thrown
Unchecked Exceptions - The Controversy
Throws keyword
throws keyword
Types of Exceptions
Checked Exceptions defined in java.lang
Is Checked Exception
Checked vs. Unchecked Exceptions
---
L35
Interfaces
Nov 02
Lecture Notes
Interfaces Questions
Interfaces
Interaces
Interface
Interface
Interfaces
---
L36
Collections
Nov 02
Lecture Notes
Collections Questions
Collections
ArrayList
(see also LinkedList, HashMap, HashSet, and Iterator)
Collections
Collections
Collections
---
L37
Using Collections
Nov 02
Lecture Notes
Using Collections QUestions
Practice Test2 Answers
Test 02 covers L22-L37
L38
Measuring Performance
Nov 09
Lecture Notes
Measuring Performance Questions
---
---
---
---
---
Wikipedia
Big O notation
L39
Sorting
Nov 09
Lecture Notes
Sorting Questions
Collections Sorrting
Arrays.sort()
Collections.sort()
---
Difference between Comparable and Comparator
Array Sort Search
Collections Sort
Sorting
Sorting Algorithms
Wikipedia
Sorting Algorithm
L40
QuickSort
Nov 09
Lecture Notes
QuickSort Questions
---
---
quick-sort
simple version of quick sort
garbage-free randomised quicksort
QuickSort
Wikipedia
Quicksort
Includes a very cool Quicksort animation
L41
Searching
Nov 16
Lecture Notes
Searching Questions
---
HashMap
Working of HashMap
HashMap
HashMap
with Examples
Internal Working of HashMap
Wikipedia
Hash table
L42
First Class Functions
Nov 16
Lecture Notes
l42 package
1st Class Functions Questions
---
Inner Classes
Inner Classes
Anonymous inner class
Inner class
---
L43
Lambda Expressions
Nov 30
Lecture Notes
None Available
Lambda Expressions
Lambda Expressions
Lambda Expressions
---
Lambda Expressions
Wikipedia
Lambda Calculus
Wikipedia
Anonymous function
L44
Graphical User Interfaces
Nov 30
Lecture Notes
None Available
---
---
---
---
---
Wikipedia
Graphical User Interface
Wikipedia
X Window System
Due so far
L45
Introduction to Swing
Dec 04
Lecture Notes
None Available
Creating a GUI with Swing
---
Swing Tutorial
Swing
Java Tutorial
Click on the Search icon (magnifying glass), and enter "Java Swing" to get several more detailed tutorials
Wikipedia
Java Swing
L46
Swing Components
Dec 04
Lecture Notes
None Available
L47
Swing Containers
Dec 04
Lecture Notes
None Available
L48
Swing Run Time
Dec 04
Lecture Notes
None Available