Schedule (CMPU-102-52, Spring 2017)

Workshop Invitation by the coaches

Date Topic Lecture Notes Readings/Exercises
1/25 Introduction: Comparison of Scheme and Java Lecture 1 Eck book, Ch.2 skip sections 2.3.4 and sections on TextIO,
in section 2.6, skip 2.6.3 and 2.6.5 (do exercises except those covering skipped sections)

Oracle intro to Java

PBD: Exercises 8 through 13
1/30 Primitive Data Types, Variables, Expressions, Assignment Lecture 2 Eck book, Ch.3 (skip sections 3.7 and 3.9) and 4 (skip section 4.6) (do exercises except those covering skipped sections)

PBD: Exercises 14 through 20
2/1 Flow of control Lecture 3 Oracle: Numeric Operators through Oracle: Operator Summary

PBD: Exercises 32 through 40
2/6 Conditional and Switch Statements, arrays Lecture 4 Oracle tutorial Language Basics (all sections)
Do exercises at end of each section

PBD: Exercises 48 through 55 and 64 through 74
2/8 Post lab comments;
switch statement;
arrays;
static methods;
objects, classes and instances
Lecture 5 Oracle: Classes and Objects Read through Nested Classes.
Skip the Nested Classes section and all links below it for now.

Eck book, Chapter 3, sections 1 - 6 and 8;
Chapter 4, sections 2 - 4, Chapter 5, sections 1 - 4
2/13 Writing classes that create objects;
Using the “this” keyword;
Reference and primitive types in memory;
Pass by value
Take notes in class

Lecture 6
Read Eck book, Chapter 5, sections 1 -4,

Oracle: Classes and Objects up to nested classes.
2/15 review of arrays and array notation;
passing and returning arrays from methods;
creating an array of objects;
constructors;
data encapsulation
Lecture 7

Files from lab 3: Person.java
TestPerson.java
Read Eck book, chapter 3, section 8 and Chapter 7, sections 1 and 2 on arrays
2/20 How does Java form hierarchies and why?
superclasses and subclasses;
interfaces and subtypes;
constructors;
super keyword
Lecture 8 Read Eck book, chapter 5, sections 5-7 on inheritance, abstract classes and interfaces

Oracle Tutorial on Inheritance
2/22 Java Inheritance; interfaces; casting a super to subtype Lecture 9 Read Eck book, chapter 5, sections 5-7 on inheritance, abstract classes and interfaces
Reading about inheritance
Reading about random numbers
Reading about constuctors

Oracle Tutorial on Inheritance
2/27 Inner classes
Stacks
Exceptions
Lecture 10 Read Eck book: section 9.2 and 9.3 Linked Lists, Stacks and Queues
Section 5.8 on inner classes
Read section 3.7 and Section 8.3 on Exceptions
3/1 Stacks
Exceptions
Generic types
Lecture 11 Read Eck book: Section 3.8 on arrays
3/6 Review for midterm General overview Oracle Java Tutorial on parameterized types, read first few pages only.
3/8 Returned and reviewed midterm Midterm solutions
Spring Break
3/27 Start of GUI Programming Lecture 12
Save as HelloWorldGUI1.java
Save as ComponentGUI.java
Save as HelloWorldGUI2.java
Read Eck book : before class
Chapter 6:
6.1 (all),
6.2 (all),
6.4.1,
6.5 (all),
6.6.1,
6.6.4
3/29 More GUI Programming Lecture 13 Read Eck book :
Chapter 6:
6.3 (all),
6.2 (all),
6.4 (all)
6.5 (all),
6.6 (all)
4/3 GUI Programming Lecture 14
Click on file, copy all the text, and paste it into a file called SimpleCalculator.java

FileIO.txt
Read Eck book :
Chapter 6:
6.3 (all),
6.2 (all),
6.4 (all)
6.5 (all),
6.6 (all)
4/5 No slides available
4/10 GUI PROGRAMMING and TEXT I/O Lecture 15
Read Eck book : Chapter 11:
11.1.2 (all),
11.1.4 (all)
4/12 Recap of lab 8/homework 5
debugging
2-D arrays
Lecture 16
4/17 2-D arrays Lecture 17
4/19 acm package: simplifying programs

HashMap container.
Concept of hashing.

Heap structure for priority queues.
Lecture 18
4/24 acm package

acm shape components

differences in acm class vs standard java
Lecture 19
4/26 review of important concepts Lecture 20

READ THESE LECTURE SLIDES…THEY ARE REVIEW of MATERIAL LEARNED THROUGHOUT THE SEMESTER
Talk about lab 10
5/1 Implementing interfaces for comparisons
Comparator and Comparable

Analysis of Algorithms
Lecture 21

Classifying algorithms by order of growth: Asymptotic Analysis
Talk about lab 11