Readings "Passive" learning opportunities

This page collects together all of the “readings” associated with individual modules.

In this site, readings represent “passive” learning opportunities, as opposed to experiences, which represent “active” learning opportunities. In many courses, readings and experiences together constitute the “assignments”.

Module: Welcome to ICS 211

Guided tour of Morea course websites

How to use this website to succeed in ICS 211

Preparing for ICS 211

What to know in advance of ICS 211

Syllabus

Java Coding Standard

Java Coding Standard

Programming Rubric

General guidelines for how your home work assignments are graded.

SC: Giving Credit

How to give credit for other peoples’ help

Introduction to IDEs

ROI of IDEs, basic capabilities

Eclipse configuration guide

Installation, the ICS-211 formatter, Checkstyle, editor configuration

ICS 314 Eclipse Tricks

Dr. Johnson’s tricks for using Eclipse vol. 1

JUnit Testing and Debugging in Eclipse.

Using Eclipse, JUnit and Debugging to fix a program.

Module: RadGrad

RadGrad in 60 seconds

Why use RadGrad? Two reasons!

RadGrad: Motivation

Why we created RadGrad

Module: Java Review

Text: Appendix A

Introduction to Java

SC: Java Review

Review of the Java Programming Language.

SC: Java Generics

Generic Classes in Java

Module: OOP and Class Hierarchies

Text: 1.1 - 1.2

ADTs and Object-Oriented Programming

SC: ADTs and OOP

ADTs, Interfaces, and introduction to OOP

Text: 1.3 - 1.8

Class Hierarchies

SC: OOP in Java

OOP, polymorphism, and class hierarchies

SC: Java Interface Review

Quick review of Java Interfaces

SC: Java Class Hierarchy Review

Quick review of Java Class hierarchies.

SC: Java Object Equality Review

Review of Object equality.

Module: Big-O Notation

Text: 2.1

Big-O

SC: Big O Notation

Runtime analysis and Big O.

Module: Simple Sorting Algorithms

Text: 8.1 - 8.4

Selection, Bubble, Insertion Sorts

SC: Sorting 1

Introduction to Sorting.

Text: 3.1 - 3.4

Testing

SC: Testing Introduction

An introduction to testing.

Module: Lists

Text: 2.2 - 2.4

List interface and ArrayList implementation.

SC: List ADT

The List Abstract Data Type

Text: 2.5

Single-Linked List implementation

SC: Linked Lists

Linked Lists

Text: 2.6 - 2.7

Double-Linked List and Iterators

SC: Double Linked Lists and Iterators

Lists and Iterators.

Text: 2.8 - 2.9

Lists and the Collections Framework

SC: Java Collection and List ADT

Java Collection and List ADT.

Module: Midterm Exam 1

Midterm 1 Review

Review for Midterm #1.

Module: Stacks

SC: Infix, Postfix, and Prefix Notation

An introduction to Infix, Postfix, and Prefix Notation.

Text: 4.1 - 4.4

Stacks

SC: Stack ADT

An introduction to the Stack.

Module: Queues

Text: 4.5 - 4.6

Queue ADT and Applications

SC: Queue ADT

An introduction to the Queue.

Text: 4.7 - 4.8

Queues and Deques

SC: Queue ADT Continued

An introduction to the Queue, part 2.

Module: Recursion

Text: 5.1 - 5.3

Recursive Thinking

SC: Recursive Thinking

An introduction to the Recursion.

Text: 5.4 - 5.6

Recursive Problem Solving

SC: Recursive Problem Solving

An introduction to Recursion data structures and backtracking.

Recursive Sudoku ideas.

Some ideas for solving Assignment 07.

Module: Midterm Exam 2

Midterm 2 Review

Review for Midterm #2.

Module: Trees

Text: 6.1 - 6.2

Trees and Traversals

SC: Tree ADT

An introduction to the Tree ADT.

Text: 6.3 & 6.5

Binary Trees

SC: Binary Trees and Binary Search Trees

Implementation of Binary Tree and Binary Search Tree.

Text: 6.7

Huffman Trees

SC: Huffman Trees and Codes

Introduction to Huffman Trees.

SC: Binary Data and Java

Dealing with binary data in Java.

Text: 6.6

Heaps and Priority Queues

SC: Heaps and Priority Queues

Introduction and Implementation of a Heap and Priority Queue.

Module: Hash Tables

Text: 7.3

Hash Tables

SC: Hash Tables

Introduction to Hash Tables.

Module: Complex Sorting Algorithms

Text: 8.6 - 8.9

Shell, Merge, Heap, and Quick Sorts

SC: Sorting 2

More efficient sorting.

Module: Final Exam

Course Review

Review of ICS 211.