Sample Final CS 143
19.1
Which of the following statements is correct?
A. Generics can help detect type errors at compile time, thus make
programs more robust.
B. Generics can make programs easy to read.
C. Generics can avoid cumbersome castings.
D. Gener
Lesson 4
CS 217
Lesson 4 SQL
1.0 Introduction. SQL is a standardized language (all major databases support it) used to
create, manipulate, examine, and manage relational databases. Its primary function is to
get the data to the database and to get it out
Lab 7
CS 143
Lab #7Connected Circles
Objectives:
Introduce JavaFX.
Implement DFS to solve connected circles problem.
Problem Statement I: The connected circles problem is to determine whether all circles in a
two-dimensional plane are connected. This pr
Lab 7
CS 143
Lab #7Connected Graph
Objectives:
Test whether a graph is connected.
Find a shortest path for a connected graph.
Desing interface Graph, abstract class AbstractGraph and two derived classes:
UnweightedGraph and WeightedGraph.
Problem State
Lab 10
CS 143
Lab #10JavaFX Scene Builder
Objectives:
Install JavaFX Scene Builder.
Create simple JavaFX FXML project.
Problem Statement I: This part of the lab provides information on how to download and
install JavaFX Scene Builder 2.0 on a Windows sy
Lab 9
CS 143
Lab #9Dijkstra's Algorithm
Objectives:
Find a minimum a minimum path in a undirected connected weighted graph using Dijkstrals
algorithm.
Use different set of classes for solving a famous graph problem.
Problem Statement I: Dijkstra's algor
Lab 6
CS 143
Lab #6MySQL Workbeach
Objectives:
Use MySQL Workbench to create data models.
Connect to MySQL database from the NetBeans IDE.
Problem Statement I: From https:/netbeans.org/kb/docs/javaee/ecommerce/datamodel.html. This lab focuses on data mo
Lab 8
CS 143
Lab #8Minimum Spanning Tree
Objectives:
Find a minimum spanning tree for a undirected connected graph.
Desing interface Graph, abstract class AbstractGraph and two derived classes:
UnweightedGraph and WeightedGraph.
Problem Statement I: Giv
Lab 2-Heapsort With File I/O
CS 143
Lab #2Heapsort With File I/O
Objectives:
Introduce file I/O.
Use a classic sorting algorithm: Heapsort.
Review the binary tree ADT.
Analyze the time complexity for the Heapsort algorithm.
Sorting is a classic problem in
Lab 3-Heapsort With Generics
CS 143
Lab #3Heapsort With Generics
Objectives:
Introduce Generics.
Use a classic sorting algorithm: Heapsort.
Review the binary tree ADT.
Analyze the time complexity for the Heapsort algorithm.
Sorting is a classic problem in
Lab 5
CS 143
Lab #5Part Deux: MySQL Database
Objectives:
Show how to install Install MySQL.
Connect to MySQL database from the NetBeans IDE.
Problem Statement I: From http:/dev.mysql.com/usingmysql/get_started.html:
One of the reasons MySQL is so popula
Lab 1-Tower of Hanoi
CS 143
Lab #1Tower of Hanoi
Objectives:
Introduce recursion.
Solve a classic problem.
Provide a non-recursive solution for a recursive problem.
Introduce algorithmic analysis for a classic problem.
The Tower of Hanoi (also called the
Chapter 10
CS 142
Chapter #10 Polymorphism, Abstract Classes, Inner Classes
and Interfaces
10.1 Introduction to Polymorphism. When you create a new subclass by extending an
existing class, the new subclass contains data and methods that were
defined in th
Lesson 28
CS 143
Lesson 28Graph Theory
28.0 Introduction. Graph Theory is the study of graphs, which
are mathematical structures used to model pairwise relations
between objects. A graph in this context is made up of vertices or
nodes and line segments (o
Lesson 0
CS 217
Lesson 0 Introduction to Databases
Once upon a time, in the primitive and barbarian days before computers,
the amount of information shepherded by a group of people could be
collected in the wisdom and the stories of its older members. In
Lesson 12
CS 143
Chapter #12Algorithm Efficiency
12.0 Introduction. An algorithm is considered to be efficient if its computational cost is at or
below some acceptable level. The question then is what constitutes the cost and how does one
compare competin
Lesson 28
CS 143
Lesson 28Graph Theory
28.0 Introduction. Graph Theory is the study of graphs, which
are mathematical structures used to model pairwise relations
between objects. A graph in this context is made up of vertices or
nodes and line segments (o
Chapter 14
CS 142
Chapter #14 Exception Handling
14.0 Introduction. In a perfect world, users would never enter data in the wrong form,
files they choose to open would always exist (in sound state), and code would never have
bugs. In the real world, we en
Chapter 9
CS 142
Chapter #9 Inheritance
9.0 Introduction. This chapter investigates inheritance and software reusability in Java.
Topics include superclasses and subclasses, abstract classes, overriding superclass methods,
protected and package access mod
Chapter 8
CS 142
Chapter #8 OOP Concepts: Designing Classes
8.0 Introduction. This chapter investigates object orientation in Java as it pertains to goal
of designing classes. Throughout our applet and application construction we used classes
from the Jav
Lesson 19
CS 142
Lesson #19Data Structures
19.1 Introduction. We have studied fixed-size data structures such as single and doublesubscripted arrays. We used ArrayList objects as a one size fits all structure for
collecting objects. This chapter introduce
Lab 5
CS 143
Lab #5Java Derby Database
Objectives:
Configure, regiter, and connect to a Database using Apaches Derby.
Create and delete tables.
Add data to the tables.
Problem Statement I: Apache Derby (previously distributed as IBM Cloudscape,
http:/d
Lab 4
CS 143
Lab #4Producer/Consumer Problem
Objectives:
Practice using threads.
Use locks and conditions to solve a classic problem.
Review use of queues.
Problem Statement I: The producer/consumer problem (also known as a
bounded-buffer problem) is a
Spring 2014
CS 143
HMW #1
1.
2.
3.
4.
5.
Read Lesson 12, Chapter 13, sections 13.1-13.4.
Read a bit of Java I/O history at http:/www.javaworld.com/javaworld/jw-11-1997/jw-11-howto.html.
Do exercises R13.1-R13.17, the odd ones.
Do exercises P13.3, P13.5.
A
Lesson 18
CS 143
Lesson #18Java Database Connectivity (JDBC)
18.0 Preface. The JDBC API is a Java API for accessing vitually any kind of data. The
JDBC API consists of a set of classes and interfaces written in Java that provide a standard
API for tool/da
Many algorithms, particularly divide and conquer algorithms, have time complexities which are naturally modeled by recurrence relations. A recurrence relation is an equation which is de ned in terms of itself. Why are recurrences good things? 1. Many natu
Lesson 15
CS 143
Lesson #15Multithreading
15.0 Preface. When the Java language was first released, the two features that many
programmers found most exciting were the support for multithreaded programs and the
support for network communications. Java was