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 |