CMPS 144 (Computer Science 2)
Fall 2019
Syllabus
Student File Submission System
Teaching Assistants
Office Hours
Test/Quiz Information
Final Exam: 12:45pm ‐ 2:45pm, Wednesday, Dec. 11
Test #1: September 18
Sample Solutions:
Temperature.java
Temperature2.java
Homework Assignments
None yet.
Programming Assignments
Program #1: Reversible Counter
Sample solution
Program #2: KeyPadLock
Sample solution:
KeyPadLock1
KeyPadLock2
Program #3: Arithmetic Expression Evaluation
Sample Solution
Program #4: Maximum Segment Sum, Recursively
Sample Solution
Program #5: Prim's Algorithm (Minimum Spanning Forest)
Lecture Notes
Software Quality
Exceptions
Cloning in Java
A Development of a Counter Class Hierarchy
folder
Loop invariants
Red/Blue Jar of Marbles Game
Introduction to Loop Invariants
Searching an Array: Development of Linear and Binary Search Algorithms
Stacks
All About Stacks
First array-based implementation and application:
StackOfStrings
FPAE_Evaluator
Improvement to generic version:
StackOfT
FPAE_Evaluator2
Alternative linked-based implementation:
Link1
StackViaLink1
Queues
All About Queues
Queue (interface)
QueueViaArray
QueueViaLink1
QueueTestApp application
Recursion-related
:
Intro. to Recursion
Recursive Solutions to Array and String Problems: Three Examples
QuickSort: A Recursive Sorting Algorithm
TowersOfHanoi
BinarySearcher
MergeSorterOfInt
Computational Complexity
Big-Oh Examples
Lists
Positional Lists with Cursors
All About (Positional) Lists
Array-based Implementation of Positional Lists
Recursive Lists
Trees
Binary Trees
AVL Trees
(optional reading)
HeapSort
Heaps and Priority Queues
Huffman Coding/Compression:
Algorithm
Worked Example
Intro to Parallel Algorithms
Example Programs
Dale, Chapter 1
Java Resources
Java Package Hierarchy
(i.e., links to all packages)
Links to particular packages/classes
java.lang
:
Math
String
java.util
:
Scanner
Iterator
ArrayList
Java SE Download
jGrasp IDE
jGrasp Tutorials
(198-page pdf file) (links to separate chapters exist on web page at URL specified in previous hyperlink).
How Java Works
(how stuff works) (Note that the hyperlinks for downloading JDK, etc., on this page are out of date.)
Java "home page"
Java Tutorials
The Java Tutorials
Object-Oriented Programming Concepts
Language Basics
Classes and Objects
Interfaces and Inheritance
Numbers and Strings
Arrays
Generics
Packages
How to Make Frames (Main Windows)
How to Write Doc Comments for the Javadoc Tool
Using Assertions in Java Technology