CS-0401 Syllabus

Online Office Hoursclick here to chat with me

Mondays Online Lectures (between 5:50 to 8:30 pm)

Thursdays Online Lectures (between 5:50 to 8:30 pm)

  • Important Notes:
  • dates in blue are for Monday Sessions.
  • dates in red are for Thursday Sessions
Date Lecture Topics Lecture Activities
Before Course Starts

Download Java and Netbeans and make sure it is working. Even though there are more recent versions of both applications, please considering using the Java 8 and Netbeans 8.2 as shown in the videos below. They tend to be more stable than the new versions (at least for this course).

Windows Installation
Mac Installation
Testing Installation

 

Jan 6

Jan 9

Quick review on the following topics:

In Class Hands-on Programs:

Lab Activity:

  • First week of class, no recitation/lab.

Jan 13

Jan 16

Ways of entering data into a program:

Java exceptions in methods

  • Real world example
  • Try and catch exception
  • Method throwing an exception

In Class Hands-on Programs:

Lab Activity:

 

Jan 20 Dr. Martin Luther King  
Jan 27
Jan 23

Arrays:

Methods:

In Class Hands-on Programs:

Lab Activity:


Feb 3

Jan 30

1st Exam - First half of the class

Chapter 6: A First Look at Classes

  • The main idea behind Objects and Classes
    • What is OOP
    • Objects: Real World Examples
    • Classes (blue print): Real World Examples of where the objects come from
  • The major components of a class
    • Main idea of what constitute an object in real world
    • Object Features: Class fields
    • Things we can perform on the object: Class methods
    • Separated Java file for our class (blue print)
  • How to create objects (instances)
    • the new operator
    • object fields (from the class fields)
    • object methods (from the class methods)
      • how to access methods (the dot operator)

In Class Hands-on Programs:

Lab Activity:

Feb 10

Feb 6

First Look at Classes (continuation):

  • Data encapsulation
    • The problem of having a public class fields
    • Solution:
      • private variables
      • getters (aka Accessors)
      • setters (aka Mutators)
  • Class Constructors
    • General idea
    • Default constructors
      • when should be used
    • Non-Default constructors
    • Overloading Constructors

In Class Hands-on Programs:

Lab Activity:

Feb 17

Feb 13

Second Look at Classes:

In Class Hands-on Programs:

  • Using static variables and methods from Math Class
  • Creating a Student App that exercises all the concepts learned in this lecture

Lab Activity:

Feb 24

Feb 20

Inheritance and Polymorphism:

In the Class Hands-on Programs:

The Bike Store App:

Lab Activity:

  • Reproduce the Bike Store App in your computer

Solution of the 1st Exam

1st Exam Extra Credit

Assigment #1:

Case Study:

Mar 2

Feb 27

March 2: Second Exam for Monday Lectures

March 5: Second Exam for Thursday Lectures

 

 Lab Activity:

Assigment #2:

  • Second part of Netfliz App

Exam Preparation Exercises

Mar 9

Mar 12

Spring recess whole week

 Solution of 2nd Exam

Mar 16

Mar 19

Corona Virus related recess week

 

Mar 23

Mar 26

Java Graphical User Interface (GUI)

  • The main idea behind JavaFX
  • How to download SceneBuilder Gluon
  • How to link it with NetBeans IDE
  • Testing Installation by creating a simple JavaFXML program

The Overall structure of a JavaFXML program:

  • The general idea of having a view and a controller classes (real-world example)
  • The view and controller classes in Java
    • The FXMLDocument (the view)
    • The FXMLDocumentController (the controller)

SceneBuilder Quick Tour

  • Properties, Layout, and Code Inputs
  • Creating an On Action event
  • The FX:id property
  • Defining the Java Controller class
    • JavaFX fields
    • JavaFX methods

JavaFXML GUI Components:

Lab Activity:

  • Create the Car Dealer GUI as shown in the video below

Part 01

This week recorded lectures

 Mar 30

Apr 2

 Abstract and Interfaces Classes

Exceptions:

(Note: Series of great videos from youtube)

 Lab Activity:

  • Create the Car Dealer GUI as shown in the video below

Part 02

Incomplete Source Code

Few Helpful JavaFXML most common error fixes (Thanks Yuliang)

Recorded Lecture on Abstract and interfaces

April 06

April  09

Chapter 11

Java Exceptions (continued):

  • How to properly close a file during an exception
  • finally block
  • the problems of code duplication in a finally block
  • Try with resources option
  • Retrieving the default exception message
  • Creating your own Exceptions

Binary Files:

  • Creating and writing into a binary file
    • The PrintWriter
    • The DataOutputStream
  • Reading data from a binary file
  • Writing and reading Strings
  • Random Access to Binary Files
    • RandomAccessFile Class
    • The File pointer (the seek method)
    • How many bytes to skip? (CHAR_SIZE)
  • Object Serialization:
    • Paintbrush project
    • What is really saved in the file?
    • Serializable Interface
    • Writing some shapes into a binary file
    • Reading some shapes from a binary file
    • Serializing aggregate objects

 Lab Activity: The Bike Display

See video here

Get BikeDisplay Source code skeleton here

Recorded Monday Lecture

Recorded Thursday Lecture

April 13

April 16

General Topics:

  • Enumerated Types
  • Introduction to Wrapper Classes
  • Character Testing and Conversion with the Character Class
  • More String Methods
  • The StringBuilder Class
  • Tokenizing Strings
  • Wrapper classes for the Numeric Data Types

Recursion:

  • Introduction to Recursion
  • Solving Problems with Recursions
  • Examples of Recursive Methods
  • A Recursion Binary Search Method
  • The Towers of Hanoi

 Lab Activity:

No more labs. Check your lab scores and if you have any question contact your lab TA as soon as possible.

This week video-lecture

   Final Exam Video on how to create the Netbeans project for the Final Exam
     
     
     
Apr 16    
Apr 20 Finals week  

Lecture Topics

Lecture

Codes

Course Introduction

Chapter 01 source code

Chapter 01 Slides

Chapter 1: Introduction

 

Chapter 2: Java Fundamentals

Chapter 02 source code

Chapter 02 Slides

Chapter 3: Decision Structures

  • The IF structure
    • IF General Form
      • Real World Example
      • Programming World
      • Execution Path based on the IF condition
    • IF Condition Types
    • String Comparisons
      • Wrong way of comparing Strings
      • How Strings are saved in Memory
      • Methods for comparing Strings
        • String equals()
        • String equalsIgnoreCase()
        • String compareTo()
    • IF-ELSE-IF
      • Flow diagrams to understand IF-ELSE-IF structures
    • IF hands-on
      • A waiter tip calculator
  • Logical Operators
    • Real World Examples
      • AND operator (&&)
      • OR operator (||)
      • NOT operator (!)
      • True/False Tables
    • Programming Examples 
    • Logic Operators Hands-on
  • Switch Structures
    • General Form
    • Comparison with the IF structure
    • The importance of the BREAK
    • The importance of the DEFAULT
  • Number Formatting
    • The problem of not having a formatted number in the program output
    • Java API DecimalFormat class 
      • How to create an object of the DecimalFormat
      • How to define the format style
      • Examples 
      • Hints for aligning numbers on a restaurant bill 
  • Magic Numbers and Enum 
    • What is a magic number 
    • Why is magic number bad
    • Ways of avoiding magic numbers 
      • Creating constant (final) variables 
      • Creating enumerators 
    • Magic Num and Enum Hands-on

Chapter 2 source code

Chapter 02 Slides

Chapter 4: Loops and Text Files

Loops

Processing Text Files

  • Reading Text Files
    • The mechanics of reading/writing data into a file - Real World Example
    •  File Types
      • Binary files
      • Text files
    • Reading files
      • File Class
      • Scanner Class
    • Reading Files Hands-on 
      • Sample code
      • How to read all the contents of a text file
  • Writing Text Files  
    • The PrintWriter class
    • Creating a new output file
    • Appending data to an existing output file
    • Sample code

Java Exceptions

Chapter 3 source code

Chapter 03 Slides

Chapter 7: Arrays

  • Introduction to Arrays
    • Real World Example
    • Programming World
      • Creating 1D arrays
      • Accessing a single data from a 1D array
      • How array data is stored in memory
      • Creating and accessing 2D arrays
  • Multi-dimensional Arrays
    • 3D Arrays
    • 4D Arrays and beyond
    • Slicing ND arrays into an N(D-1) array
  • Array Manipulation
    • Copying an array, the wrong way
    • Copying an array, the right way
    • Increasing an array size
  • Array Hands-on / Part 1
    • Creating an array
    • Adding Values into an Array
    • Looping over an array data
  • Arrays Hands-on / Part 2
    • Increasing an array size
    • Copying array contents
    • Resetting an array
    • Sorting Elements in an Array
    • Creating Multi-dimensional Arrays

Chapter 3 source code

Chapter 03 Slides

Chapter 5: Methods

Chapter 4 source code

Chapter 04 Slides

First Exam  

Chapter 6: A First Look at Classes

  • The major components of a class
    • Main idea of what constitute an object in our real world
    • Object Features: Class fields
    • Things we can perform on the object: Class methods
    • Separated Java file for our class (blue print)
  • Your first class - hands-on activity
    • The Bike Store App
  • Data encapsulation
    • The problem of having a public class fields
    • Solution:
      • private variables
      • getters (aka Accessors)
      • setters (aka Mutators)
  • How to create objects (instances)
    • the new operator
    • object fields (from the class fields)
    • object methods (from the class methods)
      • how to access methods (the dot operator)
  • Class Constructors
    • General idea
    • Default constructors
      • when should be used
    • Non-Default constructors
    • Overloading Constructors
  • Java API: what is it and how to use it

Chapter 06 - Part 01

Chapter 06 - Part 02

Chapter 06 - Part 03

Chapter 06 - Part 04

Chapter 6 source code

Chapter 06 Slides

Chapter 06 - Part 05

Chapter 06 - Part 06

Chapter 06 - Part 07

Chapter 6 source code

Chapter 06 Slides

Chapter 8: Second look at Classes and Objects

  • The static concept
    • Static Class Fields
    • Static Class Methods
    • Math examples of static fields and methods
      • General overview about Method overload
  • Passing and Returning objects to and from methods
    • Quick refresh on the general form of a method
    • The differences of calling a method with a primitive variable and an object
    • Returning objects from methods
    • Calling methods that create objects
  • The toString() Method
    • A quick introduction of class inheritance
    • toString() and equals() inherited methods
      • toString() used along with System.out.print()
    • Overriding the toString() method
    • The @override Java annotation
  • The equals() Method
    • The general idea
      •  the problem of comparing two objects using ==
      • How objects are allocated in memory
      • The .equals() inherited method
      • Overriding the .equals() method

Chapter 08 - Part 01

Chapter 08 - Part 02

Chapter 08 - Part 03

Chapter 08 - Part 04

Chapter 8 source code

Chapter 08 Slides

Chapter 08 - Part 05

Chapter 08 - Part 06

Chapter 08 - Part 07

Chapter 08 - Part 08

Chapter 8 source code

Chapter 08 Slides

Chapter 10: Inheritance, Polymorphism, and much more

  • Introduction
  • Calling superclass constructor
  • Overriding superclass methods and preventing this to happen
  • Protected members
  • Chains of inheritance
  • Polymorphism (instance of)
  • Abstract Classes and Methods
  • Interfaces
  • Anonymous Inner Classes
  • Functional Interfaces and Lambda Expressions

Chapter 10 - Part 01

Chapter 10 - Part 02

Chapter 10 - Part 03

Chapter 10 - Part 04

Chapter 10 - Part 05

Chapter 10 - Part 06

Chapter 10 - Part 07

Chapter 10 - Part 08

Chapter 10 source code

Chapter 10 - Part 09

Chapter 10 - Part 10

Chapter 10 - Part 11

Chapter 10 - Part 12

Polymorphism - Part 1

Polymorphism - Part 2

Polymorphims - Part 3

Chapter 10 source code

Second Exam  
 Chapter 10: Inheritance (continuation)

Abstract Classes and Methods - 01

Abstract Classes and Methods - 02

Chapter 10 source code

Chapter 15: GUI Applications with JavaFX

  • Java GUI History: JFC, AWT, Swing
  • Introduction to Event-Driven programming
  • The Scene Builder Application
  • GUI programming parts
  • GUI components
  • CheckBoxes, Dropdown lists
  • multiple events with single event listener
  • Grouping radio buttons
  • Layout Managers - General Idea

JavaFX videos

Chapter 15 source code

Chapter 15: GUI Applications with JavaFX (cont.)

No videos - Read Textbook Chapter 15

Chapter 15 source code

Chapter 9: Text Processing and Wrapper classes

  • Wrapper classes
  • Character Testing and Conversion
  • Searching for substrings
  • Extracting substrings
  • The static valueOf methods
  • StringBuilder class
  • Tokenizing Strings

No videos - Read Textbook Chapter 9

Chapter 9 source code

Chapter 7: Search and Sorting Algorithms

  • The sequential search algorithm
  • The Selection Sort algorithm
  • The Binary search algorithm
  • The variable-length arguments lists

No videos - Read Textbook Chapter 7

Chapter 7 source code

Chapter 15: Recursion

No videos - Read Textbook Chapter 16

Chapter 16 source code

Chapter 11: Advanced File I/O and Exceptions

Advanced File Input and Output

  • Binary Files
  • Random Access Files
  • Object Serialization
  • Serializing Aggregate Objects

Exceptions

  • Introduction to Exceptions
  • Ways of Handling Exceptions (throwing or catching it)
  • Retrieving the default error message
  • Exceptions and polymorphism
  • Using multiple catch clauses
  • Creating your own exception classes

No videos - Read Textbook Chapter 11

Chapter 11 source code

Final Exam  Defined in CourseWeb

CS-0401 Syllabus

Date Lecture Topics Lecture Activities
Jan 6 Quick review on the following topics:

  • Types of variables
  • Declaring and assignment values to variables
  • Arithmetic Operations
  • The general idea about Java API
  • The Math class
  • Programming style
  • Compiling and Running a Java program
  • Using NetBeans IDE
  • Debugging a program
  • IF statements
  • FOR loops
  • WHILE loops
In Class Hands-on Programs:

  • Hello World program
  • Calculating a triangle area (problem with integer division)
  • Figure out what is the problem by debugging the code
  • Hypotenuse of a right rectangle
  • Waitress Tip Calculator using IF statements
  • LED lights effects using FOR and WHILE loops

Lab Activity:

  • TBD
Jan 13 Ways of entering data into a program:

  • Hard-coded data
  • main (String[ ] args)
  • Keyboard
  • Dialog Boxes
  • Data file

General idea about arrays

  • Create an array
  • Using the String split() method to generate an array
  • Accessing data 
  • FOR loop and arrays
  • 2-D arrays and nested FOR loops
In Class Hands-on Programs:

  • Modify the triangle program from hard-coded values to:
    • main(String[ ] args)
    • Keyboard
    • Dialog Boxes
  • Computing Students final grades based on lab, assignment, and exams data from a text file.

Lab Activity:

  • TBD
Jan 20 Dr. Martin Luther King
Jan 27 Methods

  • Introduction to methods
  • Passing arguments to a method
  • Variable scope inside and outside methods
  • Returning a value from a method
  • Problem solving with methods
  • Learning how to understand the NetBeans online help when selecting a method
In Class Hands-on Programs:

  • Finding the roots of a quadratic equation
  • Black Jack game

Lab Activity and First Assignment:

  • The Tile Game
Feb 3 1st Exam - First half of the class

First Look at Classes

  • Objects and Classes
  • Writing a simple class, step-by-step
  • Instance fields and methods
  • Creating objects/instances
  • Default and Non-default Constructors
  • Passing Objects as arguments
  • Overloading methods and Constructors
  • Scope of Instance Fields
  • Packages and import statements
In Class Hands-on Programs:

  • Create a class based on an object that the students define during this lecture, and then an application that uses this class to create instances (objects) of such class and applying all the class concepts including Lists of objects

Lab Activity:

  • Creating a Test (Exam) Application
Feb 10 Second Look at Classes

  • Static Class Members (see Math Class)
  • Passing objects as arguments to methods
  • Returning objects from methods
  • The toString Method
  • Writing an equals method
  • Methods that copy objects
  • Aggregation
  • The this reference variable
In Class Hands-on Programs:

  • Using static variables and methods from Math Class
  • Creating a Student App that exercises all the concepts learned in this lecture

Lab Activity:

  • TBD
Feb 17
  • Enumerated Types
  • Introduction to Wrapper Classes
  • Character Testing and Conversion with the Character Class
  • More String Methods
  • The StringBuilder Class
  • Tokenizing Strings
  • Wrapper classes for the Numeric Data Types
In the Class Hands-on Programs:

Lab Activity:

  • TBD
Feb 24 Inheritance:

  • What is inheritance?
  • Calling the Superclass Constructor
  • Overriding Superclass Methods
  • Protected Members
  • Chains of inheritance
  • The Object Class
  • Polymorphism
  • Abstract classes and abstract methods
  • Interfaces
  • Anonymous Inner Classes
  • Functional Interfaces and Lambda Expressions
Mar 2 Exceptions and Advanced File I/O:

  • Handling Exceptions
  • Throwing Exceptions
  • Advanced Topics: 
    • Binary Files
Mar 9 Spring recess whole week
Mar 16
Mar 23 Creating GUI with JavaFX and Scene Builder:

  • Introduction
  • Scene Graphs
  • Using Scene Builder to Create JavaFX Applications
  • Writing the Application Code
  • RadioButtons and CheckBoxes
  • Displaying Images
Mar 30
Apr 6 Recursion:

  • Introduction to Recursion
  • Solving Problems with Recursions
  • Examples of Recursive Methods
  • A Recursion Binary Search Method
  • The Towers of Hanoi
Apr 13
Apr 20 Finals week

Lecture Topics

Lecture

Codes

Course Introduction

Chapter 01 source code

Chapter 01 Slides

Chapter 1: Introduction

Chapter 2: Java Fundamentals

Chapter 02 source code

Chapter 02 Slides

Chapter 3: Decision Structures

  • The IF structure
    • IF General Form
      • Real World Example
      • Programming World
      • Execution Path based on the IF condition
    • IF Condition Types
    • String Comparisons
      • Wrong way of comparing Strings
      • How Strings are saved in Memory
      • Methods for comparing Strings
        • String equals()
        • String equalsIgnoreCase()
        • String compareTo()
    • IF-ELSE-IF
      • Flow diagrams to understand IF-ELSE-IF structures
    • IF hands-on
      • A waiter tip calculator
  • Logical Operators
    • Real World Examples
      • AND operator (&&)
      • OR operator (||)
      • NOT operator (!)
      • True/False Tables
    • Programming Examples 
    • Logic Operators Hands-on
  • Switch Structures
    • General Form
    • Comparison with the IF structure
    • The importance of the BREAK
    • The importance of the DEFAULT
  • Number Formatting
    • The problem of not having a formatted number in the program output
    • Java API DecimalFormat class 
      • How to create an object of the DecimalFormat
      • How to define the format style
      • Examples 
      • Hints for aligning numbers on a restaurant bill 
  • Magic Numbers and Enum 
    • What is a magic number 
    • Why is magic number bad
    • Ways of avoiding magic numbers 
      • Creating constant (final) variables 
      • Creating enumerators 
    • Magic Num and Enum Hands-on
Chapter 2 source code

Chapter 02 Slides

Chapter 4: Loops and Text Files

Loops

Processing Text Files

  • Reading Text Files
    • The mechanics of reading/writing data into a file - Real World Example
    •  File Types
      • Binary files
      • Text files
    • Reading files
      • File Class
      • Scanner Class
    • Reading Files Hands-on 
      • Sample code
      • How to read all the contents of a text file
  • Writing Text Files  
    • The PrintWriter class
    • Creating a new output file
    • Appending data to an existing output file
    • Sample code

Java Exceptions

Chapter 3 source code

Chapter 03 Slides

Chapter 7: Arrays

  • Introduction to Arrays
    • Real World Example
    • Programming World
      • Creating 1D arrays
      • Accessing a single data from a 1D array
      • How array data is stored in memory
      • Creating and accessing 2D arrays
  • Multi-dimensional Arrays
    • 3D Arrays
    • 4D Arrays and beyond
    • Slicing ND arrays into an N(D-1) array
  • Array Manipulation
    • Copying an array, the wrong way
    • Copying an array, the right way
    • Increasing an array size
  • Array Hands-on / Part 1
    • Creating an array
    • Adding Values into an Array
    • Looping over an array data
  • Arrays Hands-on / Part 2
    • Increasing an array size
    • Copying array contents
    • Resetting an array
    • Sorting Elements in an Array
    • Creating Multi-dimensional Arrays
Chapter 3 source code

Chapter 03 Slides

Chapter 5: Methods

Chapter 4 source code

Chapter 04 Slides

First Exam

Chapter 6: A First Look at Classes

  • The major components of a class
    • Main idea of what constitute an object in our real world
    • Object Features: Class fields
    • Things we can perform on the object: Class methods
    • Separated Java file for our class (blue print)
  • Your first class - hands-on activity
    • The Bike Store App
  • Data encapsulation
    • The problem of having a public class fields
    • Solution:
      • private variables
      • getters (aka Accessors)
      • setters (aka Mutators)
  • How to create objects (instances)
    • the new operator
    • object fields (from the class fields)
    • object methods (from the class methods)
      • how to access methods (the dot operator)
  • Class Constructors
    • General idea
    • Default constructors
      • when should be used
    • Non-Default constructors
    • Overloading Constructors
  • Java API: what is it and how to use it
Chapter 06 - Part 01

Chapter 06 - Part 02

Chapter 06 - Part 03

Chapter 06 - Part 04

Chapter 6 source code

Chapter 06 Slides

Chapter 06 - Part 05

Chapter 06 - Part 06

Chapter 06 - Part 07

Chapter 6 source code

Chapter 06 Slides

Chapter 8: Second look at Classes and Objects

  • The static concept
    • Static Class Fields
    • Static Class Methods
    • Math examples of static fields and methods
      • General overview about Method overload
  • Passing and Returning objects to and from methods
    • Quick refresh on the general form of a method
    • The differences of calling a method with a primitive variable and an object
    • Returning objects from methods
    • Calling methods that create objects
  • The toString() Method
    • A quick introduction of class inheritance
    • toString() and equals() inherited methods
      • toString() used along with System.out.print()
    • Overriding the toString() method
    • The @override Java annotation
  • The equals() Method
    • The general idea
      •  the problem of comparing two objects using ==
      • How objects are allocated in memory
      • The .equals() inherited method
      • Overriding the .equals() method
Chapter 08 - Part 01

Chapter 08 - Part 02

Chapter 08 - Part 03

Chapter 08 - Part 04

Chapter 8 source code

Chapter 08 Slides

Chapter 08 - Part 05

Chapter 08 - Part 06

Chapter 08 - Part 07

Chapter 08 - Part 08

Chapter 8 source code

Chapter 08 Slides

Chapter 10: Inheritance, Polymorphism, and much more

  • Introduction
  • Calling superclass constructor
  • Overriding superclass methods and preventing this to happen
  • Protected members
  • Chains of inheritance
  • Polymorphism (instance of)
  • Abstract Classes and Methods
  • Interfaces
  • Anonymous Inner Classes
  • Functional Interfaces and Lambda Expressions
Chapter 10 - Part 01

Chapter 10 - Part 02

Chapter 10 - Part 03

Chapter 10 - Part 04

Chapter 10 - Part 05

Chapter 10 - Part 06

Chapter 10 - Part 07

Chapter 10 - Part 08

Chapter 10 source code

Chapter 10 - Part 09

Chapter 10 - Part 10

Chapter 10 - Part 11

Chapter 10 - Part 12

Polymorphism - Part 1

Polymorphism - Part 2

Polymorphims - Part 3

Chapter 10 source code

Second Exam
 Chapter 10: Inheritance (continuation) Abstract Classes and Methods - 01

Abstract Classes and Methods - 02

Chapter 10 source code

Chapter 15: GUI Applications with JavaFX

  • Java GUI History: JFC, AWT, Swing
  • Introduction to Event-Driven programming
  • The Scene Builder Application
  • GUI programming parts
  • GUI components
  • CheckBoxes, Dropdown lists
  • multiple events with single event listener
  • Grouping radio buttons
  • Layout Managers - General Idea
JavaFX videos

Chapter 15 source code

Chapter 15: GUI Applications with JavaFX (cont.) No videos - Read Textbook Chapter 15

Chapter 15 source code

Chapter 9: Text Processing and Wrapper classes

  • Wrapper classes
  • Character Testing and Conversion
  • Searching for substrings
  • Extracting substrings
  • The static valueOf methods
  • StringBuilder class
  • Tokenizing Strings
No videos - Read Textbook Chapter 9

Chapter 9 source code

Chapter 7: Search and Sorting Algorithms

  • The sequential search algorithm
  • The Selection Sort algorithm
  • The Binary search algorithm
  • The variable-length arguments lists
No videos - Read Textbook Chapter 7

Chapter 7 source code

Chapter 15: Recursion

No videos - Read Textbook Chapter 16

Chapter 16 source code

Chapter 11: Advanced File I/O and Exceptions

Advanced File Input and Output

  • Binary Files
  • Random Access Files
  • Object Serialization
  • Serializing Aggregate Objects

Exceptions

  • Introduction to Exceptions
  • Ways of Handling Exceptions (throwing or catching it)
  • Retrieving the default error message
  • Exceptions and polymorphism
  • Using multiple catch clauses
  • Creating your own exception classes
No videos - Read Textbook Chapter 11

Chapter 11 source code

Final Exam  Defined in CourseWeb