Preparation and Setup
  • Welcome and Course Goals
  • What is Programming?
  • Install BlueJ with the Combined Installer
  • Using BlueJ
  • Typing {} [] /\ ' and " - and some Notes on Touch Typing
  • Using BlueJ's Debugger Tool
  • Practice: Creating and Running Programs (Assignment 1)
  • What did I just type in? Concepts and Vocabulary for Source Code
  • Troubleshooting Your Typing (Printable Guide)
Text, Numbers, and Interaction
  • Practice: Story Time
  • Practice: A Poem
  • Learning Strategies
  • Ask Questions and Fill in the Blank - Input and Variables
  • Numbers vs Text: Planning Variables and Data Types
  • Scanner, Keyboard Input, and Skipping the Newline Character
  • Practice: Grocery List (Download Requirements PDF)
  • Challenge: Treasure Chest
  • Variables - Will It Compile?
  • How to Experiment with Code
  • Casting in More Depth
  • Freestyle: Questions and Answers
Decision Making and Program Flow
  • This Path or That One? Part 1: Comparisons
  • This Path or That One? Part 2: If Statements
  • Practice: Sandwich Shop
  • Indenting Code Properly
  • Comparisons with Strings
  • Practice: Entertainment Suggestions
  • Printing, Variables, and If Statements
  • A Special Message
  • Flowcharts - Software Planning Diagrams
  • Iterative Design with Flowcharts and Pseudo-code
  • Practice: Decisions, Flowcharts, and Pseudo-Code, Oh my! Cat and Mouse
  • Boolean Combinations
  • Boolean Combinations Practice
  • Demos, Collaboration, and Self-Evaluation Checklists
  • Freestyle: Interactive Story
  • Self-Evaluation Checklist: Variables, Conditions, If, Input/Output
Introducing Methods
  • Defining and Calling a Method or Function
  • Practice: Verse and Chorus with Methods
  • Method Input Parameters
  • Method Return Values (many sample code downloads)
  • Practice: Calculator Methods
  • Practice: Count to Ten in English and Spanish
  • Challenge: Pretty Dates
  • Practice: Many Methods
  • Method Signatures
  • Challenge: Leap Years and Test-First Development
  • Freestyle: Function Junction
Running in Circles: Loops and Repetition
  • While Loops: Keep Going Until Done
  • Practice with While: Are We There Yet?
  • Examining the Sections of a Loop
  • Practice with While: Adding Machine
  • Practice with While: Thank You Letter, Mail Merge
  • Practice: Count to 30
  • Practice: Count to 100 by 5's
  • Do-while Loops: Do it at least once
  • Practice with Do-While: Validating Inputs
  • A Roll of the Virtual Dice: Random Numbers
  • Practice: Guess My Number
  • Counting Made Easier: For Loops
  • Practice with For Loops 1
  • Practice with For Loops 2
  • Nested Loops
  • Practice: Print the Multiplication Tables
  • Challenge: Multiplication Tables Grid
  • Challenge: Color Patterns
  • Freestyle: Loops
  • On Independent Learning
Arrays, Characters, and Text Manipulation
  • Arrays
  • Practice: Number Arrays
  • ASCII and Other Character Encodings
  • Practice: Print the Ascii Chart
  • Practice: Letters to Numbers, Numbers to Letters
  • Practice: Lower to Upper
  • Bits, Bytes, and Binary: Part 1
  • Binary Arithmetic: Part 2
  • Hexadecimal Numbers
  • Practice: Hidden Message
  • Clearing the Screen in BlueJ from Code
  • Multi-Dimensional Arrays
  • Practice: Temperatures
  • Freestyle: Data and Logic
  • Capstone Challenge: Tic Tac Toe
Object-Oriented Coding: Classes and Methods
  • Roadmap to the Next Phase of Learning: Code Structure and Organization
  • Object-Oriented Concepts: What is a Class
  • Object-Oriented Concepts: Variable Scope and Shadowing
  • Object-Oriented Concepts: Public/Private and Get/Set Methods
  • Object-Oriented Concepts: Static vs Instance
  • Object-Oriented Concepts: Static Code Syntax
  • From Requirements to Classes: Ice Cream Shop Part 1/2
  • From Requirements to Classes: Ice Cream Shop Part 2/2
  • Using BlueJ's Object-Oriented Practice Tools
  • Null Pointer Exceptions and Arrays of Classes