Note: Schedule is subject to change.
| Day |
Topic |
Assignment Due |
| Week 1: Introduction |
| Monday 8/23 |
Introduction to the class
slides
|
|
| Wednesday |
Java and IntelliJ introduction
Compiling and running a program
How a program executes
slides |
Due before class on Wednesday:
1. Download and install IntelliJ, Community version.
2. Create a post introducing yourself on Piazza.
|
| Friday |
Java introduction cont.
slides
| |
| Week 2: Foundations |
| Monday 8/30 |
Graphic programs using Leah's Screen class
Coordinates in Java
Interactive drawings
Screen class
Screen example
slides
| Assignment 1: Short Essay: What Excites you about Computing? |
| Wednesday |
Expressions and operations
Variables and data types
Ovals
Strings
Fonts
slides |
|
| Friday |
Conditionals: if
Lines
Style guidelines
slides |
|
| Week 3: Methods |
| Monday 9/6 |
NO SCHOOL, LABOR DAY
|
Assignment 2: First programming assignment |
| Wednesday |
Methods
slides
|
|
| Friday |
Methods cont.
Code structure
Loops: while
Methods.java
slides |
UNM DROP DEADLINE |
| Week 4: Loops, Arrays, and Returning to Basics |
| Monday 9/13 |
Loops: for and while
Variables and scope
Random numbers
slides
|
|
| Wednesday |
Arrays
slides |
|
| Friday |
Arrays cont.
Type conversion/casting
Random ints
The tab character
Scanner and getting input
slides |
Quiz 1 |
| Week 5: Arrays + Classes and Objects |
| Monday 9/20 |
2D Arrays
Nested for loops
slides |
|
| Wednesday |
Classes and Objects
What is a class? What is an object?
Instance variables
Constructors
Methods
slides |
|
| Friday |
Classes and Objects cont.
Building graphics from the ground up
Frames and Panels
Basic frame and panel example code:
MyFrame.java
MyPanel.java
slides |
Assignment 3: Arrays |
| Week 6: Classes and Objects |
| Monday 9/27 |
Classes and Objects cont.
Animation
Frame rate
A bouncing ball
slides
|
|
| Wednesday |
Classes and Objects cont.
static keyword
static methods
Randomizing ball creation
slides |
|
| Friday |
Classes and Objects cont.
Arrays of objects
slides |
Quiz 2 |
| Week 7: Interactivity and Debugging |
| Monday 10/4 |
Collision detection
slides |
|
| Wednesday |
Keyboard input
Special guest speakers
slides |
|
| Friday |
Debugging |
Assignment 4: Classes and Objects |
| Week 8: Midterm Review |
| Monday 10/11 |
Review
slides |
|
| Wednesday |
Review
slides |
Midterm |
| Friday |
NO CLASS, FALL BREAK |
|
| Week 9: Debugging & Interactivity |
| Monday 10/18 |
IntelliJ Debugger
Mouse Input
MouseMotionListener
Interactivity with mouse movement
slides |
|
| Wednesday |
Mouse Input cont.
MouseListener
Interactivity with mouse clicks
A simple drawing application
slides |
|
| Friday |
Finishing the drawing application
DrawingApplication.java
slides |
|
| Week 10: Recursion |
| Monday 10/25 |
Factorial
The stack
Push and pop
Leah's Simple Turtle Library for Java
BasicPanel.java
slides
|
|
| Wednesday |
Trees and other fractals
Introduction to LOGO
slides |
|
| Friday |
Trees and Turtles
Introduction to L-Systems
slides |
Quiz 3 |
| Week 11: Fractals and L-Systems |
| Monday 11/1 |
L-Systems cont.
Strings and parsing text
Drawing L-Systems with a Turtle
Koch curves
slides |
|
| Wednesday |
More complex L-Systems
Adding rules and symbols
slides |
|
| Friday |
L-Systems cont.
Modeling natural structures: plants
Adding randomness
slides |
|
| Week 12: Cellular Automata |
| Monday 11/8 |
Introduction to cellular automata
1D Cellular Automata
slides |
Assignment 5: L-Systems |
| Wednesday |
1D Cellular Automata cont.
Wolfram's page on Elementary Cellular Automata
slides |
|
| Friday |
2D Cellular Automata
BasicPanel.jar
BasicPanel.java
slides |
Quiz 4 |
| Week 13: Cellular Automata cont. |
| Monday 11/15 |
2D Cellular Automata cont.
Conway's Game of Life
slides
|
|
| Wednesday |
Cellular Automata cont.
Adding a user interface
slides |
|
| Friday |
Cellular Automata cont. |
Assignment 6: Cellular Automtata |
| Week 14: Data Visualization |
| Monday 11/22 |
Importing data from a csv file
Using Scanner class for files
Scanning lines of text from a file
FileNotFoundException
abq_weather.csv
NOAA weather data
slides
|
|
| Wednesday |
Parsing data cont.
Separating Strings that contain commas, split method
Getting an integer value from a String, valueOf method
slides
|
|
| NO CLASS, THANKSGIVING BREAK |
| Week 15: Data Visualization |
| Monday 11/29 |
Data Visualization
Bar graphs
Getting an string value from an int, valueOf method
slides
|
|
| Wednesday |
Data Visualization cont.
Scaling
Data cleaning
abq_weather_cleaned.csv
slides
|
|
| Friday |
Data Visualization cont.
Data smoothing
Calculating and plotting a moving average
slides |
Quiz 5 |
| Week 16: Review |
| Monday 12/6 |
Review
slides |
|
| Wednesday |
Review |
Assignment 7: Data Visualization |
| Friday |
Review |
|
| Week 17: FINALS WEEK |