BU Logo 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 TutorialsSee 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